**
空间查询
**
一、原理
通过空间关系查询和定位空间实体是地理信息系统不同于一般数据库系统的功能之一。空间关系查询不改变数据库的存储。CityMaker SDK空间关系过滤器类ISpatialFilter接口,用于空间查询,可获取或设置空间过滤对象、空间列名称、空间关系谓词。其所支持的空间关系类型如下:
enum gviSpatialRel 空间关系谓词
枚举值:
gviSpatialRelEnvelope 通过Envelope进行相交查询
gviSpatialRelEquals 相等:相比较的两个几何体类型相同,并且各自顶点集合中的顶点个数相等,在平面上的坐标相等
gviSpatialRelIntersects 不相离:相比较的两个几何体至少有一个公共的顶点。对相比较的两个几何体的类型不做要求。
gviSpatialRelTouches 相邻:相比较的两个几何体在边界上至少有一个公共顶点,但是内部没有公共顶点。对相比较的两个几何体的类型不做要求。
gviSpatialRelCrosses 相交:相比较的两个几何体的共享部分但不是全部的内部点集,相交部分的几何体维度小于相比较的两个几何体中的一个或者两个。
gviSpatialRelWithin 被包含:Base Geometry在Comparison Geometry的内部,与Contains相反
gviSpatialRelContains 包含:Comparison Geometry在Base Geometry的内部,与Within相反
gviSpatialRelOverlaps 部分覆盖:相比较的两个几何体有相同的维度,他们有部分但不是全部的点是公共的,并且相交部分的几何体与相比较的两个几何体有相同的维度