PostGIS
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
[source,programlisting]
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 ---- == See Also link:using_raster_dataman.html#RT_Loading_Rasters[Section 9.1, “Loading and Creating Rasters”], link:RT_ST_NotSameAlignmentReason.html[ST_NotSameAlignmentReason], link:RT_ST_MakeEmptyRaster.html[ST_MakeEmptyRaster] [cols="<,^,>", %autowidth, frame="none", grid="none",] |=== |link:RT_ST_Touches.html[Prev] |link:RT_reference.html#Raster_Relationships[Up] | link:RT_ST_NotSameAlignmentReason.html[Next] |ST_Touches |link:index.html[Home] | ST_NotSameAlignmentReason |===