Ao importar meus dados do shapefile para o PostGIS, não selecionei a Projeção adequada.
Como agora altero o SRID dos dados, sem transformar as coordenadas?
fonte
Ao importar meus dados do shapefile para o PostGIS, não selecionei a Projeção adequada.
Como agora altero o SRID dos dados, sem transformar as coordenadas?
Existe uma função de linha única que faz isso por você. Basta usar a seguinte consulta SQL:
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
Mas, se você é como eu, estaria interessado nas etapas em miniatura e de baixo nível. Logicamente falando, a função acima é equivalente ao seguinte processo de quatro etapas:
Na tabela geometry_columns, atualize o SRID para o valor necessário.
Solte o contraint na tabela, usando a seguinte instrução SQL
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
Atualize o SRID da geometria usando a seguinte instrução SQL
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
Adicione a contraint novamente usando a seguinte instrução SQL
ALTER TABLE mytable
ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (newSRID));
Com o PostGIS 2.x, as colunas de geometria geralmente usam tipos como
geometry(Point, 1234)
. Para isso, você pode usar ALTER TABLE para modificar diretamente o tipo de coluna geométrica em uma etapa.Por exemplo, para definir o SRID de
geom
emmytable
para WGS84, use ST_SetSRID :Observe que isso alterará apenas o SRID, mas não transformará os dados das coordenadas.
fonte
UpdateGeometrySRID
não suportam.