ST_SameAlignment
Name
ST_SameAlignment — Returns true if rasters have same skew, scale, spatial ref, and offset (pixels can be put on same grid without cutting into pixels) and false if they don't with notice detailing issue.
Synopsis
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
)
;
Description
Non-Aggregate version (Variants 1 and 2): Returns true if the two rasters (either provided directly or made using the values for upperleft, scale, skew and srid) have the same scale, skew, srid and at least one of any of the four corners of any pixel of one raster falls on any corner of the grid of the other raster. Returns false if they don't and a NOTICE detailing the alignment issue.
Aggregate version (Variant 3): From a set of rasters, returns true if all rasters in the set are aligned. The ST_SameAlignment() function is an "aggregate" function in the terminology of PostgreSQL. That means that it operates on rows of data, in the same way the SUM() and AVG() functions do.
Availability: 2.0.0
Enhanced: 2.1.0 addition of Aggegrate variant
Examples: Rasters
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