QGIS座標精度


11

QGISがポイントのセットを定義する座標値の小数点以下(x番目)は重複していますか?

QGISは小数点以下15桁を処理すると考えていました。しかし、それは私が主にシェープファイルに取り組んでいたという理由だけでした。

ここに画像の説明を入力してください

ただし、一時的なスクラッチレイヤーなど、別のデータソースを選択した場合、制限は適用されません。

ここに画像の説明を入力してください

以下のようなダミーデータを使用して、2つのツールで簡単なテストを行い、座標の違いを特定できる最小値を見つけました。

  • QGISジオプロセシング: Delete duplicate geometries
  • MMQGISプラグイン: Delete Duplicate Geometries

ここに画像の説明を入力してください

ここに画像の説明を入力してください

出力QGIS Delete duplicate geometriesは上記の入力データと同じです(20個のレコードがすべて保存されています)。したがって、QGISはそれらがすべて別個であると判断する可能性があります。この制限は、この小さなテストで見られる1e-29(または1e-30)を超えていますか?

ちょうど比較として、MMQGIS Delete Duplicate Geometries以下で作成。MMQGISは、小数点以下16桁または17桁を制限として設定しているようです。

ここに画像の説明を入力してください


[編集]

私は私の質問の中心部分が何であるか明確ではなかったのではないかと心配しています。座標値と重複/重複の関係を理解することを目的としています。これは私の質問の最初の段落で述べたとおりです。この種の知識が、フィールド計算式を微調整することで重複する機能を簡単に制御するのに役立つことを願っています。

しかし、私が焦点を当てようとしていた根本的な問題は、QGISがポイント(ノード)を重複として認識する小数点以下の桁数が、データソースによって異なるように見えることでした。

レイヤーにシェープファイルを使用する場合、QGISは小数点以下15桁を処理し、より小さい差(16または17)は認識されません... MMQGISもこの制限の影響を受けます(私の目には)。一時的にスクラッチレイヤーまたはDBレイヤーを作成する場合、この制限は30日以上になりますか?行動のこの変化は、私を不思議に思わせます。


2
データベースでフィーチャクラスを作成する際にArcGisを使用すると、2つの座標間の最小差を異なると見なすように指定できます(デフォルト値は、メートルで投影される座標では0.001 m、WGS84では0,000000008983153度と思われます)。また、これらの値がqgisで何であり、変更できるかどうかを知りたいです。
JR

回答:


2

QGIS Delete Duplicate Geometriesツール(QGIS 2.18のGeoalgorithms、Vector General Tools)は、QGISのPythonレイヤーによってエクスポート/エクスポーズされたジオメトリオブジェクトを操作するPythonスクリプトです。そして、この層の下にGEOS層があります。

GEOレイヤーのジオメトリ等値演算子は、2つのジオメトリを比較するときに(マップ距離単位の)許容値パラメーターを受け入れます。残念ながら、この許容範囲パラメーターはQGISのPythonレイヤーによって公開されていません。したがって、Delete Duplicate Geometriesでは、XY値がすべて完全に等しい場合にのみ、2つのジオメトリは等しいと見なされます。たとえば、POINT(1.000000 1.000000)はPOINT(1.00000001 1.00000001)と等しくありません。


QGISジオアルゴリズムをご覧いただきありがとうございます!調査結果から、ラッパーツール(Pythonスクリプトなど)が許容度パラメーターにアクセスできない場合、許容度はデータ型のみに依存するということですか?(つまり、許容範囲が選択したデータソースによって制御されているように見える理由は何ですか?)
Kazuhito

はい。この時点で、重複検出を行う前に、X値とY値を自分で切り捨てるか、丸める必要があります。これはPOINTについては簡単です(ただし、前後にいくつかのステップが必要です)が、他のジオメトリには(実質的な)プログラミングが必要になります。
ラルフティー

そうですか。さらなる説明をありがとう。今のところ少し残念ですが、QGISの将来のバージョンが(プログラマーではないという意味で)制御の余地をもっと与えてくれることを願っています。
和人

1

この主題に関する興味深い読み物は、このよくある質問です。緯度と経度の精度を測定しますか?

重複を特定するために設計されたツールは知りませんが、計算の観点からは、エンティティのストレージアーキテクチャとそれらを処理するソフトウェアによって数値が処理される方法の問題にすぎません。FLASEテストで数値が等しくない場合、言語が数値を表現する限り、2つの異なる数値が出力されます。多くの場合、複製の関心は、非常に近い値を見つけることであり、デジタル化の際の誤字を見つけることであり、どれだけ近いかではありません。

他のコンテキストでは、複製の目的は、十分に近いオブジェクトを識別することであり、実際的には一致します。

QGISがPythonをメイン言語として使用していると仮定すると、あなたの質問はPythonドキュメントに対処することができ、ベース2の算術が私たちの基本的な数学の本とどのように異なるかについての興味深い読書があります: Python:浮動小数点演算:問題と制限


@Marcoに感謝しますが、私が質問に集中したい点は、精度(したがって重複/重複の問題に直接関連する)はそのデータソース(シェープファイル、またはspatialiteなどのdb)によって制御されるようだということでした十分に明確ではなかったかもしれません。質問を編集して明確にします。
和人

0

私はいくつかの州で登録された土地測量士です。さまざまな投影で表示されるのは、ランバートまたはメルカトルグリッドからの直線/距離です。それは地球上に円錐を配置するようなもので、測定は地球の曲率より上の半径線上に配置されます。横メルカトル図法は、テネシー州のような東西の長い州の円筒図法です。調査グレードのGPSシステムを使用して、私たちはしばしば情報を世界の投影と比較します。すべての測定値は、測定された各ポイントで計算に組み込まれたパラメーターに基づいています。サブメーターパラメーターを持つGISグレードの機器を使用すると、1マイルまたは2マイルの範囲で非常によく一致します。角度測定の小数点以下約6桁が最大値であるため、精度が期待できます。1メートルの精度でポイントを何回GPSしても、高精度の測定値に一致する「平均」または「モード」さえ取得することはありません。要約すると、私がアンテナや衛星の情報を扱っているとき、私はメーターなどを気にしません。ああ、地球の中心へのそのポイントで計算された角度と比較して、フィールドの垂直角度を計算するシータ角度を使用して地球の昼寝の測定のための球面計算があります。真の測定値などはありません。私が1975年に調査を始めたときにその点を証明するために、上司は丘の道に2本の釘を4分の1マイル離して設置し、それを鎖でつなぎ、毎日1か月間距離を撃たなければなりませんでした。チェーンとHP距離計の大気補正では、距離計で3回、チェーンで1回だけ元の距離を一致させました。非常に謙虚な例であり、これらすべての年の間私と一緒にいます。GISコンベンションで土地測量士(彼)として発表されたとき、私は一度ブーイングを受けました。


あなたの言ってる事がわかります。実際、私は現実世界の精度で苦労しているのを発見したことはありません。QGISは、私がさまざまな場所に立っているナノスケールまたはピコスケールでさえ教えてくれますが、それも問題ありません。与えられた2つのポイントが重複していると言うのに必要な小数点以下の桁数がわからないだけです。ちなみに、1970年代の話を共有してくれて本当に感謝していますが、そのような先駆的なマッピングとGIS、特にGPS以前の時代について聞いたことがありません。ワオ。
和人
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.