Apakah mungkin untuk menghitung titik koordinat XY dalam Derajat Desimal dalam model atau skrip ketika kelas fitur dalam sistem koordinat yang diproyeksikan?
Sangat mudah ketika FC berada dalam sistem koordinat geografis:
- menggunakan alat Tambah XY Koordinat atau
- menggunakan ekspresi Python misalnya.
!shape.extent.XMax!
Saya telah menemukan bahwa properti luas dan panjang bidang geometri dapat dimodifikasi dengan kata kunci konversi satuan geometri. Untuk unit linier ukuran satu dapat menggunakan @DECIMALDEGREES.
Sayangnya, !shape.extent.XMax@decimaldegrees!
tidak berfungsi karena XMax tidak panjang.
Dalam fungsi Calculate Geometry (diakses dari klik kanan) ada kemungkinan untuk memilih tipe output Desimal Derajat bahkan untuk kelas fitur yang diproyeksikan.
Bisakah saya melakukan ini menggunakan ArcPy?
Berikut cuplikan kode berdasarkan solusi iRfAn:
import arcpy, os
projectedFC = r"C:\tmp\test.gdb\points01_Projected"
prjFile = os.path.join(arcpy.GetInstallInfo()["InstallDir"],
r"Coordinate Systems\Geographic Coordinate Systems\World\WGS 1984.prj")
spatialRef = arcpy.SpatialReference(prjFile)
updCursor = arcpy.UpdateCursor(projectedFC,"", spatialRef)
for row in updCursor:
pnt = row.Shape.getPart(0)
row.X = pnt.X
row.Y = pnt.Y
updCursor.updateRow(row)
del updCursor, row