ST_Disjoint — rastA が rastB とインタセクトしない場合に TRUE を返します。
boolean ST_Disjoint( raster rastA , integer nbandA , raster rastB , integer nbandB );
boolean ST_Disjoint( raster rastA , raster rastB );
rastA が rastB とインタセクトしない場合には、rastA と rastB は Disjoint です。バンド番号が指定されていないか NULL に指定されている場合には、ラスターの凸包のみを考慮してテストします。バンド番号が指定されている場合には、値を持つ (NODATA でない) ピクセルについてテストします。
|
|
|
この関数はインデックスを*使いません*。 |
|
|
|
ラスターとジオメトリーの空間関係をテストするには、ST_Disjoint(ST_Polygon(raster), geometry) というふうに、ラスターに ST_Polygon を使います。 |
Availability: 2.1.0
Rid = 1 にバンドが無く、したがって ST_Disjoint は NOTICE を出して NULL 値を返します。
SELECT r1.rid, r2.rid, ST_Disjoint(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;
NOTICE: The second raster provided has no bands rid | rid | st_disjoint -----+-----+------------- 2 | 1 | 2 | 2 | f
今度はバンド番号の指定をしません。
SELECT r1.rid, r2.rid, ST_Disjoint(r1.rast, r2.rast) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;
rid | rid | st_disjoint -----+-----+------------- 2 | 1 | t 2 | 2 | f