2

私はGeoDjangoとPostgisで作業しており、4326から24877へのポイントで変換を行っています。結果を確認したところ、同じではありません

私の価値観は次のとおりです。

Latitude -16.42238172128686
Longitude -71.47541752550751

初期位置

x、y 座標として long lat を使用する

In [63]: pnt = Point(-71.47541752550751, -16.42238172128686, srid=4326)
In [64]: pnt.transform(CoordTransform(SpatialReference(4326), SpatialReference(24877)))
In [65]: pnt.x, pnt.y, pnt.srid
Out[65]: (1521142.247877425, 8160547.8770980425, 24877)

In [66]: pnt = Point( 1521142.247877425,8160547.8770980425, srid=24877 )
In [67]: pnt.transform(CoordTransform(SpatialReference(24877), SpatialReference(4326)))
In [68]: pnt.x, pnt.y, pnt.srid
Out[68]: (-71.47541753138003, -16.42238165040434, 4326)

計算後の位置

Postgre 上の SQL

SELECT ST_AsText(ST_Transform(ST_SetSRID(ST_MakePoint(-71.47541752550751, -16.42238172128686), 4326),24877))

POINT(1520903.86571082 8160169.90886929)

postgis の結果からデータを取得する

In [69]: pgs = Point(1520903.86571082, 8160169.90886929, srid=24877)
In [70]: pgs.transform(CoordTransform(SpatialReference(24877), SpatialReference(4326)))
In [71]: pgs.x, pnt.y, pgs.srid
Out[71]: (-71.47745375612124, -16.42238165040434, 4326)

SQL結果の画像

ご覧のとおり、少なくとも 300 メートルで geodjango と postgres に違いがあり、それは異なる場所を意味します。

いくつかのフォーラムやチャットを読んで質問した後、これは presition に関連していることがわかりました。このトピックの初心者として、インターネットでそれについてもっと質問していました。

作業を継続するのに十分な知識を与えてくれる情報を探しています。例えば:

  1. それを行う正しい方法
  2. この違いの理由
  3. システム間の差は何メートルですか、またはそれを計算する正しい方法です
  4. この位置を検証する方法
  5. この情報に取り組む最善の方法は何ですか
4

2 に答える 2

2

csotelo: 緯度と経度が入れ替わっていますが、そのポイントは 24877 には存在しないようです

>>> p = Point(-16.42238172128686,-71.47541752550751, srid=4326)
>>> p.transform(24877)
>>> print p
POINT (2388367.8123248801566660 916017.4938517492264509)

# SELECT ST_AsText(ST_Transform(ST_SetSRID(ST_MakePoint(-16.42238172128686,-71.47541752550751), 4326),24877));
                st_astext                 
------------------------------------------
 POINT(2388367.81232488 916017.493851751)

点 (-71.47541752550751, -16.42238172128686, srid=4326) は 24877 で定義された領域の外側にあるため、近似しかできません。その点が実際には南極の近くにあることがわかります。 https://maps.google.nl/maps?q=-71.47541752550751,+-16.42238172128686&hl=en&ll=-71.475417,-16.422382&spn=60.209188,270.527344&sll=53.157645,5.636521&sspn=1.462449,4.22699&t=m&z=3

于 2013-07-19T00:35:54.797 に答える