Estou escrevendo um script python que lê vários arquivos XML contendo as coordenadas xey e os combina em um único arquivo csv. Latitude e Longitude são campos obrigatórios no csv, mas estou tendo dificuldades para converter as coordenadas x, y no plano do estado norte de Ohio usFt para 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)
Ambos os métodos acima retornam o mesmo resultado, no entanto, esse período longo está em algum lugar na Baía de Hudson. Quando plogo as coordenadas no ArcMap, o comprimento correto do lat é: -81.142311,41.688205.
* Observe que todos os lat longs são fornecidos long, lat, pois esta é a ordem que o Proj usa
Alguém sabe por que eu estaria recebendo as coordenadas erradas do Proj.4 e pyproj?
fonte
p1 = Proj( init="epsg:3734", preserve_units=True )
Na verdade, eu estava tentando fazer a mesma coisa, exceto com a grade de avião do estado sul de OH e me deparei com sua pergunta. Eu estava obtendo resultados errados com o 3735, agora obtenho resultados corretos com o 3729. Espero que, se você mudar de 3734 para 3728, obterá os resultados corretos.
EPSG: 3728: NAD83 (NSRS2007) / Ohio North (ftUS) EPSG: 3729: NAD83 (NSRS2007) / Ohio Sul (ftUS) EPSG: 3734: NAD83 / Ohio North (ftUS) EPSG: 3735: NAD83 / Ohio South (ftUS)
Eu usei o seu lat fornecido, longo e estou fora por menos de um pé.
p2 = pyproj.Proj (init = "epsg: 3728", preserve_units = True)
p2 (-81.142311,41.688205)
(2339326.6558868014, 739401.4226131936)
vs 2339327.3, 739400.91
fonte