PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como o postgis está tratando as coordenadas enviadas com diferentes SRID


Transformar SRS de geometrias é muito mais do que apenas mudar seu SRID. Portanto, se por algum motivo após uma transformação as coordenadas retornarem exatamente com os mesmos valores, provavelmente não houve transformação alguma.

Este exemplo usa ST_Transform para transformar uma geometria de 25832 para 4326 . Veja você mesmo os resultados:
WITH j (geom) AS (
 VALUES('SRID=25832;POINT (11.061 49.463)'::geometry))
SELECT ST_AsEWKT(geom),ST_AsEWKT(ST_Transform(geom,4326)) FROM j;

 

       st_asewkt            |                      st_asewkt                       
---------------------------------+------------------------------------------------------
 SRID=25832;POINT(11.061 49.463) | SRID=4326;POINT(4.511355210946569 0.000446125446657)
(1 Zeile)
  • A transformação do polígono em sua pergunta está correta.

Certifique-se de que o django esteja realmente armazenando os valores que você mencionou. Envie um 25832 geometria e verificar diretamente o SRS no banco de dados. Se você está apenas verificando usando o django, pode ser que ele esteja transformando as coordenadas novamente nas solicitações, o que pode explicar que você não vê nenhuma diferença.

Para sua pergunta:

WGS84 é o SRS mais usado em todo o mundo, então eu diria que sim, mas tudo depende do seu caso de uso. Se você não tiver certeza de qual SRS usar, isso pode indicar que seu caso de uso não impõe nenhuma restrição a ele. Portanto, atenha-se ao WGS84, mas lembre-se de que você não mistura SRS diferentes em seu aplicativo. Btw:se você tentar armazenar geometrias em vários SRS na mesma tabela, o PostgreSQL irá gerar uma exceção;)

Leitura adicional:ST_AsEWKT , WGS84