3 votos

Ordenar los puntos del centroide del polígono en una(s) fila(s)

enter image description here

Tengo una imagen de un campo, donde convertí las plantas a polígonos, y luego encontré el centroide de esos polígonos (imagen adjunta). Los números que aparecen en la imagen son los números FID.

Estoy buscando una forma de crear un nuevo campo en mi tabla de atributos que muestre el ID en el mismo orden que se muestra en la imagen de abajo o de crear un nuevo campo ID para cada punto (empezando por el lado este y moviéndome hacia el oeste, por ejemplo).

He intentado ordenar el conjunto de datos (alrededor de 35.000 puntos) por X e Y, pero no me funciona, y supongo que es porque los puntos están a pocos centímetros de distancia.

Mi objetivo final es medir la distancia entre cada punto (no la distancia cercana), por ejemplo entre 59-60, 60-50, 50-51, 51-33, etc. Mirando a su alrededor en los mensajes publicados en este sitio web, parece que la solución más fácil para mi pregunta distancia está calculando en Excel.

Para ello necesito tener los puntos en orden, para poder calcular la distancia al siguiente punto.

Estoy muy familiarizado con ArcGIS pero no con la codificación en Python, pero puedo intentarlo si es necesario.

1voto

UnkwnTech Puntos 21942

Según lo comentado por @Vince:

Esto se aproxima a la alineación ideal, lo que permite restar un constante (la mitad de nuevo por encima de la fila superior) y dividir por el espacio Y, entonces trunc el resultado para rellenar una columna row_val. Ordenar por row_val (descendente) y valor X, y los identificadores se escriben solos. Véase http://gis.stackexchange.com/questions/176197/is-there-a-tool-or-algorithm-for-assigning-a-code-to-enumeration-areas-polygons/176714#176714

Hace poco escribí un código ArcPy para hacer algo parecido, salvo que utilicé Create Fishnet (una celda de ancho por una celda por hilera de alto) e Intersect para asignar un valor de hilera a cada punto y ordenarlos Norte-Sur, y luego añadí un campo de coordenada X para ordenarlos Este-Oeste.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X