ogr2ogr TPSスプラインメソッドが進行性エラーを作成する


8

私は次のようなcmdコマンドでogr2ogrスプライン変換を使用してシェープファイルを調整しようとしています:

C:\OSGeo4W64\bin\ogr2ogr.exe -f "ESRI Shapefile" C:\path\output.shp -tps --optfile C:\path\gcp.txt C:\path\input.shp

私は1000を超えるコントロールポイントを持っています(したがって、それらは別のファイルにあります)。そして、私はこの方法の精度に奇妙な問題があります。この質問で、ogr2orgのスプライン法は実際には正確ではないことをすでに見ました。しかし、GCPの数とデータセットの範囲により、精度が北から南に向かって劇的に低下していることがわかります。このような: スプラインエラー

北では、この方法はほぼ正確(0.001 mの誤差)であり、スムーズに精度が失われ、南では、約60 mの誤差が生じます。

すべてのGCPのRMSEを計算し、それを座標とコントロールポイントのID番号に対してプロットしました(ほとんどの場合、北から始まるGCPを作成していました)。そして、私が持っています:

yエラー xエラー IDエラー

gdalのソースコード(gdal_tpsthinplatesplineogr2ogr_libモジュールを見つけました)を見つけて読み込もうとしましたが、その言語(C ++?)がわからず、メソッドのしくみがわかりません。ogr2ogrの多項式1、2、および3次は正常に機能しています(これらは正確な方法ではありませんが、エラーは進行していません)。

では、なぜY座標に応じてスプライン精度が対数的に減少するのでしょうか。(X座標の場合、16000 mごとに精度のジャンプが見られます)。これはどのようにして可能ですか?この調整方法はどのように機能しますか?この問題を解決するにはどうすればよいですか?(Windows 7、64ビットを使用しています)


2
GDAL開発者は、list.osgeo.org/pipermail/gdal-dev/2017-June/046816.htmlで予備分析を行いました。おそらく、あなたはその議論に参加するべきです。
user30184 2017年

GCPを共有できますか?結果をレビューし、係数をチェックします。これを説明することができ、不安定性を最小限に抑えることができると思います。ありがとう!
デビッド2017年

回答:


4

GDAL開発者の答えでさえ、Rouaultは正しい方向性を示すのに本当に役立ちました。

これが数値の不安定性のケースであること、および(CFDの経験から)データの非常に小さい値によって不安定性が引き起こされる可能性があることを知って、制御点を分析しました。私はTINを構築し、GCP間の距離を計算して、誤って2つのポイントが互いに非常に近くに配置されていることを発見しました(ほぼ一致し、それらの間の距離は3 m)。それらの1つを削除すると、スプラインは完全に機能しました。

このポイントのペアは極北にあったため、不安定性は北から南に始まりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.