PostGISでアウトラインを構築するための一般化戦略をお探しですか?


22

ラスタデータセットからベクトル化された建物のフットプリントのデータセットがあります。現在、データセットはラスターデータの単なるベクター表現です。建物の隅にのみ頂点があるポリゴンデータセットが欲しい。PostGISでSimplifyコマンドを使用しようとしましたが、成功は限られていました。

もっと良い方法はありますか?

回答:


17

単純化の構築専用のアルゴリズムが多数あります。あなたは見ていて、このウェブサイトの概要については、を。この質問も参照してください。次を使用できます:

  • アウトラインの単純化の構築:アウトラインの短すぎるエッジを再帰的に削除し、隣接するエッジを長くします。例:

代替テキスト

  • 最小の周囲長方形アルゴリズム:建物のジオメトリを最小の周囲長方形で置き換えることにあります。この長方形は、建物の初期領域に合わせて拡大縮小することもできます。例:

代替テキスト

  • 二乗アルゴリズム:エッジに軽い回転を適用して、コーナーを完全に正方形にします。例:

代替テキスト

これらの変換は、あなたのニーズに十分かもしれません。それらを組み合わせるのは面白いかもしれません。

これらのアルゴリズムがPostGISに実装されていないことはほぼ100%確信しています。一部は、私が開発中のOpencarto javaライブラリに実装されています。試してみたいなら教えてください!


1
上記の「Building outline simplification」について、Opencartoで参照するアルゴリズムについて簡単に説明してください。Opencartoのwikiまたはコードで直接情報を見つけることができませんでした。
ベンジスト16

「ShortEdgesDeletion」です。githubで見つけることができます:github.com/jgaffuri/OpenCarto/blob/master/src/main/java/org/…–
julien



3

このような何かがトリックを行うかもしれません:

「大量にバッファリングしてから、同じ量だけバッファを逆にすると、元の形状と似た形状になりますが、縮れたビットはありません。」

http://blog.opengeo.org/2010/11/22/removing-complexities/


これは興味深いアプローチであり、比較的効果的です。ポインターをありがとう、それは私が使用できるものです。答えが、参照されているコアアイデアを含む簡単なフレーズを含んでおり、単なるリンクではない場合、より良いでしょう。
マットウィルキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.