Saya sedang menulis skrip python yang membaca beberapa file XML yang berisi koordinat x dan y dan menggabungkan semuanya menjadi satu file csv. Lintang dan Bujur adalah bidang wajib dalam csv, tapi saya mengalami kesulitan mengubah koordinat x, y di Ohio North State Plane, usFt ke WGS84.
>>> p = Proj(r'+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs') #Nad83 State Plane Ohio North US Feet Proj object using parameters
>>> p(739400.91,2339327.3,inverse=True)
(-80.138057868777224, 60.278230707978487)
>>> p1 = Proj(init="epsg:3734") #Nad83 State Plane Ohio North US Feet Proj object using EPSG code
>>> p1(739400.91,2339327.3,inverse=True)
(-80.138057868777224, 60.278230707978487)
Kedua metode di atas mengembalikan hasil yang sama, namun lama ini ada di Teluk Hudson. Ketika saya memplot koordinat di ArcMap, panjang lat yang benar adalah: -81.142311,41.688205.
* Perhatikan semua lat panjang disediakan lama, lat karena ini adalah perintah yang digunakan Proj
Adakah yang tahu mengapa saya mendapatkan koordinat yang salah dari Proj.4 dan pyproj?
sumber
p1 = Proj( init="epsg:3734", preserve_units=True )
Saya benar-benar mencoba melakukan hal yang sama kecuali dengan jaringan OH negara bagian selatan dan saya menemukan pertanyaan Anda. Saya mendapatkan hasil yang salah dengan 3735, sekarang saya mendapatkan hasil yang benar dengan 3729. Saya berharap jika Anda mengubah dari 3734 menjadi 3728, Anda akan mendapatkan hasil yang benar.
EPSG: 3728: NAD83 (NSRS2007) / Ohio Utara (ftUS) EPSG: 3729: NAD83 (NSRS2007) / Ohio Selatan (ftUS) EPSG: 3734: NAD83 / Ohio North (ftUS) EPSG: 3735: NAD83 / Ohio South (ftUS)
Saya menggunakan lat yang disediakan, lama dan tidak aktif kurang dari satu kaki.
p2 = pyproj.Proj (init = "epsg: 3728", preserve_units = Benar)
p2 (-81.142311,41.688205)
(2339326.6558868014, 739401.4226131936)
vs 2339327.3, 739400.91
sumber