Я пишу скрипт на python, который читает несколько файлов XML, содержащих координаты x и y, и объединяет их все в один файл CSV. Широта и долгота являются обязательными полями в CSV, но у меня возникли трудности с преобразованием координат x, y в плоскости штата Северный штат Огайо usFt в 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)
Оба метода, приведенные выше, возвращают один и тот же результат, но этот последний длинный где-то в Гудзоновом заливе. Когда я строю координаты в ArcMap, правильный лат длинный: -81.142311,41.688205.
* Обратите внимание, что все значения long указаны в long, lat, так как это порядок, используемый Proj
Кто-нибудь знает, почему я получаю неправильные координаты от Proj.4 и pyproj?
источник
p1 = Proj( init="epsg:3734", preserve_units=True )
На самом деле я пытался сделать то же самое, за исключением сетки самолетов южного штата ОХ, и я столкнулся с вашим вопросом. Я получал неправильные результаты с 3735, теперь я получаю правильные результаты с 3729. Я ожидаю, что если вы измените с 3734 на 3728, вы получите правильные результаты.
EPSG: 3728: NAD83 (NSRS2007) / Север Огайо (ftUS) EPSG: 3729: NAD83 (NSRS2007) / Юг Огайо (ftUS) EPSG: 3734: NAD83 / Север Огайо (ftUS) EPSG: 3735: NAD83 / Юг Огайо (ftUS)
Я использовал предоставленный вам широчайший, длинный и ушел менее чем на один фут.
p2 = pyproj.Proj (init = "epsg: 3728", preserve_units = True)
р2 (-81.142311,41.688205)
(2339326.6558868014, 739401.4226131936)
против 2339327,3, 739400,91
источник