ジオメトリの単純化(一般化)


22

ジオメトリを単純化するための推奨される方法は何ですか?投影を念頭に置いて、たとえば状態のジオメトリを単純化します。

歪みのない単純化を可能にする「等距離」投影に変換してから、選択した投影に戻すことを聞いたことがあります。


4
私は確信していませんが、「一般化」はこれをより説明するタグかもしれません。少なくともArcGISのコンテキストでは、Simplifyはトポロジの正確さを保証する方法です。ウィキペディアによると、単純化は地図作成の一般化の一部です。en.wikipedia.org/wiki/Cartographic_generalization
カーククイケンドール

@Kirkの素晴らしい提案
ジョンウェルドン

回答:


11

glennonが述べたように、これを行うための標準アルゴリズムはDouglas-Peuckerであり、これはPostGIS(すなわちGEOS)via St_SimplifyArcGIS via GeneralizeおよびGRASS via などのソフトウェアで使用されるデフォルトのアルゴリズムですv.generalize。ウィキペディアの記事は、Python実装にもリンクしています

GRASSは、v.generalizeのヘルプページで説明されているように、さまざまなアルゴリズムをサポートしています

投影の問題については、この場合は無視できる赤ニシンだと思います。頭に浮かぶ唯一の問題は、線が単純化されないように線を高密度化することです。



3

「単純化」とは、単純にポイント数を減らすことを意味する場合、ダグラスピーカーフィルターなどの基本的なフィルタリングアルゴリズムを使用します。そのための便利なリンク:http : //mapshaper.org/

「単純化」によって、より単純な形状を取得することを意味する場合、フィルタリングアルゴリズムは必ずしも適切ではありません。より高度な一般化アルゴリズムを使用する必要があります。そのようなアルゴリズムのいくつかの文書が存在しています: http://generalisation.icaci.org/、成果のいくつかの例で:http://generalisation.icaci.org/index.php/results。一般的な商用GISソフトウェアには、これらのアルゴリズムの一部のみが実装されています。これを使用していくつかにアクセスできます:http : //webgen.geo.uzh.ch/


サイトaci.ign.frにはアクセスできません。あなたが言及している「高度な一般化アルゴリズム」の例を見つけることができる場所を知っていますか?
radouxju

URLが変更されました。チェック:generalisation.icaci.org
julien

2

コンピューターの処理能力の制限によりジオメトリを単純化する場合は、さまざまなレベルで各ジオメトリのアルファマスクが関連付けられたミップマップの生成を検討することをお勧めします。


非常に興味深い、詳しく説明してもらえますか?
ジョンウェルドン

さて、これを行うには、ユーザーがマップ上でズームインおよびズームアウトできるレベルごとに、各ベクトルジオメトリをビットマップにラスタライズする必要があります。次に、各レベルのベクトルジオメトリを何度も描画する代わりに、ビットマップを代わりにレンダリングします。そのため、ジオメトリをラスタライズするための計算(頂点が大量にある場合はコストがかかります)は、ユーザーがアクションを実行するたびにではなく、事前に行われます。アルファマスクは、ビットマップを描画するときに画像に挿入されます。アルファマスクは使用されるため、図形自体のみが描画されます。
ジョンブリングハースト

1

データセットの何らかの解像度を考慮する必要があるため、これは難しいトピックです。ジオメトリの頂点が別の頂点と等しいのはいつですか?変換と再変換について聞いたことはありませんが、興味深いテストになります。

単純なジオメトリは、OGC、自己交差しないジオメトリ、およびポリゴンの場合は、アウターシェルとインナーシェル以降の正しい向きのジオメトリです。

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