PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment postgis traite-t-il les coordonnées envoyées avec différents SRID

Transformer le SRS des géométries est bien plus qu'un simple changement de leur SRID. Donc, si pour une raison quelconque après une transformation, les coordonnées reviennent avec exactement les mêmes valeurs, il n'y a probablement pas eu de transformation du tout.

Cet exemple utilise ST_Transform pour transformer une géométrie de 25832 à 4326 . Voyez vous-même les résultats :

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)
  • La transformation Polygone dans votre question est correcte.

Assurez-vous que django stocke vraiment les valeurs que vous avez mentionnées. Envoyez un 25832 géométrie et vérifier directement le SRS dans la base de données. Si vous ne faites que vérifier à l'aide de django, il se peut qu'il transforme à nouveau les coordonnées dans les requêtes, ce qui peut expliquer que vous ne voyiez aucune différence.

À votre question :

WGS84 est le SRS le plus utilisé dans le monde, donc j'aurais tendance à dire oui, mais tout dépend de votre cas d'utilisation. Si vous ne savez pas quel SRS utiliser, cela peut indiquer que votre cas d'utilisation ne lui impose aucune contrainte. Donc, respectez WGS84 mais gardez à l'esprit que vous ne mélangez pas différents SRS dans votre application. Au fait :si vous essayez de stocker des géométries dans plusieurs SRS dans la même table, PostgreSQL déclenchera une exception ;)

Lectures complémentaires :ST_AsEWKT , WGS84