GISソフトウェアアプリのトポロジエラーを修正するアルゴリズム


19

関連する質問はこちら。

GISアプリケーションにはトポロジの正確性を確保することが不可欠です。これは、ユーザーまたはポリゴンのブール演算からの入力に、後続の演算の品質を損なう深刻なトポロジの問題が(ポリゴンが正しく見えても)あるためです。

クリーンポリゴンは、トポロジの正確性を確保するためにジオウィザードが行う方法です。

Arcgisには、スライバをクリーンアップするコマンドもあります。

私の質問は、既存のソフトウェアパッケージを使用して、ポリゴン入力データがトポロジ的に正しいことを確認する方法ではありません。むしろ、私の質問は、これらのソフトウェアパッケージがこれらのクリーニング手順をどのように実装するかについてです。言い換えると、一連のポリゴン入力が与えられた場合、すべてのトポロジエラーを確実に修正できるようにするために使用できるアルゴリズムは何ですか?


2
「Integrate」と呼ばれる別のArcGIS GPツールがあり、ヘルプリソースでアルゴリズムの簡単な説明があります:help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…ただし、よく指定されていません。
アラン・アデア

Geo Wizardsからの独自のリンクは、実際にはアルゴリズムをかなりよく表しています。さらに何を期待しますか?
johanvdw

@hohanvdw、リンクが示すものはアルゴリズムではなく、ソフトウェアを使用してアルゴリズムをアクティブにしてポリゴンをクリーニングする方法のステップです。2つの違いは非常に大きいです。
グラビトン

1
平坦化アルゴリズムを検索すると、何か有用なものが見つかる場合があります。
カーククイケンダル

@KirkKuykendall、平坦化アルゴリズムがどのように役立つかはよくわかりません。この種の計算幾何学よりもグラフ理論により適していると思いましたか?
グラビトン

回答:


7

Google Scholarをすばやく検索すると、以下の引用された記事が見つかりました。

  • ティエリー・ウベダとマックス・J・エーゲンホーファー。GISのトポロジエラー修正。Advances in Spatial Databases、Lecture Notes in Computer Science、1997、Volume 1262/1997、281-297、DOI:10.1007 / 3-540-63238-7_35(PDF

  • シルビーサーヴィニエ、ティエリーウベダ、アランピュリチェリ、ロバートローリーニ。 地理データベースの空間的整合性改善の方法論GeoInformatica、2000、Volume 4、Number 1、7-34、DOI:10.1023 / A:1009824308542(PDF


+1よく考えられた紙のように見えます。しかし、著者が「シーン」の意味を定義してくれることを願っています。
カーククイケンドール

おかげで、2人目の記事(同じ著者の1人による)を追加しましたが、一見すると「シーン」とは何なのかわかりません。
blah238

10

GRASS GISのソースコードとマニュアルに、トポロジクリーニングルーチンの詳細な説明があります:http : //grass.osgeo.org/programming7

クリーニングルーチンはここにコーディングされています:http : //trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean

基礎となるルーチンの例:

基本的な概念の概要は次のとおりです。http//grass.osgeo.org/programming7/vectorlib.html#vlibTopoExamples


4

アルゴリズムではありませんが、このページでは、ArcGISツールの[ジオメトリのチェック/ジオメトリの修復]で「ジオメトリのチェック」が検索するトポロジエラーのタイプに関する情報を提供します。http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000

Null geometry: The record will be deleted from the feature class. To keep records with null geometry, uncheck the tool dialog option Delete Features with    Null Geometry, or in scripting set the delete_null parameter to KEEP_NULL.
Short segment: The geometry's short segment will be deleted.
Incorrect ring ordering: The geometry will be updated to have correct ring ordering.
Incorrect segment orientation: The geometry will be updated to have correct segment orientation.
Self intersections: the areas of overlap in a polygon will be dissolved.
Unclosed rings: The unclosed rings will be closed by connecting the ring's end points.
Empty parts: The parts that are null or empty will be deleted.
Duplicate vertex: One of the vertices will be deleted.
Mismatched attributes: The Z or M coordinate will be updated to match.
Discontinuous parts: Multiple parts will be created from the existing discontinuous part.
Empty Z values: The Z value will be set to 0.

3

特定のデータセットのトポロジエラーの修正を完全に自動化する方法はないと思います。ダングルなど、いくつかのものは、分割を自動化し、結果のダングルを削除できる場合があります。しかし、2つの隣接するポリゴン間のスライバーはどうでしょうか。どのポリゴンをどのスライバーとマージして排除する必要がありますか?このタイプの質問にはユーザー入力が必要なようです。しかし、エラーを特定するために、アルゴリズムはDE-9IMのある種のバリエーションを使用していると思います(9は何かを拡張しました)。あなたの最善の策は、Java Topology Suite(JTS)を見ることだと思います。具体的には、Geometry Graphクラス。これは、特定のジオメトリのさまざまなコンポーネントを構築するために使用でき、さまざまなトポロジの問題をチェックするために使用できると思います。私は一度もやったことがありませんが、少し前に調べました。

Javaに慣れていない場合、GEOSはJTSのC ++フレーバーであるか、NetTopologySuiteはC#フレーバーです。

お役に立てば幸いです。


1

ArcGISのIntegrateコマンドのドキュメントについては既に言及しましたが、ESRIは、Integrate(およびより一般的に許容誤差を伴うジオプロセシング操作)で使用される処理ロジックを文書化したArcGISの幾何学的処理についての技術論文も作成しました。これは、ジオプロセシングから生成されるトポロジエラーの回避と修正に焦点を当てています。役に立つかもしれないいくつかの参考文献があります。

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