ST_SameAlignment — 如果栅格具有相同的倾斜、比例、空间参考和偏移(像素可以放在同一网格上而不切割成像素),则返回 true;如果没有注意细节问题,则返回 false。
boolean ST_SameAlignment(
raster rastA , raster rastB )
;
boolean ST_SameAlignment(
double precision ulx1 , double precision uly1 , double precision scalex1 , double precision scaley1 , double precision skewx1 , double precision skewy1 , double precision ulx2 , double precision uly2 , double precision scalex2 , double precision scaley2 , double precision skewx2 , double precision skewy2 )
;
boolean ST_SameAlignment(
raster set rastfield )
;
非聚合版本(变体 1 和 2):如果两个栅格(直接提供或使用左上角、比例、倾斜和 srid 的值制作)具有相同的比例、倾斜、srid 以及至少其中之一,则返回 true ,一个栅格的任何像素的四个角落在另一个栅格的网格的任何角上。 如果不这样做则返回 false 并详细说明对齐问题的通知。
聚合版本(变体 3):从一组栅格中,如果该组中的所有栅格都对齐,则返回 true。 ST_SameAlignment() 函数是 PostgreSQL 术语中的“聚合”函数。 这意味着它对数据行进行操作,与 SUM() 和 AVG() 函数的操作方式相同。
可用性: 2.0.0
增强:2.1.0 添加聚合变体
SELECT ST_SameAlignment( ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0), ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0) ) as sm; sm ---- t
SELECT ST_SameAlignment(A.rast,b.rast) FROM dummy_rast AS A CROSS JOIN dummy_rast AS B; NOTICE: The two rasters provided have different SRIDs NOTICE: The two rasters provided have different SRIDs st_samealignment ------------------ t f f f