Al importar mis datos de archivo de forma a PostGIS, no seleccioné la proyección adecuada.
¿Cómo cambio ahora el SRID de los datos, sin transformar las coordenadas?
Al importar mis datos de archivo de forma a PostGIS, no seleccioné la proyección adecuada.
¿Cómo cambio ahora el SRID de los datos, sin transformar las coordenadas?
Respuestas:
Hay una función de línea única que hace esto por usted. Simplemente use la siguiente consulta SQL:
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
Pero, si eres como yo, te interesarían los pasos en miniatura de bajo nivel. Lógicamente hablando, la función anterior es equivalente al siguiente proceso de cuatro pasos:
En la tabla geometry_columns, actualice el SRID al valor requerido.
Suelte la restricción en la tabla, utilizando la siguiente instrucción SQL
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
Actualice el SRID de la geometría utilizando la siguiente instrucción SQL
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
Agregue la restricción utilizando la siguiente instrucción SQL
ALTER TABLE mytable
ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (newSRID));
Con PostGIS 2.x, las columnas de geometría generalmente usan typmods como geometry(Point, 1234)
. Para estos, puede usar ALTER TABLE para modificar directamente el tipo de columna de geometría en un solo paso.
Por ejemplo, para establecer el SRID de geom
in mytable
en WGS84, use ST_SetSRID :
ALTER TABLE mytable
ALTER COLUMN geom
TYPE geometry(Point, 4326)
USING ST_SetSRID(geom, 4326);
Tenga en cuenta que esto solo alterará el SRID, pero no transformará los datos de coordenadas.
UpdateGeometrySRID
no es compatible.