名前

ST_Touches — rastA と rastB が少なくとも一つの共通の点を持ち、かつ二つのラスターの内部同士がインタセクトしない場合に TRUE を返します。

概要

boolean ST_Touches( raster rastA , integer nbandA , raster rastB , integer nbandB );

boolean ST_Touches( raster rastA , raster rastB );

説明

rastA が rastB に接触する場合に TRUE を返します。rastA と rastB が少なくとも一つの共通の点を持ち、かつ二つのラスターの内部同士がインタセクトしないという意味です。バンド番号が指定されていないか NULL に指定されている場合には、ラスターの凸包のみを考慮してテストします。バンド番号が指定されている場合には、値を持つ (NODATAでない) ピクセルについてテストします。

[注記]

この関数はラスターで利用できるインデックスを使用します。

[注記]

ラスターとジオメトリーの空間関係をテストするには、ST_Touches(ST_Polygon(raster), geometry) というふうに、ラスターに ST_Polygon を使います。

Availability: 2.1.0

コード
SELECT r1.rid, r2.rid, ST_Touches(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;
出力
rid | rid | st_touches
-----+-----+------------
   2 |   1 | f
   2 |   2 | f

関連情報

ST_Intersects