使用ogr2ogr分割Geopackage时触发约束违反错误求助
Geopackage瓦片分割失败问题排查
问题描述
使用ogr2ogr工具将Geopackage分割为瓦片式小型Geopackage,在全球多个国家区域处理均成功,但针对俄罗斯区域执行指定命令时失败,核心报错为sqlite3无法打开数据库文件。
执行命令
ogr2ogr -spat 33 39 33.25 39.25 -clipsrc spat_extent -f GPKG "tile_69.gpkg" "basins.gpkg" -nlt GEOMETRYCOLLECTION
错误信息
ERROR 1: sqlite3_exec(执行创建GeoPackage标准表及触发器的SQL语句) 失败:无法打开数据库文件 ERROR 1: GPKG驱动创建 /local_disk0/ru_run_2023-06-02-09-40-30_30m/climate_change/ru_hydro_and_lisflood_tile_69.gpkg 失败
排查与解决办法
- 验证目标路径权限:确认
/local_disk0/ru_run_2023-06-02-09-40-30_30m/climate_change/目录存在,当前执行用户拥有该目录的读写权限。若目录不存在则先创建;权限不足则调整权限或切换有权限的用户。 - 检查磁盘剩余空间:确认
local_disk0磁盘是否已满,剩余空间需足够容纳新生成的Geopackage文件。 - 排查文件或路径问题:检查目标路径是否包含特殊字符、是否超出系统路径长度限制,尝试简化路径或文件名后重新执行。
- 清理残留文件:若之前执行失败残留了损坏的
ru_hydro_and_lisflood_tile_69.gpkg文件,先删除该文件再重试。 - 升级GDAL版本:部分旧版本GDAL可能存在隐性兼容性问题,尝试升级至最新稳定版后测试。
内容的提问来源于stack exchange,提问作者TheRealJimShady
相关产品推荐
相关产品推荐

