Lors de l'importation de mes données de fichier de formes dans PostGIS, je n'avais pas sélectionné la projection appropriée.
Comment est-ce que je change maintenant le SRID des données, sans transformer les coordonnées?
la source
Lors de l'importation de mes données de fichier de formes dans PostGIS, je n'avais pas sélectionné la projection appropriée.
Comment est-ce que je change maintenant le SRID des données, sans transformer les coordonnées?
Il existe une fonction de ligne unique qui le fait pour vous. Il suffit d'utiliser la requête SQL suivante:
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
Mais, si vous êtes comme moi, les marches miniatures basses vous intéresseront. Logiquement parlant, la fonction ci-dessus est équivalente au processus en quatre étapes suivant:
Dans la table geometry_columns, mettez à jour le SRID avec la valeur requise.
Supprimez la contrainte sur la table à l'aide de l'instruction SQL suivante
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
Mettre à jour le SRID de la géométrie à l'aide de l'instruction SQL suivante
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
Ajoute la contrainte en utilisant l'instruction SQL suivante
ALTER TABLE mytable
ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (newSRID));
Avec PostGIS 2.x, les colonnes de géométrie utilisent généralement des typmods
geometry(Point, 1234)
. Pour ceux-ci, vous pouvez utiliser ALTER TABLE pour modifier directement le type de colonne de géométrie en une étape.Par exemple, pour définir le SRID de
geom
dansmytable
sur WGS84, utilisez ST_SetSRID :Notez que cela ne modifiera que le SRID, mais ne transformera pas les données de coordonnées.
la source
UpdateGeometrySRID
ne prend pas en charge.