Más

¿Crear polígonos a partir de puntos que representan los vértices de las esquinas (ArcGIS)?

¿Crear polígonos a partir de puntos que representan los vértices de las esquinas (ArcGIS)?


Estoy en ArcGIS 10.3.1. Tengo una clase de entidad de puntos que representa los vértices de las esquinas de los polígonos. Están ubicados en una cuadrícula regular. Las etiquetas representan el OBJECTID. Los puntos se pueden digitalizar en un orden aleatorio sin secuencia alguna. No hay atributos definidos.

Lo que necesito hacer es crear polígonos individuales (esencialmente conectando puntos con ciertos puntos casi ubicados). Si pudiera conectarlos como en la figura a continuación, crearía polígonos a partir de esas líneas (es decir, polígonos(17,18,21,22);(18,19,22,23)Etcétera). La secuencia de vértices en los polígonos no importa.

Dado que esos polígonos pueden variar en la forma (pueden ser cuadrados o rectángulos con un tamaño de lado variable), me cuesta encontrar un algoritmo para conectar solo ciertos puntos (en términos humanos, solo horizontal o verticalmente). Confiar en lat / long no es una opción ya que los puntos pueden no estar exactamente en las mismas líneas de coordenadas (es decir, pueden estar desplazados como se muestra a continuación). Sin embargo, todos los puntos en "filas" y "columnas" se encuentran en la línea imaginaria que atravesaría los puntos del borde de la cuadrícula (es decir, los puntos 22, 23, 29 se ubican en la línea que va del 21 al 24).

Estoy tratando de automatizar el proceso por completo, pero si se necesitan ciertos pasos que no requieren mucho tiempo para realizarse manualmente, es aceptable. En otras palabras, estoy buscando alguna forma de acelerar este proceso.

Utilizo técnicas de arcpy y Python para encontrar los 5 puntos más cercanos para cada punto y los conecto creando un nuevo segmento de línea. Como puede ver, algunas de las líneas creadas van como diagonales dentro de los rectángulos creados y deben limpiarse.

Las cosas pueden ponerse más difíciles cuando la cuadrícula varía la distancia entre columnas / filas, como en esta imagen (el punto 22 se conecta no solo al 28, sino también al punto 27, fuera del rectángulo creado).

Miré el Editor de parcelas en ArcGIS; no pude encontrar ninguna opción que me permitiera crear polígonos automáticamente. Tengo la sensación de que al descubrir la secuencia de filtrar las líneas y los polígonos resultantes y repetir la salida, podría obtener resultados suficientemente buenos.

¿Alguien tiene buenos consejos sobre cómo abordar este problema para crear polígonos a partir de los puntos que representan las esquinas?


Intentemos restaurar los rectángulos que se muestran, usando puntos de esquina (rojo)

y triángulos B.N. Delaunay:

Nombra los bordes de los triángulos y calcula su longitud:

Une espacialmente triángulos a bordes:

Ordene la tabla unida en orden descendente usando borde largo:

Seleccionar todo no primero apariciones de triángulos en una tabla unida

Cambie la selección y disuelva triángulos usando el borde común más largo:

Elimine todas las formas donde el número de puntos <> 5. Las formas restantes se muestran a continuación:

Como se puede ver, el algoritmo no funcionará con más de 1 rectángulo más pequeño por más grande. Las filas / columnas más estrechas están bien, por lo que está cubierto.

Nota: utilicé mis propios scripts para ordenar la tabla y encontrar 'duplicados' porque no tengo una licencia avanzada.


Ver el vídeo: Arcgis online - Como convertir polilinea a poligono Arcgis