Wie berechnet man die Geländekrümmung?


29

Ich habe ein Höhenraster und möchte einige grundlegende Geländevariablen wie Neigung, Robustheit, Aspekt oder Krümmung erhalten.

Das Problem ist, dass ich anscheinend nicht die Möglichkeit habe, die Krümmung mit dem Terrain-Analysten zu berechnen:

Bildbeschreibung hier eingeben

Kann mir jemand sagen, warum dieser Indikator nicht in der Liste ist? Wie kann ich es anders berechnen?

Antworten:


20

Die Krümmung ist eine komplexe Geländeableitung, die zu berechnen ist. Die von Ihnen verwendete Gleichung hängt von der Auflösung Ihrer Eingabedaten ab, da Sie sicherstellen müssen, dass die von Ihnen berechneten Krümmungsergebnisse von Rauschen in den Daten unterschieden werden können.

In letzter Zeit wurden viele Untersuchungen zu Krümmungsberechnungen an hochauflösenden LiDAR-Daten durchgeführt, die zeigten, dass eine Skalierungsunterbrechung bei einer Auflösung von etwa 2 bis 3 Metern vorliegt und ab diesem Punkt mehr verschiedene Algorithmen (mit denen ich nicht so vertraut bin) verwendet werden müssen . Die besten Informationen zur Berechnung der topografischen Krümmung stammen wahrscheinlich von Hurst et al. 2012 und den darin enthaltenen Referenzen.

Das Grundprinzip der Krümmungsberechnung besteht, wie bei Steigung und Aspekt, darin, ein sich bewegendes Fenster über die Höhenoberfläche zu führen und die Höhenwerte an eine 6-Term-Polynomfunktion anzupassen, deren Koeffizienten die Steigung, den Aspekt und die Krümmung des Zentrums ergeben Zelle des beweglichen Fensters.

ArcGIS verwendet ein 3x3-Suchfenster, das nur in Gebieten ohne Vegetation gute Ergebnisse liefert. Dies macht das Tool ziemlich unbrauchbar, es sei denn, die Benutzer kennen diese Einschränkung. Dies könnte darauf hindeuten, dass es in QGIS nicht vorhanden ist.

Die Mathematik stammt ursprünglich (glaube ich) aus Evans (1980) und wurde auf einigen Seiten in Prinzipien geographischer Informationssysteme (Amazon Link) vereinfacht, die ich als gute Anleitung für diese Art der Geländeanalyse auf einer grundlegenden Ebene empfehlen kann.

Eine Möglichkeit, die Krümmung eines DEM zu berechnen, besteht darin, das DEM in ein ASCII-Raster zu konvertieren, es in ein Numpy-Array zu lesen und dann die Polynomanpassung an einem sich bewegenden Fenster durchzuführen, das durch die Daten verläuft. Dies ist recht einfach, aber sehr langsam auszuführen und bedarf einer gewissen Optimierung (diese Art von Operationen werden häufig nach c ++ portiert, um sie zu beschleunigen).

Um die Operation in QGIS auszuführen, können Sie das GRASS-Plugin r.slope.aspect verwenden, das auch durch das feste 3x3-Fenster begrenzt ist.

Mir ist klar, dass dies nicht die einfache Antwort ist, auf die Sie zweifellos gehofft haben, aber ich hoffe, dass Sie verstehen, dass es komplex ist, die Krümmung auf sinnvolle Weise abzuleiten. Alles Gute.

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

Vielen Dank für die Entwicklung! Ich war jedoch fasziniert von der Tatsache, dass die Option "Krümmung" in der Liste des Raster-Terrain-Analysten von QGIS fehlt. Ist das normal? Ich habe meine Version von QGIS 1.8 zwar neu installiert, aber es ist immer noch nicht da: - /
Damien

1
Beachten Sie, dass Sie in GRASS 'r.param.scale' verwenden können, das Geländederivate wie die Krümmung mit einer benutzerdefinierten Größe für den Fensteroperator berechnet (nicht nur die Standardgröße 3x3).
user1013346

12

Die ESRI-Version von Raster Analysis zur Berechnung der Krümmung kann hilfreich sein, um ein Plugin für QGIS zu entwickeln.

Für jede Zelle ein Polynom vierter Ordnung der Form:

Bildbeschreibung hier eingeben

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

Wird an eine Oberfläche angepasst, die aus einem 3x3-Fenster besteht. Die Koeffizienten a, b, c usw. werden aus dieser Oberfläche berechnet.

Die Beziehungen zwischen den Koeffizienten und den neun Höhenwerten für jede Zelle, die wie im Diagramm gezeigt nummeriert ist, lauten wie folgt: Diagramm der Krümmungswerte Diagramm der Krümmungswerte

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 = (-Z & sub4; + Z & sub6;) / 2L

H = (Z2 - Z8) / 2L

I = Z5

Die Ausgabe des Werkzeugs "Krümmung" ist die zweite Ableitung der Oberfläche, z. B. die Steigung der Steigung.

Krümmung = -2 (D + E) * 100

Vollständige Informationen und Quelle:

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


2
Dies ist eine gute Zusammenfassung der Mathematik, aber es kann vereinfacht werden, ein 6-Term-Polynom ohne erkennbaren Qualitätsverlust zu verwenden, wenn Ihre Daten eine Auflösung von unter 3 Metern haben.
sgrieve

5
Da die "Krümmung" des ESRI nur von D + E abhängt, ist der Rest unnötig. Berechnen -2(D+E)*100als (100/L2)*(3*Z5 - [Z2+Z4+Z6+Z8+Z5])zeigt, wie dieser Wert als dreifacher Wert Z5abzüglich einer Nachbarschaftssumme Z2+Z4+Z6+Z8+Z5(unter Verwendung eines Kreises mit Radius 1) erhalten wird, wobei alle Werte um skaliert werden 100/L2. Das sind nur drei einfache Netzoperationen.
whuber

@whuber: Kann mir jemand sagen, was x und y ist? und ist Z der Wert der Krümmung? Was ist dann -2 (D + E) * 100? Ist es möglich, dass wenn ich eine Vektordatei mit so vielen Polygonen habe und das Wetter wissen möchte, der Bereich innerhalb des Polygons konkav oder konvex ist (Plan- und Profilkrümmung)?
Hardik

Z = Höhenwert und -2 (D + E) * 100 = Krümmungswert en.wikipedia.org/wiki/Curvature (Osculating_Circle)
Mapperz

6

Die Krümmung kann mit dem SAGA-Modul 'Geländeanalyse - Morphometrie ---> Steigung, Aspekt, Krümmung' berechnet werden.

Die Berechnung könnte auf der Grundlage eines der folgenden Algorithmen erfolgen:

  • Maximale Steigung (Travis et al. 1975)
  • Maximale Dreiecksneigung (Tarboton 1997)
  • Kleinste Quadrate (Horn 1981, Costa-Cabral & Burgess 1996)
  • Fit 2. Grad Polynom (Bauer, Rohdenburg, Bork 1985)
  • Fit 2. Grad Polynom (Heerdegen & Beran 1982)
  • Fit 2. Grad Polynom (Zevenbergen & Thorne 1987)
  • Fit 3. Grad Polynom (Haralick 1983)

3

LandSerf kann dies tun. Sie können die Fenstergröße definieren (3 * 3, 5 * 5, 7 * 7, 11 * 11, ...), aber es muss eine ungerade Zahl sein. Multiskalenanalysen. Sie können die Skalierungsabhängigkeit von Neigung, Aspekt und Krümmung berücksichtigen. http://www.landserf.org/ LandSerf passt die quadratische Polynomgleichung an bestimmte vordefinierte Fenster an. Wenn Sie jedoch eine große Fenstergröße wie 50 * 50 definieren, dauert dies lange. Dies hängt von der von Ihnen definierten Raster- und Fenstergröße ab. Jo Wood schrieb Landserf für seine Doktorarbeit. Es ist in Java geschrieben.

  • Profilkrümmung
  • Krümmung planen
  • Längengrad-Krümmung
  • Querschnittskrümmung
  • Mittlere Krümmung
  • Min Krümmung
  • Maximale Krümmung

Kann in LandSerf in verschiedenen Maßstäben berechnet werden


2

Sie können auch kostenlos SAGA GIS (http://sourceforge.net/apps/trac/saga-gis/wiki) oder TAS (http://www.uoguelph.ca/~hydrogeo/TAS/index.html) ausprobieren.


Können Sie detaillierter erläutern, wie diese Pakete zur Berechnung der Krümmung eingesetzt werden? Die von Ihnen veröffentlichten Links sind allgemeine Links zu zwei GIS-Paketen und haben keine direkte Relevanz für die gestellte Frage.
sgrieve

1
Entschuldigung für die sehr kurze Antwort. In SAGA finden Sie das Modul Geländeanalyse - Verbundanalysen -> Standard-Geländeanalyse. Dort können Sie Krümmung, Profilkrümmung, Plankrümmung berechnen (es gibt keine detaillierte Beschreibung in der Software-Hilfe). Sie können Daten von asc, flt, ... in SAGA easy importieren
Rok

@sgrieve In TAS können Sie die Profil-, Plan- und Tangentialkrümmung berechnen (Menü: Geländeanalyse -> Primäre Geländeattribute -> Oberflächenderivate). Wieder gibt es wenig Beschreibung, wie es funktioniert.
Rok
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.