¿Es posible identificar de forma única cada geometría en una capa de entidades?
Esencialmente tengo una capa de entidades poligonales con muchas filas de datos representadas por la misma geometría. Me gustaría 1 fila para cada geometría única. Así que estoy buscando una metodología lista para usar para combinar atributos basados en la forma de la geometría.
Vengo de un mundo de Postgres y puedo resolver este problema allí, pero no sé cómo hacerlo (o si es posible) hacerlo de manera no programática con las herramientas de ESRI.
arcgis-desktop
arcmap
arcgis-10.0
geometry
Dylan Hettinger
fuente
fuente
Respuestas:
Si tiene una licencia avanzada, puede usar Buscar idéntico o Eliminar idéntico .
Ambos se pueden usar para buscar / eliminar entidades que tienen atributos idénticos o, si se especifica el campo Forma, geometrías idénticas.
Si no tiene una licencia avanzada, esta publicación será útil.
En resumen, agrega dos campos para X, Y en su tabla de atributos y ejecuta Disolver en dichos campos.
Si tiene polígonos que comparten el mismo centroide, pero no son geométricamente idénticos, puede agregar otros dos campos (Perímetro y Área). Eso debería ser suficiente para identificar geometrías idénticas para casi todos los casos normales. Vea los comentarios de @ whuber a continuación.
fuente
Tengo un conjunto de datos basado en datos de encuestas. Mi problema es que las características antiguas no siempre se eliminan antes de importar las nuevas tomas de encuestas. Por lo tanto, tenemos 'duplicados' con geometría diferente: es decir, las tomas de levantamiento pueden estar separadas por 1/4 de pie entre sí. En un conjunto de datos de características 12000, es difícil ampliarlos e identificarlos. Usando ArcMap Basic 10.2: aquí hay un modelo hacky que se me ocurrió.
Reinventé la rueda. Además, me sentí frustrado con el creador de modelos y básicamente hice bulldog. Tiene que haber una solución más elegante. Con mucho gusto aceptaré críticas y sugerencias.
Además, parece que solo se ejecuta correctamente desde Model Builder, ejecuto desde una caja de herramientas y no guarda la capa de búfer.
fuente
He estado buscando una respuesta a la misma pregunta durante algún tiempo para superar el aplanamiento del problema de los polígonos de búfer superpuestos y creo que encontré una solución sólida para eso. De hecho, el comentario de @ Whuber,
en la respuesta de @ Paul fue el impulso principal para mí seguir intentándolo. Utiliza el operador ARE_IDENTICAL_TO de la herramienta de unión espacial , ya que es el más eficiente entre otros detectores idénticos. Aquí están los pasos:
Los siguientes pasos se pueden hacer de dos maneras, CON Python o SIN:
Con pitón
print tuple(set([row.getValue("EX_OID_1") for row in arcpy.SearchCursor("Output_of_the_Spatial_Join_Operation")]))
.Tenga en cuenta que estoy usando la segunda copia del campo OID ficticio, que es EX_OID_1 en mi caso;
OBJECTID IN (<PASTE_COPIED_VALUES_HERE>)
. El resultado le mostrará las características unificadas de las partes superpuestas. Sin embargo, aquí hay una limitación de tamaño, 30,000 caracteres. Para superar este problema, debe seguir los pasos "sin python".SIN PITÓN
Use la herramienta Frecuencia para enumerar valores únicos en la segunda copia del campo OID ficticio, que es EX_OID_1 en mi caso;
Por último, únase al campo OBJECTID de la clase de entidad original con la salida del EX_OID_1 de la herramienta Frecuencia seleccionando las opciones "Mantener solo registros coincidentes".
fuente