ST_GeometryN 接受集合和整数索引并返回该集合中的第 n 个几何图形对象。
语法
db2gse.ST GeometryN(g db2gse.ST_GeomCollection, n Integer)
返回类型
db2gse.ST_Geometry
示例
城市工程师需要知道建筑物占地形状是否全在地块的复合多边形的第一个多边形内。
BUILDING_ID 列唯一地标识 BUILDINGFOOTPRINTS 表的每行。 LOT_ID 列标识建筑物的地块。FOOTPRINT 列存储建筑物的几何图形。
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
该查询列示全在第一个地块多边形内的所有建筑物占地形状的 BUILDINGFOOTPRINTS building_id 和 lot_id。ST_GeometryN 函数返回复合多边形数组中的第一个地块多边形。
SELECT bf.building_id,bf.lot_id FROM BUILDINGFOOTPRINTS bf,LOTS WHERE db2gse.ST_Within(footprint, db2gse.ST_GeometryN (lot,1)) = 1 AND bf.lot_id = LOTS.lot_id;