# Cas 6 - Calcul de métriques contextuelles
Les haies ne sont pas isolées dans leur environnement. Elles peuvent être adjacentes ou proches de forêts ce qui assure la connectivité des habitats. Elles ont aussi une position spécifique vis-à-vis du relief local (en bas de pente, au sommet d'une colline, en fond de vallée...) de même qu'une orientation par rapport à la pente locale dominante. Ce module permet de caractériser les haies vis-à-vis de leur contexte spatial.
## 1. Position topographique des haies
Pour savoir si la haie est en fond de vallée, en bas de pente ou sur un sommet par exemple, il faut utiliser un MNT et caractériser au préalable les formes du relief. Pour cela, HedgeTools s'appuie sur le calcul des ***geomorphons*** disponibles sous GRASS/QGIS ([Jasiewicz et Stepinski, 2013](https://www.sciencedirect.com/science/article/abs/pii/S0169555X12005028)).
Les geomorphons correspondent à des **motifs caractéristiques du relief** classés en **10 catégories** :
* Plat (*flat*)
* Sommet (*peak*)
* Crête (*ridge*)
* Épaule (*shoulder*)
* Éperon (*spur*)
* Pente (*slope*)
* Creux (*hollow*)
* Bas de pente (*footslope*)
* Vallée (*valley*)
* Cuvette (*pit*)
Ces motifs sont obtenus à l'aide d'un MNT raster, à partir d’une analyse de voisinage adaptatif pour chaque pixel de l’image, en regardant l’altitude relative des pixels voisins par rapport au pixel considéré. Il ne s’agit pas nécessairement des premiers voisins. La distance de voisinage s’adapte au terrain et tient compte des voisins visibles les plus lointains, contraint par une distance maximale de recherche.
L'analyse du voisinage est plus élaborée qu'un calcul de différence d'altitude entre le pixel considéré et les voisins. Elle consiste à estimer la valeur d'une quantité $\Delta$ fondée sur la comparaison de 2 angles, pour une ligne de visée et une direction choisie : l'**angle zénithal** ($\phi$) entre le pixel considéré et le pixel le plus haut dans le voisinage (soit 90°-l'**angle d'élévation maximal** qui est l'angle formé entre le plan horizontal et la ligne de visée la plus élevée) et l'**angle nadiral** ($\psi$) entre le pixel considéré et le pixel le plus bas dans le voisinage (soit 90°-l'**angle d'élévation minimal** qui est l'angle formé entre le plan horizontal et la ligne de visée la plus basse). Ces angles $\phi$ et $\psi$ sont positifs et varient entre 0 et 180°. Ils sont évalués selon les 8 directions principales (N, NE, E, SE, S, SW, W, NW) donc pour 8 profils d'altitude différents, jusqu'à une distance $L$ fixée par l'utilisateur.

).](../../images/usage/figures_cas6/geomorphons.png)
`Métriques - Contexte > Position topographique`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche de polygones** (entrée) : la couche *'poly_topo'* du fichier *'pv_topo.gpkg'*.
* **Raster d'altitude (MNT)** (entrée) : le fichier *'MNT_mosaic_RGEAlti_dpt50_14.vrt'*. Il s'agit d'un MNT issu du RGE Alti à 5 m de résolution spatiale (au format *raster virtuel* .vrt). Le MNT peut provenir d'une autre source, dont le LiDAR, mais il est préférable d'utiliser un MNT qui n'a pas une trop haute résolution spatiale pour ne pas intégrer trop de particularités topographiques locales.
* **Bande d'altitude** (entrée) : bande **n°1** (la seule dans le MNT raster)
* **Distance de recherche (mètres)** : il s'agit du paramètre $L$ utilisé pour analyser le voisinge et définir ensuite les formes du relief. Conservez la valeur par défaut à **100 m**.
* **Distance à ignorer (mètres)** : il s'agit d'un paramètre permettant d'ignorer des variations topographiques locales lors de la construction des géomorphons. Conservez la valeur par défaut à **50 m**.
* **Taille de la fenêtre (pixels)** : il s'agit d'un paramètre qui fixe la taille de la fenêtre utilisée pour appliquer, en post-traitement, un lissage local du résultat de classification des geomorphons.
* **Couche position topographique** (sortie) : couche de polygones en sortie enrichie du geomoporphon majoritaire sur laquelle chaque haie est positionnée. Enregistrez cette couche dans un nouveau geopackage *'pv_topo_contexte.gpkg'* avec comme nom de couche *'poly_topo_positionTopo'*

`Métriques - Contexte > Orientation par rapport à la pente`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche de polygones** (entrée) : la couche *'poly_topo'* du fichier *'pv_topo.gpkg'*.
* **Couche d'arcs** (entrée) : la couche *'arcs_topo'* du fichier *'pv_topo.gpkg'*.
* **Raster d'altitude (MNT)** (entrée) : le fichier *'MNT_mosaic_RGEAlti_dpt50_14.vrt'*. Il s'agit du MNT issu du RGE Alti à 5 m de résolution spatiale (au format *raster virtuel* .vrt). Le MNT peut provenir d'une autre source.
* **Bande d'altitude** (entrée) : bande **n°1** (la seule dans le MNT raster)
* **Taille de la fenêtre (pixels)** : il s'agit d'un paramètre qui fixe la taille de la fenêtre utilisée pour appliquer, en post-traitement, un lissage local du résultat (filtre médian).
* **Tolérance par rapport à la perpendiculaire (angle en °)** : il s'agit d'un paramètre qui permet d'accepter de ne pas être strictement perpendiculaire, en ajoutant une différence d'angle positive ou négative par rapport à 90°.
* **Pente minimale (%)** : il s'agit d'un paramètre qui permet d'indiquer à partir de quel % de pente il faut considérer que les haies sont en pente. Si la pente est < cette valeur de paramètre, les haies sont considérées comme "à plat".
* **Utilisation de la position topographique pour les zones plates** : les zones plates peuvent être identifiées à l'aide des geomorphons. Choisissez "**oui**".
* **Distance de recherche (mètres)** : optionnel - il s'agit du paramètre $L$ utilisé pour analyser le voisinge et définir ensuite les formes du relief. Il n'est utile que si la position topographique est utilisée pour les zones plates. Choisissez "**100**".
* **Distance à ignorer (mètres)** : optionnel - il s'agit du paramètre permettant d'ignorer des variations topographiques locales lors de la construction des géomorphons. Il n'est utile que si la position topographique est utilisée pour les zones plates. Choisissez "**50**".
* **Couche orientation relative** (sortie) : couche de polygones en sortie enrichie d'un attribut indiquant l’orientation relative des haies par rapport à la pente. Enregistrez cette couche dans le geopackage *'pv_topo_contexte.gpkg'* avec comme nom de couche *'poly_topo_orientationRelative'*

`Métriques - Contexte > Orientation par rapport à la pente`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche de noeuds** (entrée) : la couche *'node_topo'* du fichier *'pv_topo.gpkg'*.
* **Couche de forêts** (entrée) : la couche *'forets'* du fichier *'tree_cover_H_preT.gpkg'* (cf. cas d'usage 1).
* **Champ ID de la forêt** (entrée) : choisissez le champ 'pid'.
* **Couche distance euclidienne** (sortie) : couche de points (noeuds) enrichie d'un attribut indiquant la distance par rapport à la forêt la plus proche ainsi que son identifiant. Enregistrez cette couche dans le geopackage *'pv_topo_contexte.gpkg'* avec comme nom de couche *'node_topo_distanceForet'*
