Tengo algunas coordenadas de pares de puntos (puntos inicial y final) que tengo que transformar en líneas. Hasta ahora, utilicé un anexo de ambas coordenadas en a pippo.Point()
, a pippo.CalculateGeometry()
para definir la geometría de cada piont e pippo.append(defined geometry)
identificar el par de puntos, y luego PointsToLine para obtener mi línea. Esto es bastante costoso para cientos de líneas.
¿Hay una forma más corta de hacer esto?
Por ejemplo, coloque el punto inicial y final de cada línea en diferentes campos de una sola tabla e importe líneas directamente sin pasar por la geometría de los puntos.
Creé un script de Python la semana pasada (sin usar ArcPy), que toma puntos que crean la geometría de las líneas de bus (un punto shp) según un campo de número secuencial ("SEQ"). Puede ajustarlo fácilmente para tomar la coordenada de un campo de la misma entidad (usando el valor del campo en lugar de la geometría).
Cada par de puntos creará una sola línea. Puede haber una forma más elegante de hacer esto, pero creó 3900 líneas en aproximadamente 15 segundos, así que funciona para mí ...
fuente
puede usar estas dos herramientas para crear una capa de evento XY y puntos a línea , al ver los parámetros necesarios en puntos a línea (campo de línea, puntos de clasificación) y actualizar los datos de la tabla de entrada, la tarea podría ser más simple
fuente
esto es solo una actualización de la respuesta de @ ChadCooper, porque los cursores "da" ahora están reemplazando ventajosamente los cursores anteriores:
fuente