L'échelle et le facteur Z n'ont aucun effet sur l'analyse des ombrages dans QGIS

10

J'ai utilisé un SRTM DEM pour créer un ombrage dans QGIS 2.2.0. Cependant, l'ombrage résultant semble être exagéré verticalement. De plus, la modification des paramètres d'échelle et de facteur z n'a aucun effet sur l'ombrage résultant. J'ai essayé les deux options dans QGIS, Analysis-> DEM (Modèles de terrain) et Analyse de terrain -> Hillshade. Les deux méthodes ont donné les mêmes résultats.

S'agit-il d'un incident isolé, d'un bug ou est-ce que je manque quelque chose?

PyMapr
la source
4
Lorsque vous utilisez un DEM avec des coordonnées latlon en degrés décimaux et des unités verticales en mètres, vous devez régler l'échelle (rapport des unités verticales aux unités horizontales) à 111120. J'ai essayé avec quelques DEM d'Aster, je n'ai pas de problème. Ce paramètre s'applique non seulement à l'ombrage, mais également aux calculs de pente. J'espère que ça aide
Gerardo Jimenez
@GerardoJimenez, je l'ai essayé et cela a fonctionné. Merci
PyMapr
@GerardoJimenez, Thanderbolt devrait soumettre et répondre à cette question et Thunderbolt devrait l'accepter pour supprimer cette question sans réponse.
SS_Rebelious

Réponses:

12

@ La réponse de Gerardo n'est correcte qu'à l'équateur. Le doc gdaldem note que ces valeurs d'échelle sont pour les "projections LatLong près de l'équateur"

Pour calculer l'échelle ou le facteur Z (inverse de l'échelle) à d'autres latitudes pour un dem avec des unités verticales en mètres, vous pouvez utiliser les équations suivantes:

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

où: 111320 est la longueur d'un degré à l'équateur en mètres (basé sur WGS84, vous pouvez utiliser 111111 si c'est plus facile à retenir, ou si vous avez une appréciation de l'histoire ) et la latitude est la latitude au centre de votre DEM.

Vous pouvez calculer rapidement le facteur échelle / z dans Excel / Libre Office Calc avec les formules suivantes:

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))

Vous pouvez même utiliser une simple recherche Google:

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

Par exemple, échelle et facteur z pour Latitude = 38,5S

Pour les DEM avec des unités verticales en pieds, il suffit de convertir la longueur d'un degré à l'équateur en mètres en pieds, soit 3,28 * 111320 = 365130. Vos équations deviennent donc:

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

Alternativement, vous pouvez reprojeter votre DEM à un système coordonné projeté (également suggéré par les documents gdaldem).

user2856
la source
Cette réponse m'a vraiment aidé aujourd'hui, mais je suis un peu confus quant aux termes utilisés dans QGIS. Lorsque je vais dans Raster - Analyse du terrain - Pente, j'obtiens le champ nommé "facteur Z" mais ici je dois entrer la valeur qui est appelée "échelle" ici et non la valeur inverse qui est appelée "facteur Z" ici. Vous ne pouvez pas entrer le très petit nombre que j'obtiens lors du calcul de l'inverse avec le calcul ci-dessus et la valeur par défaut vous dit déjà qu'il doit être un grand nombre, mais c'est toujours un peu déroutant parce que je pensais que les deux termes "échelle" contre "facteur z" ne pouvait pas être utilisé comme synonyme.
Taya
@Taya Je ne vois pas de champ "Facteur Z" dans l'outil Raster-> Analyse-> DEM (Modèles de terrain) dans le menu de QGIS 2.14. Je ne vois qu'un champ Scale. C'était peut-être un bogue dans les versions antérieures de QGIS ...? Edit: Ahh, vous utilisez le plugin d' analyse de terrain , cela doit être un bug dans le plugin.
user2856
Je suggérerais quelques changements à cette réponse: 1. Pour la plupart des applications, vous utiliseriez le facteur d'échelle s ou le facteur z, pas les deux (s semble être un choix plus logique et fonctionne mieux dans QGIS). 2. Le facteur d'échelle nord-sud est toujours 111320, mais le facteur d'échelle est-ouest l'est 111320*cos(latitude*pi/180). Aux hautes latitudes, cette différence créera des problèmes importants et vous devrez probablement reprojeter dans un système de coordonnées métriques (par exemple, UTM) avant de calculer. Aux basses latitudes, vous pouvez essayer de diviser la différence: s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp
4

Lorsque vous travaillez avec des DEM en coordonnées longues lat avec leurs unités en degrés décimaux et les unités verticales en mètres, vous devez définir "l'échelle (rapport des unités verticales aux unités horizontales) à 111120. Dans

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

ils suggèrent même que ce paramètre pour les DEM avec les coordonnées lantlon et les unités verticales en pieds, l'échelle doit être réglée sur 370400

Ce paramètre affecte également les calculs de pente.

Gerardo Jimenez
la source