使用 ogr 和 SQLite 解析 shapefile 时出错

Error dissolving shapefile with ogr and SQLite

我正在尝试解散基于 this question and that instruction 的 shapefile。但是,当我 运行 我的代码行时:

ogr2ogr "c:/working/testing/dissolve.shp" "c:/working/testing/test.shp" -f"ESRI Shapefile" -dialect sqlite -sql "SELECT ST_Union(geometry) FROM 'test'"

我收到以下错误:

ERROR 1: In ExecuteSQL(): sqlite3_step(SELECT ST_Union(geometry) FROM 'temp_2'): SQL logic error or missing database

我错过了什么?

编辑:QGIS 的 "Dissolve" 算法工作得很好(不是使用 ogr2ogr 的算法,而是他们自己的算法)。有什么我不明白的魔法吗?

好的,我自己整理的。失败的原因是在 shapefile 中,某些特征已被标记为已删除,根据读取单个特征时的错误消息:

ERROR 1: Attempt to read shape with feature id (0), but it is marked deleted.

我现在可以通过复制 shapefile 来解决这个问题,它还会重新打包并删除所有标记为此类的功能。使用这个新副本,最初的代码行工作得很好。