使用者の手引きおよび解説書

ST_Distance

ST_Distance は 2 つの図形を引き数とし、両者の間の最短距離を戻します。

構文

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

戻りタイプ

倍精度

都市計画担当者は、敷地境界線から 1 フィート以内にあるすべての建物のリストを必要としています。

BUILDINGFOOTPRINTS 表の BUILDING_ID 列は、それぞれの建物を一意的に識別しています。 LOT_ID 列は、それぞれの建物が属する敷地を識別しています。 footprint 複数ポリゴンには、それぞれの建物の図形が格納されています。

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

LOTS 表には、それぞれの敷地を一意的に識別する敷地識別子、および敷地境界線の図形を含む複数ポリゴンが格納されています。

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

この照会は、敷地境界線から 1 フィート以内にある建物 ID のリストを戻します。 ST_Distance 関数は、footprint と lot 複数ポリゴンとの地理情報上の結合を実行します。ただし、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;


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]