7-paramデータム変換の結果の大きな違い


12

WGS84緯度/経度ポイントを変換しようとしています

11d42'32.10629" E 5d12'56.75371" S

3つの異なるソフトウェアパッケージ(Proj4、GeoTrans、Leica GeoOffice)で提供されていますが、結果には非常に大きな違いがあります-XとYで数百メートル前後!これらのバリエーションは、3ではなく7つのパラメーターでのみ表示されることに注意してください。

Proj4

cs2cs + proj = longlat + ellps = WGS84 + datum = WGS84 + no_defs + to + proj = utm + zone = 32 + ellps = clrk80 + towgs84 = 178.3,316.7,131.5、-5.278、-6.077、-10.9792、-19.166 +南+ units = m + no_defs


GeoTrans

Delta X 178.3 
Delta Y 316.7 
Delta Z 131.5 
Rot X -5.278 
Rot Y -6.077 
Rot Z -10.9792 
SF = -19.166 / 0.999980834 (0.000019166)

ライカGeoOffice

スクリーンショット


結果はそれぞれ次のとおりです。

  1. 800392 9422525
  2. 800306 9422840
  3. 800941 9422891

3つのパッケージはすべて、7-param変換に同じ数学的手法(Bursa-Wolf手法)を使用していると思います。この大きな変動の原因は何でしょうか?


Geo Officeでは、Clarke 1880 IGN楕円体はカスタム定義ですか?パラメータを投稿してもしなくても投稿できますか?
mkennedy

他の人からライカのスクリーンショットを受け取りましたが、まだよくわかりません。
WindRider

回答:


9

まず、Proj4はEPSGが「Position Vector」バージョンの7パラメーターメソッドと呼ぶものを使用します。GeoTransとLeica GeoOfficeは、EPSGが「座標フレーム」と呼んでいた他のバージョンを使用する可能性があります。両方の方法は同等ですが、回転行列は異なり、角度パラメーターの符号を変更する必要があります。

第二に、Leica GeoOfficeの変換定義のスクリーンショットを提供してくれてありがとう。Proj4定義またはこの定義が誤って定義されています。定義パラメーターEllipsoid AとEllipsoid Bを切り替える必要があります。現在、この変換はWGS84からCongo60に変換します。Proj4では、オプションが+ towgs84であるため、FROM Congo60 TO WGS84として定義されていることに注意してください。定義の方向を変更するには、すべてのパラメーターの符号を変更します。また、GeoOfficeのヘルプを確認し、SFパラメーターが100万分の1のバージョンを要求するのか、既にスケールファクター値に変換されているのかを確認します。

GeoTransについて知りません。NGAソフトウェアのことですか?とにかく、うまくいけばGeoOfficeとProj4を一致させることができます。


1
Y(北/緯度)の値は、Clarke 1880の値がまったく同じではない可能性がありますが、60 mは大きすぎるようです。
mkennedy

1
@mkennedy:ライカなしで調整できるかどうかを確認するために、Arcgisで行ったのと同じ計算を行うことができますか?
-AndreJ

1
@AndreJoost、確かに。EsriバージョンのEPSG 1802および28232を使用して、東向きになりました:800230.139北向き:9423133.413。
mkennedy

1
ライカの結果を再現できるかどうかを確認するために、いくつかのバリエーションを試しましたが、できませんでした。あなたが見つけた同じ問題:60+ mでYオフ。
mkennedy

1
Proj4(およびArcGIS!)ソリューションが正しいと確信しています。Proj4ソースが開いています。ArcGISのコードは公開されていませんが、約15年にわたって扱ってきました。また、Geotrans 3.0にカスタム変換を追加し、Proj4 / ArcGISと同じ結果を得ました。
mkennedy

4

proj4の場合、パラメーターの符号を逆にする必要があります。

この定義ページを参照してください。

http://www.spatialreference.org/ref/epsg/62826405/prettywkt/

GEOGCS["Pointe Noire (deg)",
    DATUM["Congo 1960 Pointe Noire",
        SPHEROID["Clarke 1880 (IGN)",6378249.2,293.4660212936269,
            AUTHORITY["EPSG","7011"]],
        TOWGS84[-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849],
        AUTHORITY["EPSG","6282"]],
    PRIMEM["Greenwich",0.0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.017453292519943295],
    AXIS["Geodetic latitude",NORTH],
    AXIS["Geodetic longitude",EAST],
    AUTHORITY["EPSG","62826405"]]

どこから値を取得したのかわかりません。

QGISはEPSG:28232 Point Noire UTM 32Sを次のように定義しています:

+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-148,51,-291,0,0,0,0 +units=m +no_defs

そして、7つのパラメータの結果はそこから遠く離れてはいけません。


編集

GDAL 1.10では、次の結果が得られます。

4326-proj-3 parameters:
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-148,51,-291,0,0,0,0 +units=m +no_defs
800232.21   9423131.96 -1.76
4326-proj-7 parameters from spatialrefrence.org:
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849 +units=m +no_defs
800230.13   9423133.46 91.31
4326-proj-7 parameters from proj4 datum_shift.csv (EPSG:1802):
cs2cs +init=epsg:4326 +to +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166 +units=m +no_defs
800230.13   9423133.40 -5.72

3メートル未満の距離です。EとSは空白なしで次数に従う必要があることに注意してください。

また、記録のために:towgs84をゼロに設定すると、次の結果になります。

800310.94   9422829.37 -109.32

ポイントノワール度EPSG:4262からポイントノワールUTMに変換すると、次の結果になります。

800311.21   9422892.49 0.00

ご覧のとおり、同じパラメーターでもライカとは大きな違い(> 600 m!)があります。これが起こる理由と同じ結果を得る方法を知る必要があります。Proj4で使用されている地心座標との間の変換方法によるものでしょうか?非常に複雑な数式があります。ライカは別の方法を使用しているのでしょうか?
WindRider

1
ライカは3パラメータ変換を提供していますか?そして、彼らはそれのために何を計算しますか?
-AndreJ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.