我有一个旧金山的shapefile,我成功加载但我需要将坐标转换为经度/纬度形式。我的变量如下:
w1 = x坐标 w2 = y坐标
目前坐标如下所示:
print(w1[0], w2[0])
6017864.66784 2104744.54451
我试图改变这样的观点:
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
旧金山的坐标西经约-122度,北纬37.7度。我相信我的问题是我的inProj和outProj命令有错误的epsg,但我无法弄清楚我应该是什么。任何帮助将不胜感激。
答案 0 :(得分:0)
我刚刚学到了更多关于pyproj的知识:
您需要做的就是将preserve_units = True
添加到Projection别名:
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
基本上所有preserve_units
都会使用本地单位而不是标准米。
基本上2227是美国调查单位,4326是度数,它同时作为米