# Cas 2 - Préparation des données (géométrie et topologie)
Les outils d'extraction ont permis de générer une couche de haies, soit à partir d'une orthoimage IRC et d'un MNS (extraction raster), soit à partir d'un nuage de points LiDAR (extraction LiDAR). Il s'agit maintenant d'extraire les différentes géométries d'une haie (axes médians et noeuds, en plus de l'enveloppe) et de calculer les relations topologiques entre ces géométries qui composent l'objet haie. Cette étape **constitue un préalable au calcul de toutes les métriques disponibles**. Elle est donc essentielle et permet la création du **point de vue topologique** qui pourra servir ensuite à créer d'autres points de vue complémentaires (i.e. d'autres découpages des haies).
```{admonition} Warning
:class: warning
HedgeTools n'impose pas que la couche de haies initiale soit générée par les outils d'extraction. Il est tout à fait possible d'utiliser une couche de haies déjà disponible (issue d'une base de données existante). Néanmoins, il est préférable que celle-ci soit une couche polygonale. Si seule une couche de haies linéaires est disponible, il est suggéré de générer artificiellement une enveloppe en appliquant une zone tampon autour des lignes. Par ailleurs, si une couche de haies existante est utilisée, il faudra veiller par la suite à ce que les limites des objets se superposent bien à d'autres couches qui pourraient être mobilisées pour le calcul des métriques (MNS, MNT, nuage de points LiDAR, etc).
```
## 1. Extraction des arcs topologiques (axes médian)
### 1.1. Génération des arcs
* Dans le menu de HedgeTools, allez dans : `Données - Préparation > 1. Arc topologique`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche de polygones** (entrée) : la couche *'polygone'* du fichier *'haies.gpkg'* issu de l'extraction et de la classification à partir du LiDAR (voir cas 1).
* **Longueur minimale des arcs pendants (mètres)** : fixez la valeur à **20**.
* **Largeur minimale (m)** : conservez la valeur à **-1** ; il s'agit d'un paramètre permettant une densification du contour utile à la génération de polygones de voronoï qui sont nécessaires pour obtenir l'axe médian. La valeur à -1 définit l'intervalle de densification de manière automatique.
* **Couche de polygones** : couche de polygones de haies en sortie. Enregistrez un nouveau geopackage *'carte_topo.gpkg'* dans lequel vous mettrez la couche *'poly_topo'*
* **Couche d'arcs** : couche d'arcs topologiques en sortie correspondant aux axes médians des haies. Insérez cette couche *'arcs_topo'* dans le fichier *'carte_topo.gpkg'* précédent.
* **Couche d'erreurs** : couche d'arcs contenant des cas qui n'ont pas pu être traités par l'algorithme, pour différentes raisons (erreur interne de géométrie, etc). Insérez cette couche *'erreurs_topo'* dans le fichier *'carte_topo.gpkg'* précédent.
Le résultat correspond ainsi à 3 couches vectorielles : l'une contient les polygones avec un nouvel attribut 'pid'. L'autre contient les axes médians (arc topo) avec un attribut 'eid' et l'attribut 'pid' relatif à son polygone. La dernière couche correspond à des arcs erronés à corriger.



`Séparer les entités` (bouton avec ciseaux) et **découpez les entités** pour séparer l'axe médian des arcs pendants résiduels à retirer (NB : pour terminer l'opération de découpage, clic droit de la souris)
* Appliquez l'opération sur tous les segments à corriger
* Après découpage, sélectionnez et **supprimez** les arcs pendants

`Menu Projet > Options d'accrochage` (ou importez la barre d'outils) ; activez l'accrochage (bouton aimant sur la barre d'outils)
* Sélectionnez l'option *évitez le chevauchement sur la couche active* dans la barre d'outils des fonctions d'accrochage
* Editez la couche *'arcs_topo'* qui contient les arcs erronés ajoutés et partiellement corrigés. Sélectionnez dans la barre d'outils de numérisation (simple) l'`Outil de noeud`
* **Allongez l'un des arcs à joindre** pour le reconnecter à l'autre, en vérifiant l'accrochage automatique par le snapping (partage de géométrie)
* Les deux arcs étant maintenant reconnectés tout en formant des entités distinctes, il faut les fusionner. Pour cela, en conservant le mode d'édition activé, **sélectionnez les deux arcs à fusionner**.
* Sélectionnez dans la barre d'outils de numérisation avancée l'outil `Fusionner les entités sélectionnées`, vérifiez la proposition des valeurs d'attributs qui seront affectées après fusion (table) et validez. Vos arcs sont à présent corrigés en conservant les valeurs d'attributs renseignées (champs 'pid' et 'eid')

`Mettre à jour le lien entre les couches`.
`Données - Préparation > 2. Noeud topologique`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche d'arcs** (entrée) : la couche *'arcs_topo'* contenant les arcs corrigés, enregistrée dans le fichier *'carte_topo.gpkg'*.
* **Couche d'arcs** (sortie) : une couche *'arcs_topo_node'* contenant les arcs enrichis de nouveaux attributs (identifiants 'src_vid' et 'tgt_vid' des noeuds reliés).
* **Couche de noeuds** (sortie) : une couche *'node_topo'* dans le fichier *'carte_topo.gpkg'* contenant les noeuds avec leur identifiant 'vid'.


`Données - Préparation > 3. Polygone topologique`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche de polygones** (entrée) : la couche *'poly_topo'* précédemment enregistrée dans le fichier *'carte_topo.gpkg'*
* **Couche d'arcs** (entrée) : la couche *'arcs_topo_node'* dans le fichier *'carte_topo.gpkg'*
* **Couche de noeuds** (entrée) : la couche *'node_topo'* dans le fichier *'carte_topo.gpkg'*
* **Champ pour les types de noeuds** : sélectionnez le champ 'node_type'
* **Couche de polygones** (sortie) : une couche *'poly_topo_haie'* à insérer dans le fichier *'carte_topo.gpkg'*
* **Couche d'arcs** (sortie) : une couche *'arcs_topo_haie'* contenant les attributs 'eid' et 'pid' mis à jour suite au découpage de la géométrie des polygones.



`Données - Préparation > Simplification des arcs`
* Dans la fenêtre de l'outil, renseignez les paramètres avec :
* **Couche d'arcs** (entrée) : la couche *'arcs_topo_haie'* du fichier *'carte_topo.gpkg'*
* **Couche de polygones** (entrée) : la couche *'poly_topo_haie'* du fichier *'carte_topo.gpkg'*
* **Tolérance de décalage (mètres** (entrée) : fixez la valeur à **10 m**
* **Couche simplifiée** (sortie) : une couche d'arcs *'arcs_topo_haie_simple'* avec une géométrie simplifiée.
```{admonition} Warning
:class: warning
Si l'algorithme indique la présence d'une géométrie non valide pour la couche de polygones (erreur interne liée à QGIS), pensez à appliquer l'outil QGIS : `Géométrie vectorielle > Réparer les géométries`.
```
