ST_Within — 如果栅格 rastA 的任何点都不在栅格 rastB 的外部,并且 rastA 的内部至少有一个点在 rastB 的内部,则返回 true。
boolean ST_Within(
栅格 rastA , 整数 nbandA , 栅格 rastB , 整数 nbandB )
;
boolean ST_Within(
栅格 rastA , 栅格 rastB )
;
栅格 rastA 在 rastB 内当且仅当 rastA 的任何点都不在 rastB 的外部,并且 rastA 的内部至少有一个点在 rastB 的内部。如果未提供波段号(或设置为 NULL),则测试中仅考虑栅格的凸包。如果提供了波段号,则测试中仅考虑具有值(非 NODATA)的像素。
此操作数将利用栅格上可能存在的任何索引。 |
要测试栅格和几何图形的空间关系,请在栅格上使用 ST_Polygon,例如 ST_Within(ST_Polygon(raster), geometry) 或 ST_Within(geometry, ST_Polygon(raster))。 |
ST_Within() 是 ST_Contains() 的逆运算。因此,ST_Within(rastA, rastB) 意味着 ST_Contains(rastB, rastA)。 |
可用性:2.1.0
SELECT r1.rid, r2.rid, ST_Within(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2; rid | rid | st_within -----+-----+----------- 2 | 1 | f 2 | 2 | t