Saya mencoba untuk membuat alat gertakan titik akhir polyline di Python menggunakan ArcGIS 10. menggunakan kursor pencarian Saya membaca nilai-nilai ke array objek garis (yang berisi id fitur garis, dan dua objek "EndPoint" - pertama dan terakhir - yang berisi koordinat X dan Y masing-masing), lalu proses beberapa interpolasi data dari poin untuk memberikan semua poin nilai yang benar.
Sejauh ini, bagian itu berfungsi dengan sempurna. Namun, ketika saya mencoba untuk kembali dan mengedit shapefile, saya dapat melihat data yang saya ubah, tetapi sepertinya saya tidak dapat mengeditnya.
Berikut adalah kode untuk memperbarui bidang:
# --------------------------
#
# Update the file with the new EPs
#
# --------------------------
# Create update cursor
#
rows = arcpy.UpdateCursor(outputDirectory + "\\" + trails_fc + ".shp")
# Enter for loop for each feature/row
#
i = 0
for row in rows:
# Create the geometry object
#
feat = row.getValue(shapefieldname)
partnum = 0
if feat.getPart(partnum)[0].X != allLines[i].startEP.x:
arcpy.AddMessage("Change: " + str(feat.getPart(partnum)[0].X) + " to " + str(allLines[i].startEP.x) )
feat.getPart(partnum)[0].X = allLines[i].startEP.x
rows.updateRow(row)
arcpy.AddMessage("Now is: " + str(feat.getPart(partnum)[0].X))
i+=1
Pembacaan saya terdiri dari pernyataan seperti ini:
Ubah: -105.512166832 menjadi -105.699533165 Sekarang adalah: -105.512166832
Untuk beberapa alasan, baris tidak diperbarui. Dan untuk kehidupan saya, saya tidak dapat menemukan tutorial atau instruksi tentang cara mengedit titik tertentu dalam polyline. Saya hanya dapat menemukan cara mengedit titik sebagai bidang dalam titik pembentukan.
Adakah yang punya ide?