Accueil / Blog / Métier / 2014 / La segmentation dynamique

La segmentation dynamique

Par Mathieu Leplatre publié 17/02/2014
Introduction au référencement linéaire et ses applications
La segmentation dynamique

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

CheminDébutFinDé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
Segmentation Dynamique Modelisation

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

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Présentation de l'écosystème Python scientifique Présentation de l'écosystème Python scientifique 10/11/2016

Au fil des années Python est devenu un outil du quotidien pour les ingénieurs et chercheurs de ...

Elections.js génère des cartes pour vous Elections.js génère des cartes pour vous 30/03/2015

Le travail sur les cartes pour les élections départementales a débouché sur la création d'un ...

Geotrek - 1ère rencontre des utilisateurs 21/12/2016

La communauté Geotrek, regroupant environ 60 personnes, s'est retrouvée le 18 octobre 2016 à ...

Infrastructure webmapping minimaliste (partie 2) - TileMill Infrastructure webmapping minimaliste (partie 2) - TileMill 12/12/2013

Dans le cadre de notre architecture webmapping minimaliste, nous présentons quelques astuces pour ...

Geotrek, bilan de deux années pleine de nouveautés 23/09/2016

Nos retours sur cette année de travail avec la communauté