Skalierung und Z-Faktor haben keinen Einfluss auf die Hillshade-Analyse in QGIS

10

Ich habe ein SRTM-DEM verwendet, um einen Hillshade in QGIS 2.2.0 zu erstellen. Der resultierende Hügelschatten scheint jedoch vertikal übertrieben zu sein. Das Ändern der Einstellungen für Skalierung und Z-Faktor hat auch keine Auswirkungen auf den resultierenden Schatten. Ich habe beide Optionen in QGIS, Analyse-> DEM (Geländemodelle) und Geländeanalyse -> Hillshade ausprobiert. Beide Methoden ergaben die gleichen Ergebnisse.

Ist das ein Einzelfall, ein Fehler oder fehlt mir etwas?

PyMapr
quelle
4
Wenn Sie ein DEM mit Latlon-Koordinaten in Dezimalgraden und vertikalen Einheiten in Metern verwenden, müssen Sie die Skala (Verhältnis von vertikalen Einheiten zu horizontalen Einheiten) auf 111120 einstellen. Ich habe es mit ein paar DEMs von Aster versucht, habe ich kein Problem. Diese Einstellung gilt nicht nur für Hillshading, sondern auch für Hangberechnungen. Hoffe es hilft
Gerardo Jimenez
@ GerardoJimenez, ich habe es versucht und es hat funktioniert. Danke
PyMapr
@GerardoJimenez, Thanderbolt, jeder von euch sollte diese Frage einreichen und beantworten, und Thunderbolt sollte sie akzeptieren, um diese Frage aus der unbeantworteten Frage zu entfernen.
SS_Rebelious

Antworten:

12

@ Gerardos Antwort ist nur am Äquator richtig. Das gdaldem-Dokument stellt fest, dass diese Skalenwerte für "LatLong-Projektionen in der Nähe des Äquators" gelten.

Um die Skala oder den Z-Faktor (invers zur Skala) in anderen Breiten für eine Dem mit vertikalen Einheiten in Metern zu berechnen, können Sie die folgenden Gleichungen verwenden:

s=111320*cos(latitude*pi/180)
z=1/(111320*cos(latitude*pi/180))

Dabei gilt: 111320 ist die Länge von einem Grad am Äquator in Metern (basierend auf WGS84 können Sie 111111 verwenden, wenn dies leichter zu merken ist oder Sie die Geschichte verstehen ) und Breitengrad ist der Breitengrad im Zentrum Ihres DEM.

Sie können den Skalierungs- / Z-Faktor in Excel / Libre Office Calc schnell mit den folgenden Formeln berechnen:

For -s scale parameter
=111320*COS(latitude*PI()/180)
or
=111320*COS(RADIANS(latitude))

For -z z factor parameter
=1/(111320*COS(latitude*PI()/180)
or
=1/(111320*COS(RADIANS(latitude))

Sie können sogar eine einfache Google-Suche verwenden:

111320 * cos(latitude deg)
or
1/(111320 * cos(latitude deg))

ZB Skala und Z-Faktor für Latitude = 38,5S

Für DEMs mit vertikalen Einheiten in Fuß konvertieren Sie einfach die Länge von einem Grad am Äquator in Metern in Fuß, dh 3,28 * 111320 = 365130. Ihre Gleichungen werden also:

s=365130*cos(latitude*pi/180)
z=1/(365130*cos(latitude*pi/180))

Alternativ können Sie Ihr DEM auf ein projiziertes koordiniertes System projizieren (auch in den gdaldem-Dokumenten vorgeschlagen).

user2856
quelle
Diese Antwort hat mir heute wirklich geholfen, aber ich bin etwas verwirrt über die in QGIS verwendeten Begriffe. Wenn ich zu Raster - Geländeanalyse - Steigung gehe, erhalte ich das Feld "Z-Faktor", aber hier muss ich den Wert eingeben, der hier als "Skala" bezeichnet wird, und nicht den inversen Wert, der hier als "Z-Faktor" bezeichnet wird. Sie können die sehr kleine Zahl, die ich bei der Berechnung der Umkehrung mit der obigen Berechnung erhalte, nicht eingeben, und der Standardwert sagt Ihnen bereits, dass es sich um eine große Zahl handeln muss, aber es ist immer noch etwas verwirrend, da ich dachte, beide Begriffe "Skala" versus "Z-Faktor" konnte nicht synonym verwendet werden.
Taya
@Taya Ich sehe kein "Z-Faktor" -Feld im Raster-> Analyse-> DEM-Tool (Geländemodelle) aus dem Menü in QGIS 2.14. Ich sehe nur ein Skalierungsfeld. Vielleicht war es ein Fehler in früheren Versionen von QGIS ...? Edit: Ahh, du verwendest das Terrain Analysis Plugin , das muss ein Fehler im Plugin sein.
user2856
Ich würde ein paar Änderungen an dieser Antwort vorschlagen: 1. Für die meisten Anwendungen würden Sie entweder den Skalierungsfaktor s oder den z-Faktor verwenden, nicht beide (s scheint eine logischere Wahl zu sein und funktioniert in QGIS besser). 2. Der Nord-Süd-Skalierungsfaktor ist immer 111320, aber der Ost-West-Skalierungsfaktor ist 111320*cos(latitude*pi/180). In hohen Breiten führt dieser Unterschied zu erheblichen Problemen, und Sie müssen wahrscheinlich vor der Berechnung in ein Messkoordinatensystem (z. B. UTM) neu projizieren. In niedrigen Breiten können Sie versuchen, den Unterschied aufzuteilen : s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp
4

Wenn Sie mit DEMs in lat langen Koordinaten mit ihren Einheiten in Dezimalgraden und den vertikalen Einheiten in Metern arbeiten, müssen Sie die "Skala (Verhältnis von vertikalen Einheiten zu horizontalen Einheiten) auf 111120 einstellen

http://www.gdal.org/gdaldem.html

Sie schlagen sogar vor, dass diese Einstellung für DEMs mit Lantlon-Koordinaten und vertikalen Einheiten in Fuß auf 370400 eingestellt werden muss

Diese Einstellungen wirken sich auch auf die Steigungsberechnungen aus.

Gerardo Jimenez
quelle