sql >> データベース >  >> RDS >> PostgreSQL

postgisは異なるSRIDで送信された座標をどのように扱いますか

    ジオメトリのSRSを変換することは、SRIDを変更するだけではありません。したがって、何らかの理由で変換後に座標がまったく同じ値で戻った場合、おそらく変換はまったくありませんでした。

    この例では、 ST_Transformを使用しています。 25832からジオメトリを変換します 4326へ 。結果を自分で確認してください:

    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)
    
    • 質問のポリゴン変換は正しいです。

    djangoがあなたが言及した値を本当に保存していることを確認してください。 25832を送信します ジオメトリを作成し、データベースのSRSを直接確認します。 djangoを使用してチェックしているだけの場合は、リクエストで座標が再び変換されている可能性があります。これは、違いが見られないことを説明している可能性があります。

    あなたの質問へ:

    WGS84は世界中で最も使用されているSRSであるため、「はい」と言う傾向がありますが、それはすべてユースケースによって異なります。どのSRSを使用するかわからない場合は、ユースケースがそれに制約を課していないことを示している可能性があります。したがって、WGS84に固執しますが、アプリケーションで異なるSRSを混在させないように注意してください。ところで:同じテーブルの複数のSRSにジオメトリを保存しようとすると、PostgreSQLで例外が発生します;)

    さらに読む: ST_AsEWKT WGS84



    1. MySQLで最大2つの値を取得するにはどうすればよいですか?

    2. JavaHibernateがMySQLレプリケーションが同期していることを確認します

    3. MySQL-テーブルBに存在しないテーブルAの値のリストを取得するにはどうすればよいですか?

    4. c9.ioを使用する場合、MySQLに接続するにはどうすればよいですか?