地域拡大アルゴリズムを探しています


8

地価を表すラスターセットを使用していて、ランダムな形状のポリゴンを自動的に作成したいが、各ポリゴンの重心点を指定して、特定のサイズまたは地価、あるいはその両方を設定します。重心点は、その特定のポリゴンに属する最初のラスターセル(シードセルと呼ばれるピクセル)として機能し、次に、領域拡大アルゴリズムは、サイズや土地の値の制約があるまで、重心ピクセルの周りにピクセルを追加し始めます。ポリゴンのが満たされます。

既存の地域成長アルゴリズムについて何か考えを持っている人はいますか?または、少なくとも私が操作するArcObjectsまたはインターフェイスのクラスであり、各ピクセルの値を読み取るために、新しいピクセルを追加して新しいポリゴンを作成しますか?

上記が理にかなっていて、誰かが私を助けてくれることを願っています。

編集する

基本的に、遺伝的アルゴリズム(GA)を使用して、規則的な形状と一連の制約(サイズ、地価など)を備えたポリゴンを自動的に作成するつもりです。しかし、最初にGAにフィードするためにランダムなソリューションのセットを作成する必要があります。たとえば、道路で囲まれたエリアであるランドブロックでは、すでに4セントロイドポイントと言っています。各重心点は、新しい土地区画のおおよその位置を表します。さらに、各重心は、各区画の属性、つまりサイズと地価に関連付けられています。それで、各重心に基づいて各パーセルのランダムな形状の作成を開始するために、領域成長アルゴリズムのシードポイントとして各重心から始めたいと思います。

上記が理にかなっていることを願っています。この領域拡大アルゴリズムをどのように作成できるか、またはVBAとArcObjectsにすでにアルゴリズムが存在するかどうかを楽しみにしています。


ランダムポリゴンを作成する目的についてお話しいただけますか?結局のところ、ランダム性には多くの種類があります。それらのかなりの数(ランダムなフラクタルポリゴンを作成する簡単な方法など)は、興味を引くことはほとんどありません。あなたは現実的なシミュレート何もしようとしている場合は、手順は、実際にあなたがに興味があるポリゴンを作成する現象の側面を組み込む必要があります。
whuber

セルを領域に追加するときに、最もコストの低い隣接セルを追加しますか、それともポリゴンの重心に最も近いセルを追加しますか?
カークカイケンダル、

待たせてごめんね。私はこのコメントに気づきませんでした。いくつかの制約が満たされるまで、現在の領域に隣接するセルを追加するたびに。
Demetris、2011年

回答:


1

コスト距離分析は、一つのアプローチである。その結果を閾値処理することは、あなたのラスターとして累積コスト領域を与えるその後、シード点から開始土地値に基づいてラスタを分類します。分類されたラスターをポリゴンに変換するだけで、結果が得られます。実行しようとしていることの詳細に応じて、シードロケーションと地価ラスターでコスト割り当て関数を使用して目的の出力を達成できる場合があります。


ポリゴンを実際に何か現実のもの(地価)に関連付けるため、このアイデアは素晴らしいです。しかし、「その結果のしきい値」(おそらく、固定値よりもコストが低いすべてのポイントを選択することを意味します)は、目標の累積コストにどのように変換されますか?さらに、手順は「ランダム」ではありませんが、問題ありません。事前にコストグリッドの側面をランダム化して、出力をいくらかランダムにすることができます。
whuber

1

ArcGIS以外でオプションを調査する場合は、オープンソース/無料のSAGA GISに、このホワイトペーパーで説明されている領域拡張アルゴリズムが含まれています。http//downloads.sourceforge.net/saga-gis/gga115_03.pdf

http://www.saga-gis.org


どうもありがとうございました。文献は非常に便利ですが、VBAとArcObjectsにそのようなコードがすでにあるかどうか疑問に思っています。
Demetris、

0

gdal_fillnodataを試すことができます。


あなたの回答は、その長さと内容のために、低品質としてレビューキューにフラグが立てられました。この質問の質問者が代替ソフトウェアを調査する必要があることを示唆している場合は、回答を編集して、彼が実行しようとしていることが機能しない理由および提案する理由についての詳細を提供することをお勧めします。
PolyGeo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.