Reprojection

Comme pour les géométries, la fonction « ST_Transform » reprojette le raster en entrée dans le référentiel spatial (SRID) donné. À cet effet, PostGIS ré-échantillonne les pixels par application de la fonction de transformation du référentiel source vers celui de destination.

1
CREATE TABLE mnt_4326 AS
2
SELECT rid, ST_Transform(rast, 4326) rast FROM mnt_25m_asc;
3
SELECT AddRasterConstraints('mnt_4326', 'rast');
Rendu QGIS du raster reprojeté en EPSG:4326 : attention, le projet QGIS doit être dans la même projection (indiqué en bas à droite) pour éviter une double-reprojection par QGIS.

On observe des perturbations en noir, à cause de la division en tuiles : chaque tuile a été reprojetée indépendamment. La solution consiste à donner en argument à ST_Transform un raster de référence au lieu du SRID. Pour notre exemple, on utilisera simplement ST_Union pour agréger les tuiles en un seul raster avant de reprojeter. En conséquence la table « mnt_4326_2 » aura un raster monolithique non-tuilé :

1
CREATE TABLE mnt_4326_2 AS
2
SELECT 1 as rid, ST_Transform(st_union(rast), 4326) rast FROM mnt_25m_asc;
3
SELECT AddRasterConstraints('mnt_4326_2', 'rast');
Reprojection sans erreur avec l'agrégation par ST_Union