地形の曲率を計算する方法は?


29

標高ラスターがあり、勾配、頑丈さ、アスペクト、曲率などの基本的な地形変数を取得したい。

問題は、テレインアナリストで曲率を計算する可能性がないように見えることです。

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

このインジケータがリストにない理由を誰にも教えてもらえますか?それ以外の場合はどうすれば計算できますか?

回答:


20

曲率は、計算する複雑な地形の導関数です。計算する曲率の結果をデータのノイズと区別できるようにするため、使用する方程式は入力データの解像度に依存します。

最近、高解像度LiDARデータの曲率計算に関する多くの研究が行われました。これは、2〜3メートルの解像度でスケーリングブレークが存在し、このポイントよりも多くの異なるアルゴリズム(私はあまり知らない)を使用する必要があることを示しました。地形の曲率の計算に関する最良の情報は、おそらくHurst et al 2012およびその参考文献から得られます。

勾配およびアスペクトと同様に、曲率計算の基本原理は、標高サーフェス上で移動ウィンドウを通過させ、標高値を6項多項式関数に適合させることです。その係数により、中心の勾配、アスペクト、および曲率が得られます。移動ウィンドウのセル。

ArcGISは3x3の検索ウィンドウを使用しますが、これは植生がまったくない地域でのみ良い結果をもたらすため、この制限に気づかない限りツールはかなり役に立たなくなります。これはQGISに存在しない理由を示唆します。

数学はもともと(私が思うに)エヴァンス(1980年)から派生したもので、地理情報システムの原則(Amazonリンク)の数ページで簡略化されており、基本的なレベルでのこの種の地形分析の良いガイドとして推奨できます。

DEMの曲率を計算する1つの方法は、DEMをASCIIラスタに変換し、numpy配列に読み込んでから、データを通過する移動ウィンドウで多項式フィッティングを実行することです。これは非常に簡単ですが、実行が非常に遅く、かなりの量の最適化が必要です(これらの種類の操作はしばしばc ++に移植されて高速化されます)。

QGISで操作を実行するには、GRASSプラグインr.slope.aspectを使用できますが、これも3x3固定ウィンドウによって制限されています。

これはあなたが間違いなく望んでいた簡単な答えではないことを理解していますが、曲率が意味のある方法で導き出すのは複雑であることを理解してください。ではごきげんよう。

Evans, I. S. (1980), An integrated system of terrain analysis and slope mapping, Z. Geomorphol., 36, 274–295.

すべての開発をありがとう!しかし、QGISのラスターテレインアナリストのリストに「曲率」オプションが欠けているという事実に興味をそそられました。普通ですか?確認のためにQGIS 1.8のバージョンを再インストールしましたが、まだありません:-/
ダミアン

1
GRASSでは、「r.param.scale」を使用して、曲率などの地形微分を計算できます。これは、ウィンドウ演算子のユーザー定義サイズ(デフォルトの3x3だけでなく)を使用します。
user1013346

12

曲率を計算するためのRaster AnalysisのESRIバージョンは、QGISのプラグインの開発に役立つ場合があります。

各セルに対して、次の形式の4次多項式:

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

Z =Ax²y²+Bx²y+Cxy²+Dx²+Ey²+ Fxy + Gx + Hy + I

3x3ウィンドウで構成されるサーフェスに適合します。係数a、b、cなどは、このサーフェスから計算されます。

図に示されているように、各セルの係数と9つの標高値との関係は次のとおりです。曲率値図曲率値図

A = [(Z1 + Z3 + Z7 + Z9)/ 4-(Z2 + Z4 + Z6 + Z8)/ 2 + Z5] / L4

B = [(Z1 + Z3-Z7-Z9)/ 4-(Z2-Z8)/ 2] / L3

C = [(-Z1 + Z3-Z7 + Z9)/ 4 +(Z4-Z6)] / 2] / L3

D = [(Z4 + Z6)/ 2-Z5] / L2

E = [(Z2 + Z8)/ 2-Z5] / L2

F =(-Z1 + Z3 + Z7-Z9)/ 4L2

G =(-Z4 + Z6)/ 2L

H =(Z2-Z8)/ 2L

I = Z5

曲率ツールの出力は、サーフェスの2次導関数(たとえば、勾配の勾配)であり、次のようになります。

曲率= -2(D + E)* 100

完全な情報とソース:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00q90000000t000000


2
これは数学の優れた要約ですが、データの解像度が3メートル未満の場合、品質の識別可能な損失なしに6項多項式を使用するように簡略化できます。
12

5
ESRIの「曲率」はD + Eのみに依存するため、残りはすべて不要です。-2(D+E)*100として計算すると(100/L2)*(3*Z5 - [Z2+Z4+Z6+Z8+Z5])、元の値の3倍Z5からZ2+Z4+Z6+Z8+Z5(半径1円を使用して)近隣の合計を引いた値をすべて取得する方法が示され100/L2ます。これは、3つの単純なグリッド操作です。
whuber

@whuber:xとyとは何ですか?Zは曲率の値を表しますか?次に、-2(D + E)* 100とは何ですか?多数のポリゴンを含むベクターファイルがあり、天気を知りたい場合、ポリゴン内の領域が凹面または凸面である可能性はありますか?
-Hardik

Z =標高値と-2(D + E)×100 =曲率値en.wikipedia.org/wiki/Curvature(Osculating_Circle)
Mapperz

6

曲率は、SAGAのモジュール「地形分析-形態計測--->勾配、アスペクト、曲率」を使用して計算できます。

計算は、次のアルゴリズムのいずれかに基づいて実行できます。

  • 最大勾配(Travis et al。1975)
  • 最大三角形勾配(Tarboton 1997)
  • 最小二乗適合平面(Horn 1981、Costa-Cabral&Burgess 1996)
  • Fit 2.Degree Polynom(Bauer、Rohdenburg、Bork 1985)
  • Fit 2.Degree Polynom(Heerdegen&Beran 1982)
  • Fit 2.Degree Polynom(Zevenbergen&Thorne 1987)
  • Fit 3.Degree Polynom(Haralick 1983)

3

LandSerfはこれを行うことができます。ウィンドウサイズ(3 * 3、5 * 5、7 * 7、11 * 11、...)を定義できますが、奇数でなければなりません。マルチスケール分析。勾配、アスペクト、曲率のスケール依存性を考慮することができます。http://www.landserf.org/ LandSerfはco二次多項式を特定の定義済みウィンドウに適合させますが、50 * 50のような大きなウィンドウサイズを定義すると時間がかかります。定義するラスターサイズとウィンドウサイズに依存します。ジョー・ウッドは博士論文のためにLandserfを書きました。Javaで書かれています。

  • プロフィールの曲率
  • 計画曲率
  • 経度の曲率
  • 断面曲率
  • 平均曲率
  • 最小曲率
  • 最大曲率

LandSerfの異なるスケールで計算できます


2

無料のSAGA GIS(http://sourceforge.net/apps/trac/saga-gis/wiki)またはTAS(http://www.uoguelph.ca/~hydrogeo/TAS/index.html)を試すこともできます。


これらのパッケージが曲率を計算するためにどのように動作するかについての詳細を提供できますか?投稿したリンクは、2つのGISパッケージへの一般的なリンクであり、質問に対する直接的な関連性はありません。
12

1
非常に短い回答で申し訳ありません。SAGAでは、地形解析-複合解析->標準地形解析モジュールを見つけることができます。ここで、曲率、プロファイルの曲率、計画の曲率を計算できます(ソフトウェアヘルプ内に詳細な説明はありません)。あなたは簡単に、... ASC、FLTからSAGAにデータをインポートすることができます
ロク

@sgrieve TASでは、プロファイル、計画、および接線の曲率を計算できます(メニュー:[地形解析]-> [プライマリ地形属性]-> [表面微分])。繰り返しますが、それがどのように機能するかについての説明はほとんどありません。
ロック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.