Esta es otra forma de hacerlo usando un da.SearchCursor :
import arcpy
fc=r'C:\TEST.gdb\polygons123'
with arcpy.da.SearchCursor(fc,['OID@','SHAPE@']) as cursor:
for row in cursor:
array1=row[1].getPart()
for vertice in range(row[1].pointCount):
pnt=array1.getObject(0).getObject(vertice)
print row[0],pnt.X,pnt.Y
Resultando en ObjectID, X e Y que se pueden copiar a Excel:
...
1 537505.894287 6731069.60889
1 537533.516296 6731078.20947
1 537555.316528 6731082.53589
1 537562.501892 6731085.47913
1 537589.395081 6731070.52991
1 537617.062683 6731058.29651
2 537379.569519 6729746.16272
2 537384.81311 6729746.06012
2 537396.085327 6729748.62311
2 537404.065674 6729752.75311
2 537425.145325 6729773.72931
2 537429.842102 6729777.07129
2 537442.971313 6729780.10651
2 537450.27533 6729780.51611
...
Pruebe las herramientas de asistente geográfico de las tecnologías espaciales. Tiene varias herramientas gratuitas que pueden hacer lo que quieras. Intenta obtener las coordenadas del polígono. O polígono a puntos
et geo-magos
fuente
El siguiente script de Python (que requiere ArcGIS 10.1 o posterior) utiliza
arcpy.da
para tomar un archivo de forma como entrada y crear una hoja de cálculo con una entrada para cada vértice en cada polígono presente en el .shp (y creo que funciona con licencias de arco bajo de nivel inferior) . Los ID de objeto y secuencia vinculan los puntos a una posición específica en un polígono específico.H / t a @PaulSmith en esta publicación: Obtenga todos los puntos de una polilínea para resaltar la
explode_to_points
opción en laarcpy.da.FeatureClassToNumPyArray
herramientaTambién escribí un script que aborda específicamente los requisitos de: Insertar coordenadas de vértices en el polígono que está marcado como duplicado a esta pregunta, ese código está a continuación:
fuente
Así que todavía no he completado la solución, pero parece que puedes usar esta herramienta:
Conversión> JSON> Características a JSON.
Esto convertirá su archivo de forma (en mi caso 81 polígonos) en un archivo JSON. Puede abrir esto con un editor de texto para ver que, de hecho, todos los vértices se enumeran para cada polígono.
Además, la biblioteca estándar de python (import json) trata los objetos json como diccionarios. Luego, simplemente puede recorrer sus diccionarios para escribir los valores de vértice (y cualquier otro atributo que desee) en un archivo csv. Si lo hago funcionar, volveré y publicaré la solución.
fuente
Solo necesitaba las coordenadas x e y para la Polilínea y el Polígono. Utilicé ToolBox -> Herramientas de gestión de datos -> Características -> Característica a punto. Esto creó un archivo de forma de punto, luego utilicé agregar coordenadas XY desde el mismo menú Características para generar coordenadas XY. Luego extraje la información de la tabla de atributos de formas en una hoja de Excel. Esto resolvió mi problema, no estoy seguro si estás buscando lo mismo.
fuente
Aquí hay una solución en tiempos desesperados:
Este método está bien para conjuntos de datos pequeños, pero la dependencia / limitaciones en los convertidores OCR son la principal preocupación. Usar con precaución.
fuente