Makina Blog
La segmentation dynamique
Introduction au référencement linéaire et ses applications
La segmentation dynamique, ou système de référencement linéaire, est une notion de géomatique qui consiste à localiser des objets à partir d'un réseau de lignes.
Les géométries sont décrites à l'aide d'une mesure le long des lignes du réseau, et lorsqu'un segment du réseau est modifié, celles-ci sont mises à jour automatiquement.
Cette notion est bien connue des utilisateurs de ArcGIS, mais nous allons la décortiquer ici, afin de pouvoir détailler, par la suite, son implémentation dans Geotrek avec PostGIS.
Domaines d'applications
Le cas d'application le plus évident concerne la voirie, pour décrire les équipements le long des routes, leur revêtement ou les panneaux de signalisation.
Pareillement, les chemins de fer, les voies navigables, les pipelines etc. peuvent être modélisés de cette manière pour leur associer des objets ou attributs le long des lignes.
Grâce au référencement linéaire, certaines collectivités gèrent également le positionnement des arbres, mais aussi l'état des digues, ou bien les repères de crues sur les rivières.
Dans le cadre de Geotrek, c'est toute la gestion de sentiers qui est concernée. Les équipements, les chantiers, les statuts fonciers, les droits de passage, la nature des chemins, le patrimoine, les itinéraires de randonnées, ou encore la signalétique sont modélisés en fonction des chemins qui composent le réseau de tronçons.
Principaux avantages
- Aucune redondance des géométries, seule celle du réseau est saisie, les autres sont calculées ;
- Association d'attributs à la totalité ou une partie d'un linéaire ;
- Liens automatiques entre les objets grâce à leur superposition vis-à-vis du réseau ;
- Garantie de la cohérence géométrique et topologique entre les tronçons et tous les objets ;
Modélisation
Chemin | Début | Fin | Décalage |
---|---|---|---|
p1 | 0.10 | 0.95 | 0 |
p1 | 0.75 | 0.75 | 30 |
Les positions (ou jalons) sont exprimés en pourcentage. Lorsque le début est supérieur à la fin, on emprunte le tronçon à l'envers. Lorsque le début est égal à la fin, il s'agit d'un ponctuel.
Le décalage (distance à la ligne) est exprimée en mètres, et prendre une valeur négative si l'élément est à gauche du tronçon. L'angle est toujours de 90 degrés.
Nous n'avons donc besoin que de trois tables :
- Réseau de linéaires
- Table d'attributs (évènement)
- Liste des associations et positions
Prérequis
Le réseau qui sert de référentiel doit être propre, cohérent du point de vue topologique.
Lorsque deux tronçons se croisent, ils doivent être découpés à l'intersection. Et ce, bien entendu, aussi bien lors de l'ajout que de la modification.
Nous avions détaillé ce point dans un article il y a quelques mois…
Mise en place
Plusieurs déclencheurs doivent être mis en place (par ordre de difficulté) :
- « snapping » des extrémités des tronçons lors de la creation ou la modification ;
- calcul de la géométrie résultante à partir des positions, lors de la création ou la modification de celles-ci ;
- découpage des tronçons aux intersections lors de la creation ou la modification ;
- répercution des positions sur tous les tronçons lorsqu'un objet est positionné sur une intersection ;
- recalcul des positions impactées après découpage des tronçons aux intersections ;
Ainsi qu'une série d'outils pour exploiter l'ensemble :
- détection des objets superposés sur le linéaire, à partir des positions ;
- transformation d'un point (lat, lng) en une distance et une position ;
- transformation d'un ligne en une liste de positions sur le réseau ;
- fusion des objets adjacents sur le réseau si leurs attributs sont identiques ;
Difficultés
Recalcul des positions après découpage
La plus grande difficulté consiste à recalculer les positions après le découpage. Dans Geotrek, nous avons une batterie de tests qui s'assure du bon fonctionnement de cet aspect précisemment.
Les cas particuliers
Boucles et aller-retours
Mises à jour
Lorsque la géométrie du tronçon change, les objets décrits à partir de celui-ci seront déplacés.
En fonction des règles métier, et de la gestion de l'historique, il faut éventuellement adapter le comportement des mises à jour.
Par exemple, si le chemin a bougé, suite à un éboulement, alors on va souhaiter que les barrières de protection suivent le nouveau tracé. En revanche, on ne va pas forcément mettre à jour les géométries des interventions de bétonage qui avaient eu lieu sur l'ancien tracé.
Pour les ponctuels, on a l'équivalent. On peut souhaiter que les tables de pic-nic soient déplacées au bord du nouveau tracé, car c'est le cas dans la réalité, en revanche, on ne va pas vouloir déplacer le pylone électrique qui lui est resté en place après l'éboulement.
Limitations
Avec un angle fixé à 90 degrés, nous nous heurtons à une limitation : la possibilité d'associer des points aux extrémités du réseau :
Avec PostGIS
Nous détaillerons certaines implémentations avec PostGIS dans un prochain article ! Pour les curieux et les plus motivés, le code de Geotrek pour cette partie est en ligne :)
Actualités en lien
Nouvelle Journée Technique du PRNSN : le numérique dans les pratiques sportives de nature
Le 27 novembre 2024, Montpellier accueille la 18e Journée technique du réseau national des sports de nature, organisée par le PRNSN.
Mini-guide à l’usage des collectivités : l’Open Data, entre nécessité et opportunité
Tout ce que vous avez toujours voulu savoir sur l’Open Data. Petit guide à destination des collectivités pour l’appréhender et se l’approprier.
Une rentrée riche autour de la donnée et des rencontres pour Makina Corpus Territoires
Chaque rentrée apporte son lot d’opportunités pour faire avancer les projets autour de la données au service des territoires. Le calendrier de Makina Corpus en la matière a été particulièrement dense en événements.