如果没有从给定的交集返回记录,是否可以阻止 ogr2ogr 生成 shapefile?

Is it possible to prevent ogr2ogr from generating a shapefile if no records are returned from the given intersection?

我正在使用以下命令通过 spatialite 方言使用 ogr2ogr 从地理数据库文件生成 shapefile:

ogr2ogr -f "ESRI Shapefile" ./clipped.shp -dialect sqlite -sql "SELECT * FROM table_name WHERE ST_Intersects(SHAPE, GeomFromText('POLYGON ((46.93 -17.48, 46.91 -17.55, 47.01 -17.56, 47.01 -17.46, 46.93 -17.48))'))" ./geodatabase_file.gdb

该命令本身完全符合预期 - 仅返回与给定空间查询相交的记录。

然而,有时路口没有返回任何记录。发生这种情况时,会生成不包含任何条目的空形状文件。如果没有从提供的交集返回记录,有没有办法阻止 ogr2ogr 生成文件?

我得出的结论是,这是不可能的,因为 ogr2ogr 首先创建一个 shapefile,然后在找到它们时向其添加特征。相反,可以使用 ogrinfo 命令来确定 shapefile 的 Feature Count,然后采取相应的行动。

ogrinfo -so -al ./geodatabase_file.gdb

此答案的信息来自对此问题发表的评论 - https://gis.stackexchange.com/questions/366599/is-it-possible-to-prevent-ogr2ogr-from-generating-a-shapefile-if-no-records-are