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