¿Arreglando miles de pequeños polígonos superpuestos?

21

Estoy usando ArcMap 10.3.

Tengo una capa de diferentes tipos de uso de la tierra. Descubrí que muchos polígonos se superponen entre sí y, como resultado, el mismo polígono tiene dos tipos diferentes de uso del suelo.

Usando la respuesta de @ radouxju , construí una topología para la capa de uso de la tierra (con la regla de no superponerse). Luego, usé la combinación para arreglar los grandes polígonos superpuestos.

Sin embargo, tengo miles de pequeños polígonos superpuestos. Puedo arreglarlos todos manualmente, lo que llevará tiempo.

¿Hay alguna forma más rápida de corregir todos estos errores?

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


He actualizado el mapa para mostrar todos los tipos de uso del suelo. Los polígonos se superponen entre sí; No astillas.

brillante
fuente
2
¿ Funcionaría la herramienta Integrate para usted?
Fezter
@ Fezter No lo creo porque los polígonos no tienen la misma área y no puedo usar la misma tolerancia XY para toda la capa.
brillante
1
@aelwan: ¿Cuál es tu objetivo con estos datos? ¿Está creando estos datos para que otros los usen (como si usted fuera el creador de los datos)? ¿O está tratando de "limpiarlo" para usarlo en un mapa o análisis? La razón por la que pregunto es que estos datos parecen datos basura. Está más allá del análisis SIG, debe ser completamente redigitizado y tener a alguien con autoridad (conocimiento práctico) que tome decisiones informadas sobre dónde se supone que deben estar estos límites. De lo contrario, dejaría los datos tal como están.
alexGIS
@alexGIS Estoy totalmente de acuerdo con usted en lo mal que están los datos. Sin embargo, esa es la MEJOR información que obtuve. Estoy tratando de limpiar para analizar.
brillante

Respuestas:

6

La preocupación planteada por @Adam Cara es muy válida. Sin embargo, cuando miré la auto-intersección, parecía que la mayoría de ellos eran bits delgados en el límite entre 2 polígonos masivos o bits / islas desconectadas de un gran polígono sentado dentro de otro. En este caso, borrar superposiciones y asignar superposiciones disueltas puede funcionar el atributo del vecino más cercano (lo que ocurra primero).

Proceso:

arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")

Prueba:

arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")

Mensaje:

  • Ejecución: Intersect "# disuelto" D: \ Scratch \ test.shp ALL # INPUT
  • Hora de inicio: viernes 22 de abril 10:16:07 2016
  • Funciones de lectura ...
  • Características de craqueo ...
  • Características de montaje ...
  • ADVERTENCIA 000117: Advertencia de salida vacía generada.
  • Exitoso el viernes 22 de abril 10:16:09 2016 (Tiempo transcurrido: 2.34 segundos)

Tenga en cuenta que este mensaje significa que no hay auto-intersecciones en la salida de la disolución final

Resultado:

https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing

FelixIP
fuente
1
Esta solución lo hace "ordenado", pero no "correcto". Si a OP no le preocupa que un área que se superponga con "Dairy" y "Sheep / Beef" ahora se vuelva a clasificar en "Builtup / Parks / Others", y otras recategorizaciones arbitrarias que veo cuando comparo la entrada con la salida, entonces Esta solución funciona. Dicho esto, es un flujo de trabajo elegante, buen trabajo.
alexGIS
1
Con tales datos, nadie sabe lo que ES correcto
FelixIP
7

Si sus polígonos son astillas, el comando Eliminar funciona bien para fusionarlos en el polígono de área más grande o en el borde más largo.

Si los polígonos se superponen, entonces puede haber una manera más fácil, pero seleccionaría las superposiciones en una capa separada, luego las volvería a unir, creando las astillas y usando el comando Eliminar.

Bryan Waller
fuente
Gracias por tu tiempo y ayuda. Mis polígonos se superponen. Para seguir su respuesta, ¿cómo puedo seleccionar las superposiciones en una capa separada? Las superposiciones se muestran como errores de área después de que construí la topología.
brillante
Simplemente ejecute Intersect ( resources.arcgis.com/EN/HELP/MAIN/10.1/index.html#//… ) en la capa de polígonos. El resultado de Intersect serán todas las superposiciones en esta capa.
IRÁN
@iRfAn Gracias corro la intersección y obtuve la superposición.
brillante
@Bryan Waller Intenté seguir lo que sugerías: seleccioné las superposiciones en una capa separada usando "intersectar"; luego únelos de nuevo en "PERO NO SE CREARON PLATA". Después de usar el comando Eliminar, todavía puedo encontrar que el mismo polígono tiene dos tipos diferentes de uso del suelo. Cualquier ayuda sería apreciada. Puede encontrar la capa de uso de la tierra aquí goo.gl/0aE3wq
brillante
6
  1. Seleccione un área pequeña y conviértala en dos archivos de formas para ver si este proceso está funcionando.
  2. Cree un nuevo campo llamado prueba (número) en s1 y s2.
  3. Intersecar dos archivos de forma S1 y S2.
  4. Las áreas superpuestas se identificarán en un archivo separado, por ejemplo, denominado Common1 (Área sombreada en la figura).
  5. Calcule la prueba de campo como 1 en común.
  6. Unión S1 y Común
  7. Seleccione 1 ingrese la descripción de la imagen aquídel campo de prueba y elimine el área sombreada.
  8. Ahora combina s2 y común. El comando Borrar se puede usar para borrar el área común.
Shampa
fuente
@ Shampe Gracias por su ayuda. Las superposiciones que tengo están dentro del mismo archivo de forma, no dos archivos de forma.
brillante
6

¿Ha considerado dividir las clases individuales de uso de la tierra en archivos de formas separadas para trabajar de esa manera? Primero pensé en correr una intersección pero vi que eso falló arriba. Sin embargo, si tiene siete archivos de forma separados, puede manipularlos más fácilmente.

La pregunta principal que tengo es si hay superposición, ¿tiene una jerarquía para qué clase gana y debería aparecer al final? Por ejemplo: si se superponen cultivos y productos lácteos, ¿qué conservas? Una vez que haya resuelto esta jerarquía, intersecte 2 clases a la vez, comenzando con la más baja y terminando con la más alta. Si su salida está vacía en una intersección dada, eso significa que no se intersecan.

Adam Kara
fuente
2
Trae el tema más importante aquí: ¿Cómo clasificar las superposiciones? Simplemente hacer que los datos "estén limpios" no significa que sean "correctos".
alexGIS
@alexGIS Nuevamente, estoy de acuerdo contigo. Sin embargo, dado el objetivo de este análisis y la pequeña área de los polígonos superpuestos de los datos, la categoría de la superposición no es el objetivo principal en comparación con la fijación de las superposiciones.
brillante
Esta podría ser una buena idea por otra razón. Las superposiciones pueden representar cambios en los límites del campo y el recorte a lo largo del tiempo.
nmtoken el
5

Una vez que ha creado una topología, ha identificado los errores.

En la lista que muestra los errores, puede seleccionar todos los errores del mismo tipo, hacer clic con el botón derecho en esta lista y elegir una "corrección". En su caso, la solución sería "crear entidad", que creará un nuevo polígono si se superponen dos polígonos. Este es el primer paso (tenga en cuenta que puede lograr un resultado similar mediante el uso de la herramienta de unión con su capa de uso del suelo como entrada única, luego la herramienta de varias partes a una sola parte (pero las superposiciones aún se superpondrán, por lo que debe eliminar una de el valor del atributo), o convierta su polígono en líneas y luego nuevamente en polígono (pero luego pierde el atributo, necesita una unión espacial para recuperar los atributos))

El segundo paso consistiría en eliminar los pequeños polígonos. El problema es que realmente no tiene una regla para decidir qué valor de atributo desea mantener. Mi herramienta favorita es la herramienta de eliminación , donde puede elegir a qué polígono vecino se fusionarán los polígonos pequeños (según el límite compartido más grande o el área más grande)

Último comentario: si tiene una regla para la clase de uso de suelo prioritario, seleccione iterativamente los polígonos pequeños (que no tienen una etiqueta) por ubicación para asignar cada clase de uso de suelo disminuyendo el orden de prioridad y use la calculadora de campo para asignar su etiqueta.

radouxju
fuente
4

Si bien estoy de acuerdo con otros sobre si son polígonos superpuestos o astillas, por lo que estoy viendo aquí con esta imagen, les está mostrando a todos. Te recomiendo que cambies los colores de tu simbología para el uso del suelo. De esta manera puedes ver cuál debe irse u otro. El color que nos mostró en rosa es realmente difícil de leer y puede llevarle mucho tiempo.

En la segunda parte, seleccionaría todos los polígonos superpuestos o astillados y los exportaría a un nuevo archivo de forma. De esta manera, puede identificarlos sobre el uso de la tierra.

PROBERT
fuente
Gracias por tu ayuda. He actualizado el mapa para mostrar los colores para todos los usos de la tierra.
brillante
4

Una posible solución, si tiene Spatial Analyst o 3D Analyst, es convertir los polígonos de uso del terreno en una imagen ráster utilizando la herramienta (Conversión de polígono a ráster) para asegurarse de que no salgan polígonos superpuestos, ya que no puede obtener píxeles superpuestos. Luego, convierta el ráster nuevamente a polígonos usando la herramienta (Ráster a polígono), si aún lo necesita en formato vectorial. En este caso, elija el tamaño de celda de alta resolución (tamaño de celda detallado) para obtener polígonos de buena calidad, pero debe tener en cuenta la memoria. Es posible que deba probarlo varias veces cambiando el tamaño de la celda hasta que esté satisfecho con los resultados. Es posible que deba suavizar los polígonos de salida, si no es perfecto, pero eso depende si tiene al menos una Licencia estándar para ArcGIS Desktop. Sé que no es una tarea fácil, pero puede resolver su problema.

ahmadhanb
fuente
4

Verifique los pocos espacios o las superposiciones entre los polígonos para encontrar la tolerancia y use la herramienta Integrar de Arctoolbox con los valores de tolerancia adecuados.

ingrese la descripción de la imagen aquí

Venug
fuente