名前

ST_Covers — ジオメトリBにジオメトリAの外となるポイントが無い場合には,1(TRUE)を返します.

概要

boolean ST_Covers(geometry geomA, geometry geomB);

boolean ST_Covers(geography geogpolyA, geography geogpointB);

説明

ジオメトリ/ジオグラフィBにジオメトリ/ジオグラフィAの外となるポイントが無い場合には,1(TRUE)を返します.

GEOSモジュールで実現しています.

[重要項目]

GEOMETRYCOLLECTIONを引数にして呼ばないでください.

[重要項目]

For geography only Polygon covers point is supported.

[重要項目]

この関数を不正なジオメトリで呼ばないでください.予期しない結果が返されます.

この関数は,ジオメトリ上で使用可能なインデクスを使うバウンディングボックス比較を自動的に取り込みます. インデクスの使用を避けるには,_ST_Covers関数を使います.

初出バージョン: 1.2.2 - GEOS >= 3.0が必要です.

初出バージョン: 1.5 - ジオグラフィのサポートが導入されました.

ご注意: これは論理値を返して整数を返さないのが「許される」版です.

OGC標準と違い,Oracleと同じです.

直感的に分かりにくいST_ContainsとST_Withinの微妙な違いがあります.詳細については,Subtleties of OGC Covers, Contains, Withinをご覧ください.

ジオメトリの例

	--円をカバーする円
SELECT ST_Covers(smallc,smallc) As smallinsmall,
	ST_Covers(smallc, bigc) As smallcoversbig,
	ST_Covers(bigc, ST_ExteriorRing(bigc)) As bigcoversexterior,
	ST_Contains(bigc, ST_ExteriorRing(bigc)) As bigcontainsexterior
FROM (SELECT ST_Buffer(ST_GeomFromText('POINT(1 2)'), 10) As smallc,
	ST_Buffer(ST_GeomFromText('POINT(1 2)'), 20) As bigc) As foo;
	--Result
 smallinsmall | smallcoversbig | bigcoversexterior | bigcontainsexterior
--------------+----------------+-------------------+---------------------
 t            | f              | t                 | f
(1 row)	

ジオグラフィの例


		

関連情報

ST_Contains, ST_CoveredBy, ST_Within