ラスターから特定の距離と高さの差内にあるすべてのポイントを抽出する


11

X、Y、Zデータがすべて定義された数千万のポイントを含むラスターがあります。相互に720 mの距離(X、Y)および相互に120 mの標高差(Z)にあるすべてのポイントを持つ新しいラスターまたはベクトルを抽出して作成する簡単な方法を見つける必要があります。

SQLとPythonのゼロ知識があります。私はこれをVBAで実行しようとしており、いくつかのアルゴリズムを思いつきましたが、処理時間は不合理で非現実的です。これを実現するには、シンプルなGISアプローチが必要ですが、見つけられないようです。

ArcMapを使用しています。


ArcMapを使用しています。ご意見をありがとうございます。元の質問でも変更します:)。
user32882 14

あなたは水平線で720m、垂直線で120mと言いますが、どこからですか?ある種のポイントクラウドがあるように聞こえますが、このクラウド内の任意の場所から条件を完全に満たすポイントを検索できます。確かに、何らかの種の場所、または基準を完全に満たすポイントの数を最大化するなど、言及していない別の基準が必要ですか?
ホーンビッド14

私が言ったように、私は「お互いから720mの距離ですべてのポイントを抽出し(X、Y)、お互いから120mの標高差で抽出します」。「シードの場所」はありません。すべてのポイントをスキャンしています。
user32882 14

私がこれについて考えている最大の課題の1つは、結果がどのように描かれるかです。0= 720m離れた地点と±120mの地点がない= 720m離れた11つ以上の地点と±120mの地点を持つラスター結果が許容されますか?または、基準を満たすポイント数える必要がありますか?
エリカ14

エリカ様、最初の選択は許容範囲を超えています。この基準を満たすポイントの数を数える必要はありませんが、元のラスターと比較してそれらを見ることができる必要があります。あなたの提案によると、値1が割り当てられたポイント/ピクセルには、必要な高度とそこからの距離内に別のポイントまたは他のいくつかのポイントがあるため、完璧です!私が持っている唯一の質問は、これを効率的な方法で達成する方法ですか?
user32882 14

回答:


13

おそらくあまりにも単純なアプローチは、Focal Statisticsを使用することです。

  • 関心のある近傍をとして定義します。内側の半径は720m未満、外側の半径は720mを超えます。(これはセルのサイズに多少依存します。たとえば、5mのセルの環は717.5〜722.5になりますが、1mのセルラスタにはウィンドウが大きすぎる可能性があります。)
  • 統計タイプを使用MINして、近隣の最低標高値を見つけます。
  • 統計タイプを使用して、2回目の繰り返しをMAX行い、近隣の最高標高値を見つけます。
  • Raster Calculatorを使用して、標高差が十分に大きいかどうかを評価します。何かのようなもの

    Con((Abs("DEM" - "FSMin") > 120) | (Abs("DEM" - "FSMax") > 120), 1, 0)

    original-minの差またはoriginal-maxの差が120mを超える場合、値は1です。それ以外の場合は0です(注:構文はテストしていません。

これは、距離/標高の基準を満たす1つ以上の隣接セルがセルにあるかどうかのみを示し、その数は示しません。


うわー....うまくいったと思う....信じられない。どうもありがとうございます。GISでのソリューションが非常に単純な場合、私はこれを行うためにVBAをいじくり回していました。神のお恵みがありますように。
user32882 14

これは、少なくとも 120mの標高差がある近隣のポイントを識別しませんか?私はそれが質問の意図だと思うが、文言は「120mの差で」である。
Llaves

@Llavesはい、そうです。ちょうど720mで正確に120mの差を見つけるには、非常に興味深いスクリプトが必要だと思います。
エリカ14

とにかく、自然の地形を扱っているので、間隔が必要です。私の特定のアプリケーションでは、120メートルを超える標高差が実際にはより興味深いものです。私は元の声明でもっと正確にすべきだった。とにかくみんなありがとう。
user32882 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.