Estoy escribiendo un script de Python que lee múltiples archivos XML que contienen coordenadas x e y y los combina a todos en un solo archivo csv. Latitud y longitud son campos obligatorios en el csv, pero tengo dificultades para convertir las coordenadas x, y en el plano del estado de Ohio North usFt a 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 métodos anteriores devuelven el mismo resultado, sin embargo, este último tiempo está en algún lugar de la Bahía de Hudson. Cuando trazo las coordenadas en ArcMap, el lat lat correcto es: -81.142311,41.688205.
* Observe que todos los lat largos se proporcionan largos, lat ya que este es el orden que usa Proj
¿Alguien sabe por qué obtendría las coordenadas incorrectas de Proj.4 y pyproj?
fuente
p1 = Proj( init="epsg:3734", preserve_units=True )
En realidad estaba tratando de hacer lo mismo, excepto con la cuadrícula del avión del estado del sur de OH y me encontré con su pregunta. Estaba obteniendo resultados incorrectos con 3735, ahora obtengo resultados correctos con 3729. Espero que si cambias de 3734 a 3728, obtendrás los resultados correctos.
EPSG: 3728: NAD83 (NSRS2007) / Ohio North (ftUS) EPSG: 3729: NAD83 (NSRS2007) / Ohio South (ftUS) EPSG: 3734: NAD83 / Ohio North (ftUS) EPSG: 3735: NAD83 / Ohio South (ftUS)
Utilicé su lat proporcionado, largo y estoy fuera por menos de un pie.
p2 = pyproj.Proj (init = "epsg: 3728", preserve_units = True)
p2 (-81.142311,41.688205)
(2339326.6558868014, 739401.4226131936)
vs 2339327.3, 739400.91
fuente