DEMから堤防の抽出を実行していますか?


14

私は1x1メートルのDEMと.lasの元のLiDAR点群を持っています。ベクトルフィーチャ(ポイント、ポリライン)に川の堤防(堤防の最高点)を抽出する必要があります。

アルゴリズムまたは既存のツールのアイデアはありますか?

最初の画像では堤防が明るい灰色で表示され、その下にある堤防のある領域の点群画像が下にあります。青の川の中心線。

堤防は薄い灰色です

堤防と点群

DEMから線形フィーチャを抽出するためのツールはありますか?

ENVIの空間特徴抽出モジュール(7ページ)ようなものが必要だと思いますが、ENVIの部分はありません。


1
どのシステムを使用していますか?
ホーンバイド

商用ArcInfo 10(SA、3D、Geostatistical拡張)。オープンソース-任意。
Tomek

1
あなたが川のベクトル中心線を持っていると仮定して、これをバッファリングし、これを使用してDEMをマスクし、値をしきい値化するというアイデアを考えていました。これは、堤防が河道と平行に走ることを前提としています。そのため、使用するロジックは、堤防が川から「後退」したときに、堤防をキャプチャするのに十分賢い必要があります。
ホーンバイド

残念ながら、堤防は常に河道と平行に走るとは限らず、しばしば河道から遠く離れています。スケルトン化としていくつかのalgorytmがあると考えていましたか?DEMから線形特徴を抽出するには、そのような特徴を使用して、ポイントクラウドの最高点を導き出すことができます。
トメック

2
私はこの論文に出会いました、助けになるかもしれませんか?asprs.org/a/publications/pers/2004journal/december/...
Hornbydd

回答:


8

それはすべて、線を描く場所に依存します。とにかく、この問題は、Spatial Analystで使用可能な形態学的関数、特にしきい値(「<」および「>」ローカル操作で実行)および「RegionGroup」を使用してコンポーネントを識別および抽出することで簡単に対処できるように見えます。

説明するためにDEMにアクセスすることはできませんが、最初の画像はとにかく仕事をするのにほぼ十分です。たとえば、しきい値が0から始まり、左から右、上から下に0.02の増分で移動する、赤いバンドの領域グループ化されたバージョン(0.0 =黒から1.0 =白にスケーリングされた値)のシーケンスは次のとおりです。

堤防

(これらの画像はここで複製するために縮小されました。すべての分析は元の画像の解像度で行われました。)

堤防は、2番目の行の開始までに黒い領域の境界付近に出現します(しきい値= 0.08)。3行目の開始(しきい値= 0.16)で、堤防は独自のコンポーネント(濃い青)を形成し、その時点で、個別のグリッドまたはポリゴンとして容易に抽出できます(エッジ検出ステップの後、境界をポリラインとして抽出できます) )。最後の行までに最も幅の広い堤防のみが残ります(しきい値= 0.24以上)。 必要なものを正確に取得するには、適切なしきい値を選択する必要があります

元のDEMでは、標高が強度の役割を果たすため、これらの手順はDEM自体でも同様に効果的である必要があります。DEMの範囲が大きい場合(川や堤防から遠く離れた地物を含む)、関連する地物を、川の地物があるコンポーネントに隣接するものとして選択できます。

RegionGroupによって検出された薄い不要な領域は、小さな侵食(負のバッファー)に続いて同等の膨張(正のバッファー)を適用することで除去できます。小さな不要な領域は、サイズの基準(合計セル数または面積)で除外できます。各堤防の最高点(実際に必要な場合)は、DEMをゾーン最大グリッドと比較することで見つけることができます(堤防をゾーンとして使用)。


ちなみに、この一連の画像はMathematica 8で作成されました。このオプションを追求したい人向けのコマンドを次に示します。

original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]], 
                       ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]

合計クロック時間(イメージのインポート後)は0.94秒で、そのうちの半分は16個のイメージすべてを縮小およびエクスポートするのに必要でした:形態学的操作は高速である傾向があります(LIDAR DEMは巨大になる可能性があるため)


全体の概念は問題ないように聞こえますが、「...しきい値(「<」および「>」ローカル操作で実行される)」部分は理解できません。Generalization(SA)ツールセットでこれをどのように実現しますか?
トメック

@Tomek Oneはサポートしていません。論理ツールセットを参照してください。
whuber

9

ジョブのさまざまなアルゴリズムについて読みました(つまり@Hornbydds リンクごと)。

いくつかの方法を試してみましたが、私の場合の最良の結果は、SAGAからの標準地形分析です。これが私がしたこととその理由です:

堤防は通常、河道付近で最も高い特徴であるため、DEM(MapAlgebra DEM * -1または斜面の誇張のために-10)を反転することにより、堤防を水路に変えました。この時点から、水文学的なツールセット(ArcHydro、HEC-GeoRas、またはSAGAハイドロツール)を使用できます。数回のクリックでRiver Networkを生成するため、SAGA / Terrain Analysis-複合解析/標準地形解析を選択しました。River Networkは、ポリラインを生成するため、私が達成したかったものです。ポリラインは、水流の最適なルートを示します。

作成されたシェイプファイルは少し面倒です(多くの小さなポリライン)が、いくつかの微調整の結果は満足のいくものです。もう1つの厄介な点は、1つの堤防が300本の短いポリラインでできていることですが、これを処理する方法を見つけると思います。

結果の例を次に示します。

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

もちろん、これは非常に大まかな解決策であり、おそらくこの問題をさらに調査するつもりですが、共有する価値があると思いました。


5

以下を元のDEMと組み合わせることで、必要なラスター情報を強調表示し、残りを破棄するのに役立ちます。これらをさまざまなスケールと近傍サイズで実行して、効果を調整できます。

  • リサンプル、次に近傍->フィルタ:ハイパス
  • 表面->曲率
  • 近傍->焦点統計:標準偏差
  • 「相対高さ」=(ピクセル)-(近傍->焦点統計:中央値)
  • 反転、リサンプリング、次に近傍->局所流

これを行った後、再分類と輪郭は、堤防自体のかなり良い輪郭を与えるはずです。堤防が平坦な斜面であり、より広い範囲をカバーしたい場合は、曲率と斜面の合計など、ある程度のスケーリングを試してみるか、斜面の輪郭を個別に作成して結合することもできます。

Spatial Analystを使用してラスターDEMからベクトルリッジラインを抽出するチュートリアルは、非常に適切です。


ツールの組み合わせを見ていきます。いくつかの良い結果が得られるかもしれません。ありがとう。ご覧のように、ESRIチュートリアルではプロセスと+/-について説明しました。ありがとう。
トメック

0

これは答えの一部にすぎないかもしれないと思いますが、多分あなたは、特定の間隔で/標高値に基づいて画像から輪郭/多角形を作ることから始めることができます。堤防の標高値を高くする必要があると考えていたので、DEMをポリゴンに変換すると、関心のあるエリアがシーンポリゴンで表されていることがわかります。また、単にDEMを再分類し、それが目的の結果を生成するかどうかを確認することから始めることもできます。興味のある領域をカバーする他の画像データがある場合は、それを画像分類に追加して、それが役立つかどうかを確認してください。幸運を!!

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