地理数据处理:SQL查询与几何操作
1. 使用SQL创建临时图层
在地理数据处理中,如果你熟悉SQL或者愿意学习,那么可以利用数据源的 ExecuteSQL 函数创建更复杂的查询并完成有趣的操作。这个函数应用于数据源而非图层,因为它允许你根据需要使用多个图层。其函数签名如下:
ExecuteSQL(statement, [spatialFilter], [dialect])
参数说明:
- statement :要使用的SQL语句。
- spatialFilter :可选的几何对象,用于对结果进行空间过滤,默认无过滤。
- dialect :指定使用的SQL方言的字符串,可用选项有 OGRSQL 和 SQLite ,默认使用OGR方言,除非数据源有自己的SQL引擎(如SpatiaLite数据库)。
该函数与普通过滤函数不同,它返回一个包含结果集的新图层,而不仅仅是从现有图层中过滤要素。
1.1 简单查询示例
以下是一个简单示例,返回按人口降序排列的全球国家:
import ogr
ds = ogr.Open(r'D:\osgeopy-data\global')
sql = '''SELECT ogr_geom_area as area, name, p
超级会员免费看
订阅专栏 解锁全文
1007

被折叠的 条评论
为什么被折叠?



