名前

ST_Intersects — バンド番号が省略された場合はラスタの凸包を考慮するだけです。指定したバンドのNODATA値でない値を持つピクセルがインタセクトする場合のみTRUEを返します。

概要

boolean ST_Intersects( raster rast , integer band , geometry geommin );

boolean ST_Intersects( geometry geommin , raster rast , integer nband=NULL );

boolean ST_Intersects( raster rasta , raster rastb );

boolean ST_Intersects( raster rasta , integer nbanda , raster rastb , integer nbandb=1 );

説明

ジオメトリがラスタとインタセクトする場合にTRUEを返します。NODATA値は考慮に入れられるので、ジオメトリがNODATA値のみとインタセクトする場合には、FALSEを返します。バンドを指定しない場合は1番と仮定します。

[注記]

ラスタ/ジオメトリとジオメトリ/ラスタの場合、 ST_Intersects(raster,nband,geometry)はラスタ空間で実行され(ジオメトリは最初にラスタに変換されます)、ST_Intersects(geometry, raster)はジオメトリ空間で実行されます(ラスタは最初にジオメトリに変換されます)。

[注記]

この演算子はジオメトリ/ラスタで利用できるインデクスを使用します。

機能強化: 2.0.0 ラスタとラスタを引数にとる形式が導入されました。

SELECT A.rid, g.gid , ST_Intersects(A.rast, g.geom) As inter
FROM dummy_rast AS A CROSS JOIN 
	(VALUES (1, ST_Point(3427928, 5793243.85) ) ,
		(2, ST_GeomFromText('LINESTRING(3427927.85 5793243.75,3427927.8 5793243.75,3427927.8 5793243.8)') ),
		(3, ST_GeomFromText('LINESTRING(1 2, 3 4)') )
		) As g(gid,geom)
WHERE A.rid =2 ;

 rid | gid | inter
-----+-----+-------
   2 |   1 | t
   2 |   2 | t
   2 |   3 | f

関連情報

ST_Intersection