Ini adalah cara lain untuk melakukannya menggunakan 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
Menghasilkan ObjectID, X dan Y yang dapat disalin ke 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
...
Coba alat geo-wizard dari teknologi Spatial. Ini memiliki beberapa alat gratis yang dapat melakukan apa yang Anda inginkan. Coba dapatkan koordinat poligon. Atau poligon ke titik
dan geo-penyihir
sumber
Skrip python berikut (yang membutuhkan ArcGIS 10.1 atau yang lebih baru) menggunakan
arcpy.da
untuk mengambil shapefile sebagai input dan membuat spreadsheet dengan entri untuk setiap simpul di setiap poligon yang ada di .shp (dan saya percaya ini bekerja dengan lisensi arcgis level rendah) . Objek dan urutan id mengikat poin kembali ke posisi tertentu dalam poligon tertentu.H / t ke @PaulSmith di pos ini: Dapatkan semua poin dari polyline untuk menyorot
explode_to_points
opsi dalamarcpy.da.FeatureClassToNumPyArray
alatSaya juga menulis skrip yang secara khusus membahas persyaratan: Masukkan titik koordinat dalam poligon yang ditandai sebagai duplikat untuk pertanyaan ini, kode di bawah ini:
sumber
Jadi saya belum menyelesaikan solusinya, tetapi sepertinya Anda dapat menggunakan alat ini:
Konversi> JSON> Fitur ke JSON.
Ini akan mengonversi shapefile Anda (dalam kasus saya 81 poligon) menjadi file JSON. Anda dapat membuka ini dengan editor teks untuk melihat bahwa, memang, semua simpul terdaftar untuk setiap poligon.
Selanjutnya, pustaka standar python (import json) memperlakukan objek json sebagai kamus. Anda kemudian dapat dengan mudah menelusuri kamus untuk menulis nilai vertex (dan atribut lain yang Anda inginkan) ke file csv. Jika saya mulai bekerja saya akan kembali & memposting soln.
sumber
Saya hanya perlu koordinat x dan y untuk Polyline dan Polygon. Saya menggunakan ToolBox -> Alat Manajemen Data -> Fitur -> Fitur untuk Point. Ini menciptakan file bentuk titik, kemudian saya menggunakan menambahkan koordinat XY dari menu Fitur yang sama untuk menghasilkan koordinat XY. Kemudian saya mengekstrak informasi dari tabel atribut bentuk ke lembar excel. Ini menyelesaikan masalah saya, tidak yakin apakah Anda mencari yang sama.
sumber
Inilah solusi di masa sulit:
Metode ini OK untuk dataset kecil tetapi ketergantungan / batasan pada konverter OCR adalah perhatian utama. Gunakan dengan hati-hati.
sumber