He estado buscando una respuesta a la misma pregunta durante algún tiempo para superar el aplanamiento del problema de polígonos de búferes superpuestos y creo que se encontró una solución sólida para eso. De hecho, el comentario de Whuber,
En principio, el centroide, el perímetro y el área aún podrían no
identifique de forma exclusiva un polígono, pero los contraejemplos son un poco ideados.
en la respuesta de @ Paul fue el impulso principal para que siguiera intentando. Utiliza el operador ARE_IDENTICAL_TO de la herramienta Spatial Join ya que es el más eficiente entre otros detectores idénticos. Aquí están los pasos:
- Únase a sus comentarios para mantener todas las formas diferentes entre sí;
- Cree un campo ficticio para mantener / copiar los OBJECTID originales (es decir, OID
tipo de campo) de las filas, diga EX_OID ;
- Ejecutar la unión espacial en la clase de entidad que
Se desea que se procese como parámetros de características tanto de destino como de unión.
Asegúrese de que las asignaciones de campo de los campos ficticios (aparece dos veces)
creado anteriormente tiene la regla de combinación de FIRST (que es la predeterminada)
o elija ÚLTIMO, los otros pueden no dar la salida deseada ya que
usar un resumen de las superposiciones). Este paso recoge la forma común OBJECTID
sentado encima de todas las superposiciones (es decir, PRIMERO);
Los siguientes pasos se pueden realizar de dos maneras, CON Python o SIN:
CON PYTHON
- Use el código a continuación para extraer las ID únicas que queremos encontrar:
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;
- Copie la salida de este código y péguela en la Definición
Consulta de la clase de entidad original procesada como
OBJECTID IN (<PASTE_COPIED_VALUES_HERE>)
. El resultado será
mostrándole las características unificadas de las partes superpuestas. Hay una limitación de tamaño aquí, sin embargo, 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 dummy
Campo OID, que es EX_OID_1 en mi caso;
-
Por último, únase al campo OBJECTID de la clase de entidad original con
la salida de EX_OID_1 de la herramienta Frecuencia seleccionando "Mantener
solo opciones de registros coincidentes.