Al importar mis datos shapefile a PostGIS, no seleccioné la proyección adecuada.
¿Cómo puedo cambiar ahora el SRID de los datos, sin transformar las coordenadas?
Al importar mis datos shapefile a PostGIS, no seleccioné la proyección adecuada.
¿Cómo puedo cambiar ahora el SRID de los datos, sin transformar las coordenadas?
Hay una función de una sola línea que lo hace por usted. Sólo tiene que utilizar la siguiente consulta SQL:
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
Pero, si eres como yo, te interesarán los pasos de bajo nivel, en miniatura. Lógicamente, la función anterior equivale al siguiente proceso de cuatro pasos:
En la tabla geometry_columns, actualice el SRID al valor requerido.
Elimine la restricción en la tabla, utilizando la siguiente sentencia SQL
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
Actualice el SRID'd de la geometría utilizando la siguiente sentencia SQL
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
Vuelva a añadir la restricción utilizando la siguiente sentencia 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 suelen utilizar typmods como geometry(Point, 1234)
. Para ello puede utilizar ALTERAR TABLA para modificar directamente el tipo de columna de la geometría en un solo paso.
Por ejemplo, para establecer el SRID de geom
en mytable
a WGS84, utilice ST_SetSRID :
ALTER TABLE mytable
ALTER COLUMN geom
TYPE geometry(Point, 4326)
USING ST_SetSRID(geom, 4326);
Tenga en cuenta que esto sólo alterará el SRID, pero no transformará los datos de coordenadas.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.