从ArcGIS Python库导入GeoAccessor类失败求助
从ArcGIS Python库导入GeoAccessor类失败求助
嘿,我来帮你搞定这个导入报错的问题!
你遇到这个问题的核心原因是版本不匹配:你目前使用的是ArcGIS Python库2.4.0版本,但你参考的文档是针对2.5.0及以上版本的。在2.5.0版本之前,GeoAccessor类还没有被移到公开的arcgis.features模块下,而是藏在内部模块里,所以直接从arcgis.features导入自然会找不到这个类。
给你两个可行的解决办法:
方法一:升级ArcGIS Python库(最推荐)
升级到2.5.0及以上版本后,你就能直接用文档里的导入路径了,而且还能获得后续版本的bug修复和功能优化。根据你的环境选择对应的升级命令:- 如果你用pip管理依赖:
pip install --upgrade arcgis - 如果你用conda环境:
conda update arcgis
- 如果你用pip管理依赖:
方法二:如果暂时无法升级,使用旧版本的导入路径
在2.4.0版本中,GeoAccessor类的正确导入路径是内部模块,你可以修改导入代码为:from arcgis.features._data.geodataset import GeoAccessor # 你的转换代码可以保持不变 sdf = GeoAccessor.from_xy(df, x_column='longitude', y_column='latitude', sr=4326)注意:带下划线的模块属于内部实现,后续版本可能会有变动,所以还是建议尽量升级到正式支持公开导入的版本。
修改后再运行你的代码,应该就能顺利把pandas DataFrame转换成Spatial DataFrame了!
备注:内容来源于stack exchange,提问作者Ian Engelbrecht
相关产品推荐
相关产品推荐

