sql >> Databáze >  >> RDS >> PostgreSQL

Jak postgis zpracovává souřadnice odeslané s jiným SRID

Transformace SRS geometrií je mnohem víc než jen změna jejich SRID. Pokud se tedy z nějakého důvodu po transformaci vrátí souřadnice s přesně stejnými hodnotami, s největší pravděpodobností k žádné transformaci nedošlo.

Tento příklad používá ST_Transform transformovat geometrii z 25832 na 4326 . Podívejte se na výsledky sami:

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)
  • Transformace polygonu ve vaší otázce je mimochodem správná.

Ujistěte se, že django skutečně ukládá hodnoty, které jste zmínili. Pošlete 25832 geometrii a přímo zkontrolovat SRS v databázi. Pokud kontrolujete pouze pomocí django, může se stát, že v požadavcích znovu transformuje souřadnice, což může vysvětlovat, že nevidíte žádný rozdíl.

K vaší otázce:

WGS84 je celosvětově nejpoužívanější SRS, takže bych měl tendenci říci ano, ale vše závisí na vašem případu použití. Pokud si nejste jisti, který SRS použít, může to znamenat, že váš případ použití na něj neklade žádné omezení. Držte se tedy WGS84, ale mějte na paměti, že ve své aplikaci nekombinujte různé SRS. Btw:pokud se pokusíte uložit geometrie ve více SRS ve stejné tabulce, PostgreSQL vyvolá výjimku;)

Další čtení:ST_AsEWKT , WGS84



  1. Jedinečný klíč v Oracle s příklady

  2. Chyba C++ executeQuery() při zobrazování dat MySQL z tabulky

  3. maven spustí postgres server

  4. Překrývající se rezervační dotaz