Name

ST_SameAlignment — Retourne true si les rasters ont les mêmes skew, scale, spatial ref, et offset (les pixels peuvent être placés sur la même grille sans être coupés) et false si ce n'est pas le cas, avec une NOTICE détaillant le problème.

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

Version non agrégée (variantes 1 et 2) : Retourne true si les deux rasters (fournis directement ou créés en utilisant les valeurs pour upperleft, scale, skew et srid) ont la même échelle, le même skew, le même srid et si au moins un des quatre coins de n'importe quel pixel d'un raster tombe sur n'importe quel coin de la grille de l'autre raster. Retourne false si ce n'est pas le cas et un NOTICE détaillant le problème d'alignement.

Version agrégée (variante 3) : A partir d'un ensemble de rasters, retourne vrai si tous les rasters de l'ensemble sont alignés. La fonction ST_SameAlignment() est une fonction "agrégée" dans la terminologie de PostgreSQL. Cela signifie qu'elle opère sur des lignes de données, de la même manière que les fonctions SUM() et AVG().

Disponibilité : 2.0.0

Amélioration : 2.1.0 ajout de la variante agrégée

Exemples : 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

Voir aussi

Section 9.1, “Chargement et création de rasters”, ST_NotSameAlignmentReason, ST_MakeEmptyRaster