名前

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を使います。

初出: 2.1.0

-- rid=1のラスタはバンドを持っていないので、
--   警告が出て、ST_Disjointで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
                        

関連情報

ST_Intersects