¿Agrupando polígonos contiguos que tocan las esquinas usando ArcGIS Desktop?


12

Con ArcGIS 10, tengo una clase de entidad que convertí de un ráster (GRID) (herramienta de ráster a polígono).

  • Hay aprox. 180,000 polígonos.
  • La tabla de atributos contiene un campo [grid_code] que necesito preservar.
  • Si uno o más polígonos son contiguos con las esquinas tocando Y tienen el mismo valor [grid_code], entonces me gustaría agruparlos (básicamente una disolución) en un polígono (registro).
  • Luego necesito calcular el área del polígono agrupado.

Utilizando la herramienta Seleccionar por ubicación, puedo seleccionar con éxito los polígonos que necesito agrupar, pero ¿cómo los convierto en UN polígono, al tiempo que conservo el [grid_code]?


3
¿Ha considerado ejecutar el comando Grupo de regiones antes de convertir los rásteres en polígonos?
Kirk Kuykendall el

1
Kirk tiene toda la razón: desea hacer este cálculo con la cuadrícula original, donde será rápido y eficiente, en lugar del formato vectorial de salida, donde será lento y doloroso.
whuber

2
Gracias Kirk y Bill. Sí, Region Group es la herramienta correcta. Desafortunadamente, el uso de Grupo de región en mi gran conjunto de datos provoca una división horizontal, un error conocido de Spatial Analyst. Estas franjas se documentaron ya en diciembre de 2009, pero ahora, usando ArcGIS 10, TODAVÍA existen estos problemas. Puede leer todo sobre esto aquí: [enlace] ( forums.arcgis.com/threads/… ) Mi trabajo consiste en escribir el resultado de la herramienta Grupo de región en un espacio de trabajo ArcInfo antiguo como un GRID. Eso parece arreglarlo!
mjn

Sin esa solución, y dado el error de RegionGroup, tendrías que realizar un cálculo de variedad focal de 2x2 para identificar esquinas potenciales (la variedad debe ser 3 o 4) y luego usarlas para crear una tabla de potencial de esquina a relaciones de esquina entre los polígonos, lo que podría (en gran medida) simplificar la búsqueda de polígonos que tocan las esquinas. Qué dolor ...
whuber

Tenga en cuenta que si los polígonos comparten un solo vértice, introduce una auto-intersección y, por lo tanto, invalida la geometría.
Jim B

Respuestas:


2

Puede disolver polígonos contiguos con valores de identificación comunes utilizando la herramienta Disolver .

  1. Seleccione su campo de código de cuadrícula como "Dissolve_Field (opcional)"
  2. En la parte inferior del formulario de la herramienta, marque la casilla de verificación "Líneas no divididas (opcional)".
  3. Crear campo de área
  4. Haga clic con el botón derecho en el área y seleccione Calcular geometría

2

Eso es un montón de polígonos. También encontraría una solución en formato ráster primero cuando la topología sea más fácil de manejar. Pero si no quieres escribir código, podrías:

  1. Seleccione un código de cuadrícula dado.
  2. amortigua ese código de cuadrícula en una cantidad muy pequeña (opción de amortiguadores combinados)
  3. amortiguar el resultado negativamente por el mismo muy pequeño sobre.

Habrá un ligero redondeo en la geometría.

Para crear una sola capa, intersecte las capas de código de cuadrícula resultantes y limpie para eliminar los polígonos de astilla.


-1

Personalmente, escribiría un código que recorriera los polígonos y verificara que las 4 esquinas de un polígono fueran las mismas que cualquier otra esquina de polígono y lo llamaría recursivamente: relleno de inundación como tal.

Hago esto con las cuadrículas netCDF para crear polígonos apropiadamente similares.

Otra opción sería hacer esto progamáticamente en la raíz con la cuadrícula.


Los comentarios se han purgado cuando se han degradado en disputas y / o ruidos sin sentido, y todo el conjunto es insalvable.
Mapperz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.