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

Résultat obtenu après la construction des arcs topologiques (illustration de la couche des arcs en plus des polygones).


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)


Différents types d'erreurs lors de la construction des arcs topologiques.


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.


Copie et importation d'un arc erroné dans la couche d'arcs à conserver.


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


Exemple d'arcs erronés redécoupés, avec suppression des arcs pendants résiduels.


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


Reconnection des arcs topologiques et fusion des géométries.


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 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’.


Graphe topologique du réseau de haies.


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


Degré de connectivité des noeuds (champ 'type').


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


Nouvelle couche de polygones de haies redécoupés selon la structure arc-noeud.


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


Illustration de discontinuités au sein des haies (présence de trouées) et impact sur le graphe et la génération des polygones topologiques.


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.


Message d'alerte fourni par l'algorithme de création des polygones topologiques pour des cas particuliers où un polygone est associé à plusieurs arcs topologiques.


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

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.


Simplification de la géométrie des arcs topologiques.


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.