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):如果两个栅格(直接提供或使用UPERLUT、SCALE、SKEW和SRID的值生成)具有相同的比例、倾斜、SRID,并且一个栅格的任何像素的四个角中的至少一个落在另一个栅格的栅格的任意角上,则返回TRUE。如果不是,则返回FALSE,并返回详细说明对齐问题的通知。
Aggregate Version(Variant 3):从一组栅格中,如果集合中的所有栅格都对齐,则返回TRUE。在PostgreSQL的术语中,ST_SameAlign()函数是一个“聚合”函数。这意味着它对数据行进行操作,与sum()和avg()函数操作的方式相同。
可用性:2.0.0
增强:2.1.0添加Aggegate变体
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