gpt4 book ai didi

python - pyproj 不适用于 ipython(但适用于 CLI)

转载 作者:行者123 更新时间:2023-11-28 18:34:12 25 4
gpt4 key购买 nike

我在使用 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 上提出了几种解决方案你提到:

  1. 将 pyproj 从 JimInCO 降级到 v1.9.3 anaconda.org 上的 channel 。这对我的环境不起作用——我找不到任何合适的 v1.9.3 包。看起来那里可能有一些 Python 3 产品。
  2. 定义一个名为 PROJ_DIR 的环境变量,它将 pyproj 指向其投影文件的正确位置。您必须先确定 epsg 文件的位置。
  3. 这是对我有用的解决方案。从 Christoph Gohlke's site 中获取一个 whl 文件使用 pip install the_file.whl 安装。使用这种方法,我获得了pyproj v1.9.5,它工作正常。

关于python - pyproj 不适用于 ipython(但适用于 CLI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34031362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com