ST_SameAlignment — Gibt TRUE zurück, wenn die Raster die selbe Rotation, Skalierung, Koordinatenreferenzsystem und Versatz (Pixel können auf dasselbe Gitter gelegt werden, ohne dass die Gitterlinien durch die Pixel schneiden) aufweisen. Wenn nicht, wird FALSE und eine Bechreibung des Problems ausgegeben.
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 )
;
Nicht-Aggregat Version (Versionen 1 und 2): Gibt TRUE zurück, wenn die zwei Raster (die entweder direkt übergeben oder mit Werten für UpperLeft, Scale, Skew und SRID erstellt werden) dieselbe Skalierung, Rotation und SRID haben und zumindest eine der vier Ecken eines Pixel des einen Raster auf eine Ecke des anderen Rastergitters fällt. Wenn nicht, wird FALSE und eine Problembeschreibung ausgegeben.
Aggregat Version (Variante 3): Gibt TRUE zurück, wenn alle übergebenen Raster gleich ausgerichtet sind. Die Funktion ST_SameAlignment() ist in der Terminologie von PostgreSQL eine Aggregatfunktion. Dies bedeutet, dass sie so wie die Funktionen SUM() und AVG() mit Datenzeilen arbeitet.
Verfügbarkeit: 2.0.0
Erweiterung: 2.1.0 die Variante mit der Aggregatfunktion hinzugefügt
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