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

使用ogr2ogr将GeoPackage转GeoJSON失败求助

解决GeoPackage转GeoJSON时的"database disk image is malformed"错误

问题详情

执行转换命令:

ogr2ogr -f GeoJSON out.json BGRI2021_0706.gpkg

返回核心错误:

ERROR 1: database disk image is malformed
FAILURE:
Unable to open datasource `BGRI2021_0706.gpkg' with the following drivers.

已确认的基础信息:

  • 文件存在且路径正确:
ll BGRI2021_0706.gpkg  -h
-rw-r--r-- 1 joao joao 1,1M nov 28 18:07 BGRI2021_0706.gpkg
  • GDAL支持GeoPackage格式:
ogrinfo --formats | grep GPKG
  GPKG -raster,vector- (rw+vs): GeoPackage
  • 当前GDAL版本:3.3.2

解决步骤

1. 修复损坏的GeoPackage文件

GeoPackage基于SQLite数据库,错误提示说明文件已损坏,用SQLite工具检查并修复:

  • 先检查文件完整性:
sqlite3 BGRI2021_0706.gpkg "PRAGMA integrity_check;"
  • 若检查出错误,生成修复后的文件:
sqlite3 BGRI2021_0706.gpkg ".recover" > repaired_BGRI2021_0706.gpkg
  • 使用修复后的文件重新执行转换:
ogr2ogr -f GeoJSON out.json repaired_BGRI2021_0706.gpkg

2. 验证文件完整性

如果修复无效,大概率是文件在下载或传输过程中损坏,重新获取原始文件,必要时对比文件哈希值确认完整性。

3. 指定具体图层转换

部分GeoPackage包含多个图层,直接指定图层可能绕过问题:

  • 先查看文件内的图层列表:
ogrinfo BGRI2021_0706.gpkg
  • 假设目标图层名为BGRI2021,执行指定图层的转换命令:
ogr2ogr -f GeoJSON out.json BGRI2021_0706.gpkg BGRI2021

4. 更新GDAL版本

当前使用的GDAL 3.3.2发布于2021年,对部分新的GeoPackage特性支持可能存在缺陷,更新到较新版本(如3.8及以上)后重试转换操作。

内容的提问来源于stack exchange,提问作者João Pimentel Ferreira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:50:21