用户指南和参考

ST_Distance

ST_Distance 接受两个几何图形并返回它们之间的最近距离。

语法

db2gse.ST_Distance(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

返回类型

双精度

示例

城市工程师需要任何地块线的一英尺内的所有建筑物的列表。

BUILDINGFOOTPRINTS 表的 BUILDING_ID 列唯一地标识每个建筑物。 LOT_ID 列标识每个建筑物所属的地块。 占地形状多边形存储每个建筑物的占地形状的几何图形。

CREATE TABLE BUILDINGFOOTPRINTS (   building_id integer,
                                    lot_id      integer,
                                    footprint   db2gse.ST_MultiPolygon);

LOTS 表存储唯一地标识每个地块的地块 ID 和包含地块线几何图形的地块复合多边形。

CREATE TABLE LOTS ( lot_id   integer,
                    lot      db2gse.ST_MultiPolygon);

该查询返回建筑物 ID 的列表,这些建筑物在其地块线的一英尺之内。 ST_Distance 函数在占地形状和地块复合多边形的边界之间执行 Spatial 连接。 然而,bf.lot_id 和 LOTS.lot_id 之间的对等连接确保 ST_Distance 函数仅比较属于同一地块的复合多边形。

SELECT bf.building_id
  FROM BUILDINGFOOTPRINTS bf, LOTS
 WHERE bf.lot_id = LOTS.lot_id AND
       db2gse.ST_Distance(bf.footprint, db2gse.ST_Boundary(LOTS.lot)) <= 1.0;


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]