繁体   English   中英

GeoPandas .to_crs发生错误

[英]GeoPandas .to_crs running into errors

我正在尝试导入形状文件并更改其crs,以获取具有正确投影的地图。

map_sh = gpd.read_file(r'C:\PATH\VG250_Gemeindegrenzen_2018.shp')
map_sh = map_sh.to_crs({'init' :'epsg:25832'})

当我尝试执行它时,会出现以下错误:

RuntimeError                              Traceback (most recent call last)
<ipython-input-7-8354f57e24ce> in <module>
----> 1 map_sh = map_sh.to_crs({'init' :'epsg:25832'})

~\AppData\Local\Continuum\miniconda3\lib\site-packages\geopandas\geodataframe.py in to_crs(self, crs, epsg, inplace)
    441         else:
    442             df = self.copy()
--> 443         geom = df.geometry.to_crs(crs=crs, epsg=epsg)
    444         df.geometry = geom
    445         df.crs = geom.crs

~\AppData\Local\Continuum\miniconda3\lib\site-packages\geopandas\geoseries.py in to_crs(self, crs, epsg)
    302             except TypeError:
    303                 raise TypeError('Must set either crs or epsg for output.')
--> 304         proj_in = pyproj.Proj(self.crs, preserve_units=True)
    305         proj_out = pyproj.Proj(crs, preserve_units=True)
    306         project = partial(pyproj.transform, proj_in, proj_out)

~\AppData\Local\Continuum\miniconda3\lib\site-packages\pyproj\__init__.py in __new__(self, projparams, preserve_units, **kwargs)
    360         # on case-insensitive filesystems).
    361         projstring = projstring.replace('EPSG','epsg')
--> 362         return _proj.Proj.__new__(self, projstring)
    363 
    364     def __call__(self, *args, **kw):

_proj.pyx in _proj.Proj.__cinit__()

RuntimeError: b'no arguments in initialization list'

我已经有这个特定的错误,可以通过将pyproj更新到2.2.1版来解决,但是从昨天开始我又遇到了同样的错误。

可能会发生什么变化,从一天到另一天,代码都出现错误? 如何检查我的代码正在运行哪个版本的pyproj? 我只知道命令:

pip freeze

确保您指向的是有效的epsg文件。 根据您安装软件包的方式,可以在以下位置找到它:

  • 〜\\ AppData \\ Local \\ Continuum \\ miniconda3 \\ Library \\ share \\ gdal
  • 〜\\ AppData \\ Local \\ Continuum \\ miniconda3 \\ Library \\ share

这可以通过许多方式实现,但是我通常更喜欢手动指向要使用的gdal资源。 为此,添加一个名为GDAL_DATA的环境变量,并将其指向上面列表中的第一个文件夹。 之后,您可能必须重新启动python解释器或计算机,这取决于您使用的是什么。

如果您使用的是Windows,则设置GDAL以及所有依赖于GDAL的过程可能会很痛苦,但是我发现使用那些预编译的滚轮进行安装是最简单,最可靠的解决方案。 它们也经常更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM