Fonctionnement de l'outil Ombrage
L'outil Ombrage permet d'obtenir l'éclairage hypothétique d'une surface en déterminant les valeurs d'éclairage de chaque cellule d'un raster. Cette fonction définit la position d'une source lumineuse hypothétique et calcule les valeurs d'éclairage de chaque cellule par rapport aux cellules voisines. L'ombrage améliore nettement la visualisation d'une surface lors de l'affichage d'analyses ou de diagrammes, en particulier si vous avez recours à la transparence.
Par défaut, l'ombre et la lumière sont des nuances de gris associées à des entiers de 0 à 255 (du noir au blanc).
Paramètres d'ombrage
Lors de la création d'une carte d'ombrage pour un emplacement donné, le facteur principal est la position du soleil dans le ciel.
Azimut
L'azimut correspond à la direction angulaire du soleil, mesurée à partir du nord, dans le sens horaire, par degrés, de 0 à 360. Un azimut de 90° correspond à l'Est. L'azimut par défaut est 315º (NO).
Altitude
L'altitude représente la pente ou l'angle de la source d'éclairage au-dessus de la ligne d'horizon. Les unités sont les degrés, de 0 (à l'horizon) à 90 (à la verticale). La valeur par défaut est de 45 degrés.
L'exemple d'ombrage ci-dessous a un azimut de 315° et une altitude de 45°.
Utilisation de l'ombrage dans l'affichage
En plaçant un raster d'altitude sur un raster d'ombrage et en ajustant la transparence du raster d'altitude, vous pouvez aisément créer une carte en relief visuellement attrayante d'un paysage.
Vous pouvez ajouter d'autres couches, telles que des types d'utilisation du sol, de la végétation, des routes ou des cours d'eau pour enrichir les informations présentées.
Utilisation de l'ombrage dans une analyse
En modélisant l'ombrage (l'option par défaut), vous pouvez calculer l'éclairage local et déterminer si la cellule est ou non dans l'ombre.
En modélisant les ombres, vous pouvez identifier chaque cellule qui se trouve à l'ombre d'une autre cellule à un moment donné de la journée. Les cellules situées dans l'ombre d'une autre cellule sont codées sur 0 ; toutes les autres cellules étant codées sur des entiers compris entre 1 et 255. Vous pouvez reclasser toutes les valeurs supérieures à 1 sur 1 et générer ainsi un raster en sortie binaire. Dans l'exemple ci-dessous, les zones noires sont à l'ombre. L'azimut est le même dans chaque image, mais l'angle du soleil (altitude) a été modifié.
Procédure de calcul d'un ombrage
Pour calculer la valeur d'ombrage, l'altitude et l'azimut de la source d'éclairage sont d'abord requis. Ces valeurs seront traitées avec les calculs de pente et d'exposition, afin de déterminer la valeur d'ombrage finale de chaque cellule du raster en sortie.
Algorithme d'ombrage
L'algorithme de calcul de la valeur d'ombrage est le suivant :
(1) ombrage = 255.0 * ((cos(rayon_zénithal) * cos(rayon_pente)) + (sin(rayon_zénithal) * sin(rayon_pente) * cos(rayon_azimutal - rayon_exposition)))
Notez que si le calcul de la valeur d'ombrage est < 0, la valeur de cellule en sortie sera = 0.
Calcul de l'angle d'éclairage
L'altitude de la source d'éclairage est spécifiée en degrés au-dessus de la ligne horizontale. Toutefois, la formule de calcul de la valeur d'ombrage nécessite que l'angle soit représenté en radians et en déflexion de la verticale. On appelle zénith la direction tout droit vers le haut à partir de la surface (directement au-dessus). L'angle zénithal se mesure du point zénithal en direction de la source d'éclairage. Il est le complément à 90° de l'altitude. Pour calculer l'angle d'éclairage, la première étape consiste à convertir l'angle d'altitude en angle zénithal. La deuxième étape consiste à convertir l'angle en radians.
Changement de l'altitude en angle zénithal :
(2) degré_zénithal = 90 - altitude
Conversion en radians :
(3) rayon_zénithal = zénith * pi / 180.0
Calcul de la direction d'éclairage
La direction de la source d'éclairage, azimut, est spécifiée en degrés. La formule d'ombrage nécessite que cet angle soit en unités de radians. L'angle azimutal est d'abord modifié de son unité géographique (direction de boussole) en une unité mathématique (angle droit). L'angle azimutal est ensuite converti en radians.
Modification de la mesure de l'angle azimutal :
(4) azimuth_mathématique = 360.0 - azimut + 90
Notez que si azimuth_mathématique > = 360,0, alors :
(5) azimuth_mathématique = azimuth_mathématique - 360.0
Conversion en radians :
(6) rayon_azimutal = azimut_mathématique * pi / 180.0
Calcul de la pente et de l'exposition
Une fenêtre mobile 3 x 3 visite chaque cellule du raster en entrée. Pour chaque cellule située au centre de la fenêtre, une valeur d'exposition et de pente est calculée à l'aide d'un algorithme qui intègre les valeurs des huit voisines de la cellule. Les cellules sont identifiées par les lettres a à i ; e représentant la cellule pour laquelle l'exposition est calculée.
Le taux de variation dans la direction x pour la cellule e est calculé avec l'algorithme suivant :
(7) [dz/dx] = ((c + 2f + i) - (a + 2d + g)) / (8 * taille_cellule)
Le taux de variation dans la direction y pour la cellule e est calculé avec l'algorithme suivant :
(8) [dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * taille_cellule)
La descente la plus raide depuis chaque cellule de la surface est la pente. L'algorithme de calcul de la pente en radians, incorporant le facteur z, est :
(9) rayon_pente = ATAN (facteur_z * √ ([dz/dx]2 + [dz/dy]2))
La direction dans le sens de la pente descendante la plus raide est l'exposition. L'exposition en radians est définie dans la plage de 0 à 2 pi, avec 0 vers l'est. L'exposition est déterminée selon les règles de l'algorithme suivant :
(10) If [dz/dx] is non-zero: rayon_exposition = atan2 ([dz/dy], -[dz/dx]) if rayon_exposition < 0 then rayon_exposition = 2 * pi + rayon_exposition If [dz/dx] is zero: if [dz/dy] > 0 then rayon_exposition = pi / 2 else if [dz/dy] < 0 then rayon_exposition = 2 * pi - pi / 2 else rayon_exposition = rayon_exposition
Exemple de calcul de l'ombrage
Dans cet exemple, la valeur d'ombrage de la cellule centrale de la fenêtre mobile sera calculée.
La taille de cellule est 5 unités. Une altitude par défaut de 45 degrés et un azimut de 315 degrés seront utilisés.
- Angle d'éclairage
Le calcul de l'angle zénithal à partir de l'équation 2 est :
(2) degré_zénithal = 90 - altitude = 90 - 45 = 45
Et converti en radians à partir de l'équation 3 est :
(3) rayon_zénithal = degré_zénithal * pi / 180.0 = 45 * 3.1428571429 / 180 = 0.7857142857
- Direction de l'éclairage
Le calcul permettant de convertir l'angle azimutal, d'un angle géographique en angle mathématique, via l'équation 4, est le suivant :
(4) azimuth_mathématique = 360.0 - azimut + 90 = 360.0 - 315 + 90 = 135 = 2.3571428571
La conversion de l'angle azimutal en radians avec l'équation 6 est :
(6) rayon_azimutal = azimut_mathématique * pi / 180.0 = 135 * 3.1438571429 / 180
- Pente et exposition
Le calcul du taux de variation dans la direction x pour la cellule centrale e est :
(7) [dz/dx] = ((c + 2f + i) - (a + 2d + g)) / (8 * taille_cellule) = ((2483 + 4966 + 2477) - (2450 + 4904 + 2447)) / (8 * 5) = (9926 - 9801)/ 40 = 3.125
Le calcul du taux de variation dans la direction y pour la cellule centrale e est :
(8) [dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * cellsize) = (2447 + 4910 + 2477) - (2450 + 4922 + 2483) / (8 * 5) = (9834 - 9855) / 40 = -0.525
Le calcul de l'angle de pente est :
(9) rayon_pente = ATAN ( facteur_z * √ ([dz/dx]2 + [dz/dy]2)) = atan(1 * sqrt(3.125 * 3.125 + -0.525 * -0.525)) = 1.26511
Le calcul de l'angle rayon_exposition depuis la règle 10 est (puisque dz/dx n'est pas nul dans cet exemple) :
Arayon_exposition = atan2 ([dz/dy], -[dz/dx]) = atan2(-0.525, -3.125) = -2.9751469600412
Puisque cette valeur est inférieure à 0, cette partie de la règle s'applique :
Arayon_exposition = 2 * pi + Aspect_rad = 2 * 3.1428571429 + -2.9751469600412 = 3.310567
- Ombrage
Le dernier calcul de l'ombrage est :
Hombrage = 255.0 * ((cos(rayon_zénithal) * cos(rayon_pente)) + (sin(rayon_zénithal) * sin(rayon_pente) * cos(rayon_azimutal - rayon_exposition))) = 255.0 * ((cos(0.7857142857) * cos(1.26511)) + (sin(0.7857142857) * sin(1.26511) * cos(2.3571428571 - 3.310567))) = 153.82
Puisque le raster en sortie est de type entier, la valeur d'ombrage de la cellule centrale e = 154.
Bibliographie
Burrough, P. A. et McDonell, R. A., 1998. Principles of Geographical Information Systems (Oxford University Press, New York), 190 pp.