使用pyproj转换旧金山的坐标

时间:2016-06-06 23:21:01

标签: python coordinates gis proj

我有一个旧金山的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,但我无法弄清楚我应该是什么。任何帮助将不胜感激。

1 个答案:

答案 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都会使用本地单位而不是标准米。

here's the git page

Here is the transform page

基本上2227是美国调查单位,4326是度数,它同时作为米