terça-feira, 5 de fevereiro de 2013

DEFININDO/ALTERANDO O SISTEMA DE COORDENADAS EM TABELAS DO POSTGIS

   Apesar de ser algo relativamente simples (mas ao mesmo tempo muito importante), tive bastante dificuldade de encontrar informações quando procurei sobre como definir e/ou alterar o sistema de coordenadas de geometrias dentro do PostGIS nas versões mais recentes do PostgreSQL/PostGIS, que definem os SRIDs na view geometry_columns (no meu caso, uso PostgreSQL 9.1 com PostGIS 2.0), portanto aqui está, de uma maneira simples, como fazer isso.

Para definer o SRID use:
ALTER TABLE nome_da_tabela ALTER COLUMN coluna_espacial TYPE Geometry(tipo_da_geometria, numero_do_SRID_desejado) USING ST_SetSRID(coluna_espacial, numero_do_SRID_desejado);
Exemplo:
ALTER TABLE ponto_onibus ALTER COLUMN geom TYPE Geometry(Point, 31982) USING ST_SetSRID(geom,31982);
(define o SRID 31982 – SIRGAS 2000 UTM 22 Sul – para a tabela ponto_onibus, representada por pontos) .

Para alterar (transformar, ou seja, fazer a conversão de um SRID já definido para outro) o SRID use:
ALTER TABLE nome_da_tabela COLUMN coluna_espacial TYPE Geometry(tipo_da_geometria, numero_do_SRID_desejado) USING ST_Transform(coluna_espacial, numero_do_SRID_desejado);
Exemplo:
ALTER TABLE dutos ALTER COLUMN geom TYPE Geometry(LineString,29192) USING ST_Transform(geom,29192);
(altera a tabela dutos, representada por linhas, para o SRID 29192 – SAD69 UTM 22 Sul) .

Observações:
- As informações sobre todos os sistemas de coordenadas disponíveis encontram-se na tabela spatial_ref_sys, no schema public.
- As informações sobre os SRIDs das tabelas encontram-se na view geometry_columns, no schema public.

Nenhum comentário:

Postar um comentário