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).
Avertissement
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 topologiqueDans 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.

1.2. Correction manuelle d’arcs erronés#
Nous allons inspecter la couche ‘erreurs_topo’ (n=10 dans la couche générée) pour corriger manuellement certaines erreurs et les réintégrer dans la couche d’arcs principale. Plusieurs cas peuvent se présenter :
Des arcs topologiques créés mais déconnectés, avec des arcs pendants non éliminés. Ces arcs sont à corriger (erreur type 1)
Des arcs associés à des polygones qui ne correspondent pas réellement à des haies et qui peuvent être ignorés (erreur type 2)
Des arcs pendants isolés ou des fragments résiduels qui peuvent être aussi ignorés (erreur type 3)

Nous allons nous focaliser sur les erreurs de type 1 pour éviter de perdre ces arcs erronés. Pour cela, après l’activation du mode d’édition des couches ‘erreurs_topo’ (source) et ‘arcs_topo’ (cible), nous allons sélectionner les arcs à conserver dans la couche des erreurs et les copier-coller dans la couche des arcs. Une illustration est donnée dans la figure ci-dessous.

Après copie, les erreurs de connectivité entre les arcs (cercle rouge sur la figure) doivent être corrigées à la main, en utilisant les outils QGIS de numérisation avancée (clic droit sur la barre d’outils QGIS et cochez la case pour l’activer). Il y a plusieurs opérations à effectuer car des arcs pendants doivent d’abord être retirés, ce qui implique de recouper les arcs au préalable. Ensuite, il faut reconnecter les deux portions d’arcs pour n’en faire qu’un seul en dessinant une jonction et en veillant à bien s’accrocher aux géométries existantes.
La démarche est ainsi la suivante :
Placez-vous sur la couche ‘arcs_topo’ contenant les arcs erronés recopiés (erreurs de type 1)
Sélectionnez un arc à redécouper et activez le mode édition de la couche
Dans la barre d’outils de numérisation avancée, utilisez l’outil
(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)Séparer les entitésAppliquez l’opération sur tous les segments à corriger
Après découpage, sélectionnez et supprimez les arcs pendants

Il nous reste à reconnecter les deux arcs topologiques déconnectés, fusionner leur géométrie, et vérifier que les attributs ‘pid’ et ‘eid’ sont bien renseignés après fusion.
La démarche est ainsi la suivante :
Activez le mode snapping pour permettre un accrochage à une géométrie existante durant la numérisation :
(ou importez la barre d’outils) ; activez l’accrochage (bouton aimant sur la barre d’outils)Menu Projet > Options d'accrochageSé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 noeudAllongez 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
, 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’)Fusionner les entités sélectionnées

Appliquez la même démarche sur les autres arcs erronés que vous souhaitez conserver. En cas de besoin, reportez-vous à l’aide en ligne de QGIS relative aux outils d’édition pour mieux prendre en main les outils de numérisation et corriger vos arcs de façon appropriée. Par ailleurs, si la correspondance entre vos identifiants des arcs topologiques et des polygones n’est plus assurée après correction, vous pouvez appliquer l’outil HedgeTools : .Mettre à jour le lien entre les couches
2. Extraction des noeuds topologiques#
Nous allons à présent matérialiser les jonctions et les extrémités des arcs corrigés, par des noeuds. Ces noeuds permettront de créer un graphe topologique du réseau de haies (structure arc-noeud). Pour ce point de vue topologique, aucun noeud n’est généré en-dehors des intersections d’arcs ou des extrémités.
Dans le menu de HedgeTools, allez dans :
Données - Préparation > 2. Noeud topologiqueDans 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’.

Prenez connaissance du contenu de la table des deux couches de sortie pour vérfier la cohérence des identifiants entre les arcs et les noeuds reliés. Vous constaterez que la table des noeuds contient également un champ qui précise le type de noeud : O (noeud d’extrémité ; degré 1), T (noeud de jonction entre 3 arcs ; degré 3), X (noeud de jonction entre 4 arcs ; degré 4), M (noeud de jonction entre de multiples arcs, > 4 ; degré 5+)

3. Extraction des polygones topologiques#
A ce stade, nous disposons d’une structure arc-noeud de nos haies mais le découpage des polygones de haies n’est pas cohérent avec cette structure : les polygones ne sont pas encore individualisés. Il reste donc à appliquer cette dernière étape de construction des polygones topologiques pour y remédier. Pour cela, les polygones sont redivisés à chaque noeud (hors extrémités) en calculant la bissectrice qui relie deux arcs. D’autres options de redécoupage des polygones topologiques devraient être proposées dans l’outil à l’avenir.
3.1. Génération des polygones#
Dans le menu de HedgeTools, allez dans :
Données - Préparation > 3. Polygone topologiqueDans 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.

Il est important de noter qu’il peut exister des ruptures de continuité de polygones puisque le découpage dépend de la continuité des arcs et des noeuds associés. Mais la continuité (connectivité) des arcs dépend elle-même de la couche initiale des polygones issue de l’extraction. Ces ruptures de continuité ne sont pas forcément des erreurs. Elles matérialisent des trouées au sein de la haie qui sont “vues” » par les données LiDAR. Mais selon la définition de la haie souhaitée, il peut être nécessaire de les corriger (i.e. modifier les polygones avant de lancer la création des arcs médian et des noeuds).

3.2. Alerte sur des polygones mal découpés#
Lors de la création des polygones topologiques par redécoupage, il est possible que l’algorithme fournisse un message d’alerte indiquant que certains polygones ne peuvent pas être découpés. Cette alerte n’empêche pas l’algorithme de terminer son exécution mais il signale des difficultés rencontrées. Ces cas rares (ici 5 polygones concernés sur 1347 entités traitées) sont identifiés dans la table attributaire de la couche de sortie par le champ ‘split_err’ (valeur = 1). Cette identification permet d’envisager une correction manuelle si nécessaire. En général, ces alertes apparaissent pour des jonctions complexes associées à plusieurs tronçons proches. Elles peuvent aussi survenir lorsqu’un polygone est composé de deux parties qui partagent une relation d’adjacence par un point. Ces cas génèrent des liens d’appariement polygone-arc anormaux : un polygone se retrouve associé à plusieurs arcs topologiques alors qu’une relation de type 1-1 est attendue.

Ces cas ne peuvent pas tous être corrigés manuellement. L’important est qu’ils soient identifiés dans la table de façon à être prudent dans l’interprétation des métriques qui seront calculées par la suite. Nous poursuivons donc ce tutoriel avec les trois couches finales contenues dans le même fichier Geopackage : ‘poly_topo_haie’, ‘arcs_topo_haie’ et ‘node_topo’
4. Simplification de la géométrie des arcs topologiques#
Cet outil permet de lisser la géométrie des arcs topologiques pour gommer les irrégularités qui peuvent conduire à surestimer la longueur des objets. Il s’appuie sur l’algorithme de généralisation cartographique de Douglas-Peucker en rajoutant une contrainte supplémentaire pour maintenir l’arc topologique au sein du polygone englobant. Son utilisation est optionnelle. Tous les attributs dans la table sont conservés.
Dans le menu de HedgeTools, allez dans :
Données - Préparation > Simplification des arcsDans 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.
Avertissement
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

A la suite de cette étape et pour ne pas se perdre dans les différentes couches générées, il est conseillé d’exporter dans un nouveau Geopackage ‘pv_topo.gpkg’, les seules couches d’intérêt pour la suite :
Couche ‘arcs_topo_haie_simple’ du fichier ‘carte_topo.gpkg’ vers ‘arcs_topo_simple’ du nouveau fichier ‘pv_topo.gpkg’
Couche ‘arcs_topo_haie’ du fichier ‘carte_topo.gpkg’ vers ‘arcs_topo’ du nouveau fichier ‘pv_topo.gpkg’
Couche ‘poly_topo_haie’ du fichier ‘carte_topo.gpkg’ vers ‘poly_topo’ du nouveau fichier ‘pv_topo.gpkg’
Couche ‘node_topo’ du fichier ‘carte_topo.gpkg’ vers ‘node_topo’ du nouveau fichier ‘pv_topo.gpkg’
Nous allons poursuivre le tutoriel avec le fichier ‘pv_topo.gpkg’.