You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GeoDataFrame导出ESRI Shapefile时触发InvalidVersion错误(GDAL版本问题)

解决GeoDataFrame导出Shapefile时的GDAL版本错误(InvalidVersion: '3.4.0e')

问题原因

ArcGIS Pro克隆环境中的GDAL版本字符串被标记为3.4.0e,而GeoPandas的版本校验逻辑无法识别带后缀的版本号,触发InvalidVersion错误。

解决方案

方案1:临时修改GDAL版本字符串(快速修复)

在导出代码前手动覆盖GDAL的版本返回值,绕过校验:

import osgeo.gdal as gdal
# 将版本信息替换为GeoPandas可识别的纯数值编码(对应3.4.0)
gdal.VersionInfo = lambda: '3040000'

# 执行导出
geoPoliDF.to_file(polyOutFc, driver='ESRI Shapefile', crs='EPSG:27700')

方案2:重新安装纯版本GDAL(环境级修复)

如果允许修改ArcGIS Pro克隆环境,通过conda替换GDAL包:

# 激活目标环境
conda activate arcgispro_py39_17150
# 卸载带后缀的GDAL
conda remove --force gdal
# 安装官方3.4.0版本
conda install gdal=3.4.0 -c conda-forge

注意:操作前备份环境,避免影响ArcGIS Pro原生功能。

方案3:使用ArcPy替代导出(适配ArcGIS生态)

直接利用ArcGIS原生工具导出,规避GDAL版本冲突:

import arcpy

# 将GeoDataFrame转为ArcPy要素类
arcpy.da.NumPyArrayToFeatureClass(
    geoPoliDF.to_records(),
    polyOutFc,
    ['pol_geometry'],  # 几何字段名
    spatial_reference=arcpy.SpatialReference(27700)
)

内容的提问来源于stack exchange,提问作者estitxust

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:27:48