ST_Contains 関数は、第 1 引数が第 2 引数を空間的に包含する場合に true を返します。包含関係が成立するのは、第 2 引数のすべての点が第 1 引数の内部または境界内に存在し、かつ両者の内部が少なくとも 1 点を共有するときです。
構文
boolean ST_Contains(geomgrid grid, geometry geom);
boolean ST_Contains(geometry geom, geomgrid grid);
boolean ST_Contains(geomgrid grid1, geomgrid grid2);パラメーター
| パラメーター | 説明 |
|---|---|
grid | 空間関係を照会する対象となるグリッドです。 |
geom | 空間関係を照会する対象となるジオメトリです。 |
grid1 | 包含側の geomgrid 値(グリッド対グリッドのオーバーロード)です。 |
grid2 | 被包含側の geomgrid 値(グリッド対グリッドのオーバーロード)です。 |
使用例
例 1:グリッドがポイントを包含しない場合
グリッド G001331032213300013 は詳細なセルを表します。座標 (116.315、39.910) 付近の POINT はこのセルの外部に位置するため、関数は f を返します。
SELECT ST_Contains(
ST_GridFromText('G001331032213300013'),
ST_GeomFromText('POINT(116.31522216796875 39.910277777777778)', 4490)
); st_contains
-------------
f例 2:親グリッドが子グリッドを包含する場合
短いグリッドコード G00133103221330 は、より粗いセルを表し、G001331032213300013 を完全に包含します。したがって、関数は t を返します。
SELECT ST_Contains(
ST_GridFromText('G00133103221330'),
ST_GridFromText('G001331032213300013')
); st_contains
-------------
t