微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行to_crs转换地理数据框的几何图形时内核死亡

如何解决执行to_crs转换地理数据框的几何图形时内核死亡

当我尝试在运行Python 3的Jupyter Notebook中将地理数据框的几何图形从epsg4326转换为epsg3857时,我的内核不断死去。

最小可复制代码

df = pd.DataFrame(
    {'City': ['A','B','C','D','E'],'Country': ['1','2','3','4','5'],'Latitude': [-34.58,-15.78,-33.45,4.60,10.48],'Longitude': [-58.66,-47.91,-70.66,-74.08,-66.86]})

crs = {'init': 'epsg:4326'}

gdf = gpd.GeoDataFrame(
    df,crs=crs,geometry=gpd.points_from_xy(df.Longitude,df.Latitude))

gdf.geometry = gdf.geometry.to_crs(epsg=3857)

我在this closed Github issue中尝试了该解决方案-即更新到最新版本的PyProj。这不能为我解决问题。

我也曾尝试为大熊猫创建一个新的专用conda环境。这也不能解决我的问题。

当我在python终端脚本中运行最小的可复制代码时,我得到以下输出,指出了Fiona的问题。

(geo) RichardgrimsMBP:desktop data_science$ python tocrs.py
Traceback (most recent call last):
File "tocrs.py",line 4,in
import geopandas as gpd
File "/opt/anaconda3/envs/geo/lib/python3.8/site-packages/geopandas/init.py",line 7,in
from geopandas.io.file import _read_file as read_file # noqa
File "/opt/anaconda3/envs/geo/lib/python3.8/site-packages/geopandas/io/file.py",in
import fiona
File "/opt/anaconda3/envs/geo/lib/python3.8/site-packages/fiona/init.py",line 86,in
from fiona.collection import BytesCollection,Collection
File "/opt/anaconda3/envs/geo/lib/python3.8/site-packages/fiona/collection.py",line 11,in
from fiona.ogrext import Iterator,ItemsIterator,KeysIterator
ImportError: dlopen(/opt/anaconda3/envs/geo/lib/python3.8/site-packages/fiona/ogrext.cpython-38-darwin.so,2): Symbol not found: _CCCryptorGCMFinalize
Referenced from: /opt/anaconda3/envs/geo/lib/libtiledb.dylib (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
in /opt/anaconda3/envs/geo/lib/libtiledb.dylib

解决方法

我已经通过在conda环境中固定了较旧版本的tiledb(2.0.8)来解决了该问题。似乎conda求解器有一个问题,无视我的macOS版本(10.11.6)并给我一个不兼容的tiledb版本(2.1.2)。

请参阅github问题herehere

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。