Calage d’un réseau sur un réseau de référence, une problématique courante dans un SIG
• • •
Les outils de calage de réseau de polylignes ?
Concrètement, comment ça fonctionne ?
La problématique mise en évidence ici est répandue chez de nombreux utilisateur de SIG :
J’ai récupéré un jeu de données linéaires mais celles-ci ont été mal digitalisées. Elles ne correspondent pas à d’autres données utilisées comme un réseau routier par exemple.
La solution « manuelle » qui consiste à parcourir l’ensemble des courbes et les recaler une à une, voire point par point peut être extrêmement longue, sachant qu’on parle parfois de dizaines de milliers de points.
L’utilisation de l’outil de calage
L’outil POLYLINES ⇒ Traitement des réseaux ⇒ Calage sur les réseaux a été conçu pour répondre à cela.
L’exemple qui nous sert de support s’applique à une couche de courbes représentant des itinéraires touristiques. Le but étant de caler les itinéraires sur un réseau routier, ici la BDTopo de l’IGN.
L’outil se présente ainsi :
Configuration simple : choisir la couche à caler, le nom de la couche à créer et renseigner les deux paramètres , à savoir :
- Tolérance : c’est une distance en mètres permettant le calage.
- Identifier dans la table attributaire : nom d’un champ qui sera ajouté à la couche créée pour renseigner la qualité du calage de chaque courbe.
Principe :
- les parties de courbes qui se trouvent à une distance du réseau de calage inférieure à la valeur de tolérance seront calées sur ce réseau.
- Les autres parties de la courbe ne seront pas modifiées et la forme de la courbe sera adaptée de façon à ce que la liaison entre parties calées et parties non calées soit la plus cohérente avec la forme originale.
De plus, l’outil privilégie le déplacement des nœuds du réseau à caler sur les nœuds du réseau de calage.
Selon la qualité des données, des cas particulièrement complexes peuvent être rencontrés. Pour les mettre en évidence, un attribut est utilisé pour décrire la « qualité » du calage.
Six valeurs possibles sont utilisées :
- calée
- partiellement calée
- calée avec partie commune
- partiellement calée avec partie commune
- intersections à vérifier
- non calée
- hors tolérance
1- Le résultat calé
Les courbes créées sont entièrement calées. Notez que la topologie de la couche à caler a été conservée puisque les extrémités de deux segments jointifs ont été déplacées à la même position, en recherchant à s’appuyer sur un nœud du réseau de calage.
Voici notre point de départ. Le réseau de calage est affiché en bleu et la couche à caler en rouge avec mise en évidence de ses points :
Voici le résutat, le réseau de calage est affiché en bleu et la couche calée en rouge avec mise en évidence de ses points :
2- Le résultat partiellement calé
Ici, la courbe a certaines parties qui ne peuvent être calées simplement parce qu’il n’y a pas de réseau proche, ou parce que certaine partie sont au-delà de la tolérance, ce qui donne le résultat suivant :
La courbe a été calée en s’appuyant le plus possible sur le réseau de référence tout en choisissant le chemin le plus simple.
3- Le résultat avec partie commune
L’opération peut parfois amener à ce que le calage de deux courbes donne deux nouvelles courbes qui se chevauchent en partie. Ceci se voit très bien sur l’exemple suivant.
Nous avons ici deux courbes dont les extrémités se touchent en un point, qui de plus est proche d’un nœud du réseau de calage. Les deux images suivantes mettent en évidence les deux courbes respectivement :
(Notez que la deuxième ne pourra être calée sur sa partie droite)
Le résultat de calage pour la 1ère courbe :
Le résultat de calage pour la 2ème courbe :
Les deux courbes résultante s’appuient sur une même partie du rond point. C’est le chemin le plus adapté à chacune d’elle et qui se termine sur un nœud du réseau, ce qui se distingue aisément en agrandissant cette partie :
La première courbe ayant pu être calée sur toute sa longueur, elle a été notée calé avec partie commune, alors que la deuxième n’ayant pu être calée sur sa droite a été notée partiellement calé avec partie commune.
Ainsi l’utilisateur pourra identifier ce cas et procéder aux corrections nécessaires.
4- Intersections à vérifier
L’outil opère en tentant de respecter plusieurs contraintes, et en particulier de déplacer les extrémités des courbes à caler sur des nœuds du réseau de calage, mais également de rester le plus possible en appuie sur ce réseau.
Ces injonctions peuvent être contradictoire dans certains cas et l’outil va mettre le résultat choisi en évidence en notant les courbes comme intersections à vérifier.
Sur l’exemple suivant, nous avons à nouveau deux courbes à caler dont les extrémités se touchent en un point, tel que présenté sur les images suivantes :
Première courbe à gauche :
Deuxième courbe à droite :
L’algorithme va privilégier de rester sur le réseau de calage, et la valeur du paramètre de tolérance fait que la courbe résultante gauche va s’appuyer sur le prochain nœud.
Parallèlement, l’extrémité de la courbe de droite étant trop éloignée des nœuds du réseau, elle est juste calée sur le segment du réseau.
Nous avons donc deux courbes ayant des extrémités communes et qui ne le sont plus après calage.
Afin de permettre à l’utilisateur de repérer ce cas, les deux courbes calées sont notées Intersection à vérifier.
5- Non calé
Ce cas intervient quand une courbe peut être calée ou partiellement calée mais le résultat est entièrement recouvert par une autre courbe du calage.
L’exemple suivant permet de mieux expliquer ce cas. Nous avons un réseau de calage affiché en bleu, et une couche à caler affichée en rouge, les deux avec mise en évidence des extrémités des courbes :
On distingue quatre courbes à caler, avec extrémité jointives, dont les deux centrales créent une boucle :
Le calage devrait calculer la même courbe résultant pour ces deux dernières, mais ce n’est pas correct et difficile à mettre en évidence pour l’utilisateur.
L’opération va donc caler celle des deux qui est la plus proche du réseau.
L’autre ne sera pas calée, seules ses extrémités seront modifiés pour s’appuyer sur les nœuds du réseau trouvées. Elle sera alors notée comme non calé, et le résultat se présentera ainsi :
Les courbes calées sont affichées en bleu et la non calée en vert.
6- Hors tolérance
Les courbes à caler dont la distance à l’ensemble des courbes du réseau de calage est supérieure à la tolérance seront juste recopiées dans la couche créée et notée comme hors tolérance afin de pouvoir les identifier.
Résultat final
En conclusion, l’outil corrige la couche dans sa grande majorité et met en évidence les quelques cas problématique de façon clair pour permettre leur édition.