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

如何使用GDAL正确修复/重建ESRI Shapefile的.shx文件?

修复缺失.shx文件的正确GDAL命令

错误原因分析

你当前的命令将输入和输出指定为同一个file.shp,结合-overwrite参数时,GDAL在处理过程中会因图层名称重复(输入输出图层同名)触发校验错误,虽然.shx文件能被重建,但会抛出你看到的-nln参数必须与单个源图层名称或-sql语句结合使用,且名称需与现有图层不同提示。

正确修复方法

方法一:用ogrinfo直接重建(最简便)

无需额外输出文件,直接让GDAL读取损坏的shapefile并修复.shx:

ogrinfo --config SHAPE_RESTORE_SHX YES file.shp -sql "SELECT * FROM file"

执行后,缺失的.shx会自动生成在原文件目录下。

方法二:用ogr2ogr通过临时文件中转

避免输入输出同名的冲突,步骤如下:

  1. 将修复后的shapefile输出到临时文件:
ogr2ogr -f "ESRI Shapefile" --config SHAPE_RESTORE_SHX YES temp_file.shp file.shp
  1. 替换原文件(根据操作系统选择命令):
  • Windows系统:
move /Y temp_file.* file.*
  • Linux/macOS系统:
mv temp_file.* file.*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:48:12