空间查询 |
空间查询是通过几何对象之间的空间位置关系来构建过滤条件的一种查询方式。相对于完全由属性过滤条件构建的基于属性的查询,基于空间位置关系且同时可以应用属性过滤条件的称为空间查询。如果您想知道在奥运场馆周围5公里内有多少家五星级酒店,那么您可以把奥运场馆的5公里Buffer作为搜索对象,用Contain去查询酒店所在的图层,然后再利用酒店的属性表中表示等级的字段作为过滤条件,就可以方便快速地得到想要的结果了。以下各节将详细介绍SuperMap提供的丰富的空间查询方法,便于用户准确理解各种查询方法的含义,从而在实际应用中灵活选择。
SuperMap 组件产品 提供了8种空间查询算子:Identity、Cross、Overlap、Disjoint、Touch、Intersect、Contain、Within。这些算子完全包含了OGC标准[1]规定的空间查询算子。
空间查询涉及三个要素,分别是:搜索对象A、被搜索图层上的对象B及结果记录集。本文的图示中,搜索对象用绿色表示,被搜索图层上的对象用黑色表示,搜索结果对象用红色表示。
注:空间查询除支持点、线、面几何对象之外,还支持文本和参数化对象,本文只对基本的点、线面进行了图示和说明,文本对象依据其外接矩形进行各种空间关系的判断。对于复合对象,支持的算子有:Intersect、Disjoint、Contain(搜索对象必须是面)、Within(被搜索图层必须是面)。