我在使用IPython Notebook时无法执行pyproj
,但在powershell中使用Python时却无法执行。
IPython引发以下错误:
RuntimeError Traceback (most recent call last)
<ipython-input-59-384a2e8bfd70> in <module>()
----> 1 inproj = pyproj.Proj(init='epsg:3857')
C:\Anaconda64\lib\site-packages\pyproj\__init__.pyc in __new__(self, projparams, preserve_units, **kwargs)
345 else:
346 kvpairs.append(kvpair+' ')
--> 347 projstring = ''.join(kvpairs)
348 # look for EPSG, replace with epsg (EPSG only works
349 # on case-insensitive filesystems).
_proj.pyx in _proj.Proj.__cinit__ (_proj.c:1190)()
RuntimeError: Invalid argument
这个问题类似于https://github.com/jswhit/pyproj/issues/17指出的问题,但我不明白代码在命令行中的运行情况。您知道我如何使
pyproj
正常工作吗?我正在使用Windows(64位),conda版本:3.18.6和python版本:2.7.10。如果有帮助,则在ipython Notebook上
pyproj.pyproj_datadir
的输出为'C:\x07root\\stage\\Library\\share\\proj'
,而在命令提示符下为'C:\\Anaconda64\\lib\\site-packages\\pyproj\\data'
。谢谢!
我使用的工作示例来自https://gis.stackexchange.com/questions/78838/how-to-convert-projected-coordinates-to-lat-lon-using-python/78944#78944
from pyproj import Proj, transform
inProj = Proj(init='epsg:3857')
outProj = Proj(init='epsg:4326')
x1,y1 = -11705274.6374,4826473.6922
x2,y2 = transform(inProj,outProj,x1,y1)
print x2,y2
最佳答案
我也在miniconda下的Windows 10(64位)中运行Python 2.7.11时遇到此错误。我的pyproj版本是1.9.4(由运行conda list
确定)。在您提到的link上提出了几种解决方案:
PROJ_DIR
的环境变量,该变量将pyproj指向其投影文件的正确位置。您必须首先确定epsg文件的位置。 pip install the_file.whl
从Christoph Gohlke's site中获取一个whl文件。使用这种方法,我获得了pyproj v1.9.5,可以正常工作。 关于python - pyproj无法在ipython上运行(但可在CLI上运行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34031362/