2016-06-06 7 views
2

Ich habe eine Shapefile von San Francisco, die ich erfolgreich geladen habe, aber ich muss die Koordinaten in Längen-/Breitengradform konvertieren. Die Variablen ich habe, sind wie folgt:Konvertiere Koordinaten für San Francisco mit pyproj

w1 = x-Koordinaten w2 = y-Koordinaten

Derzeit werden die Koordinaten wie folgt aussehen:

print(w1[0], w2[0]) 
6017864.66784 2104744.54451 

Ich habe versucht, die Punkte wie solche zu konvertieren:

from pyproj import Proj, transform 
inProj = Proj(init='epsg2227') 
outProj = Proj(init='epsg4326') 
x1, y1 = w1[0], w2[0] 
x2, y2 = transform(inProj, outProj, x1, y1) 
print(x2, y2) 
-70.44154167927961 41.036642156063856 

San Franciscos Koordinaten sind etwa -122 Grad West und 37,7 Grad Nord. Ich glaube mein Problem ist, dass meine inProj und outProj Befehle das falsche epsg haben, aber ich kann nicht herausfinden, was ich sein sollte. Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Ich habe gerade erfahren, mehr über pyproj als ich ursprünglich beabsichtigt hatte:

Alles, was Sie tun müssen, ist preserve_units = True auf Ihre Projection Aliase hinzufügen:

w1=[1] 
w2=[1] 
w1[0]=6010936.158609 
w2[0]=2090667.302531 
from pyproj import Proj, transform 
inProj = Proj(init='epsg:2227', preserve_units=True) 
outProj = Proj(init='epsg:4326', preserve_units=True) 
x1, y1 = w1[0], w2[0] 
x2, y2 = transform(inProj, outProj, x1, y1) 
print(x2, y2) 

[out]: -122.4, 37.8 

Grundsätzlich sind alle preserve_units werden lokale Einheiten nicht verwendet statt Standardmeter.

here's the git page

Here is the transform page

Grundsätzlich 2227 ist in der US-Umfrage Fuß-Einheiten und 4326 ist in Grad und es wurde viel sowohl als Meter

+0

Sie Behandlung von Vielen so! Lief wie am Schnürchen. – DDoubleU