Echirolles/Suivi arbres

From OpenStreetMap Wiki
Jump to navigation Jump to search

Présentation générale

La Ville d'Échirolles souhaite mettre en place un dispositif de suivi des arbres pour planifier leur plantation et leur entretien.

Il s'agit avant tout de repartir de l'existant tant sur les donnĂ©es que sur le protocole de mise en Ɠuvre.

Un travail d'inventaire avant tout...

Avant de parler de suivi, c'est un inventaire qu'il faut prévoir pour disposer d'un référentiel à jour.

C'est la condition nĂ©cessaire pour ĂȘtre en mesure d'assurer le travail de planification et de suivi des Ă©vĂšnements.

... Et une coordination à trouver avec la Métropole de Grenoble (Grenoble-Alpes-Métropole)

Une partie de ce travail est à coupler avec le travail mis en place par la Métropole qui a notamment la charge des arbres situés le long des axes de voirie dont elle a la compétence.

Ce travail est actuellement en rĂ©vision et une demande a Ă©tĂ© faite pour qu'Ă  terme la ville d'Échirolles soit directement connectĂ©e Ă  cette base et puisse reverser cette donnĂ©e dans la base OSM.

Référentiel taxonomique

Un des premiers enjeux a été de définir le référentiel taxonomique permettant d'asseoir le référencement des espÚces d'arbres historiquement recensées sur le territoire.

Plusieurs rĂ©fĂ©rentiels ont Ă©tĂ© Ă©tudiĂ©s :


MalgrĂ© la grande richesse et la qualitĂ© mĂ©thodologique de ces bases, aucun de ces rĂ©fĂ©rentiels ne rĂ©pondent pleinement Ă  notre besoin :

  • TaxRef ne rĂ©fĂ©rence pas de nombreuses espĂšces issues du commerce, souvent exogĂšnes au pĂ©rimĂštre mĂ©tropolitain et outre-mer
  • BGCI ne propose pas de service de tĂ©lĂ©chargement de son rĂ©fĂ©rentiel complet (a priori)
  • BGIF, tout comme BGCI, ne propose pas de noms vernaculaires en français


Finalement, c'est la base Wikidata qui été choisie car elle répond à tous ces besoins, et de plus assure le rÎle de base pivot aux autres référentiels taxonomiques précités.

Par ailleurs, l'atout de cette base réside dans le fait que des outils développés pour OSM (OSM-ID, MapComplete, etc.) proposent de l'autocomplétion en lien avec Wikidata pour saisir l'espÚce de l'arbre, que ce soit à partir du nom latin ou des noms vernaculaires référencés dans plusieurs langues dont le français.

Processus du cycle de vie des données

Process synchro OSM Echirolles
Cycle de vie des donnĂ©es entre OpenStreetMap et le SIG de la ville d'Échirolles

L'enjeu de ce projet est de pouvoir faire en sorte de mettre à jour les données du référentiel dans OSM et vice versa.

Une architecture technique a donc été mise en place pour faire en sorte de pouvoir récupérer les données issues d'OSM pour les intégrer dans le référentiel local, et d'un autre cÎté de pouvoir reverser dans OSM les ajouts et changements du référentiel local pour assurer un cycle de vie vertueux, notamment pour éviter d'éventuels conflits entre les deux instances.



Place centrale de l'outil LeBonTag

Cet outil permet de superviser et récupérer facilement les objets dont nous avons besoin, en l'occurrence les arbres dans notre cas de figure.

Les données validées sont stockées dans une base PostgreSQL via la librairie osm2pgsql qui fait office de base "locale" des données OpenStreetMap

Reversement des données de la base locale OSM dans la base SIG métier

Pour récupérer les données issues d'OSM, un script (basé sur une fonction PL/pgsql) a été mis en place pour récupérer les changements validés depuis LeBonTag (ajouts d'objets, modifications d'attributs, etc.).

Ce script, exécuté quotidiennement par exécuteur de tùches, fait une conflation à partir des identifiants OSM qui sont également stockés dans la base métier.

Le détail de ce mécanisme est détaillé plus bas dans la section dédiée Synchronisation des données issues d'OSM.

Reversement des données de la base métier vers OSM

Pour des questions pratiques, le travail de remplissage du référentiel de suivi des arbres consiste à saisir des données métier qui ne rentrent pas dans le cadre d'OSM. Il n'est donc pas concevable de demander à des agents de terrain de saisir des données dans deux référentiels différents.

Un outil mĂ©tier unique s'impose donc dans ce dispositif, ce qui nĂ©cessite de trouver des passerelles entre nos donnĂ©es mĂ©tier et le rĂ©fĂ©rentiel OSM : c'est de lĂ  que provient le besoin de faire un travail de synchronisation des donnĂ©es pour assurer un bon cycle de vie.

Le détail de ce mécanisme est détaillé plus bas dans la section dédiée Reversement des objets du référentiel local dans OSM

Méthodologie de structuration des données

Construction du modÚle relationnel de données

ModĂšle conceptuel de donnĂ©es de la base de suivi des arbres de la ville d'Échirolles

Le MCD est composĂ© de 4 tables :

  • arbres_descriptif_ech : Table de description des arbres pouvant s'apparenter Ă  sa fiche d'identification
  • arbres_releves_ech : table de relevĂ© terrain des arbres pouvant s'apparenter Ă  sa fiche d'identification
  • arbres_media_ech : Table des media associĂ©s Ă  chaque relevĂ© de terrain
  • arbres_taxref_wikidata : rĂ©fĂ©rentiel taxonomique des arbres issu de la base Wikidata et adaptĂ©e aux besoins de la base de suivi

Cette structuration de données permet de localiser, décrire et faire le suivi des observations et de l'entretien des arbres sur le territoire échirollois.


Intégration par conflation

Composition des sources de données

La base de donnĂ©es croise plusieurs sources de donnĂ©es pour ĂȘtre la plus exhaustive possible :

  • La base de donnĂ©es du patrimoine arborĂ© de Grenoble-Alpes-MĂ©tropole : cette base de donnĂ©es est la plus importante en nombre d'objets. Elle comprend elle-mĂȘme un inventaire issu des bases de donnĂ©es suivantes :
    • Les arbres d'alignement de voirie
    • Le plan CanopĂ©e qui "vise Ă  protĂ©ger les arbres existants et augmenter la plantation de nouveaux arbres, en s’appuyant sur l’indice de canopĂ©e (un indicateur traduisant la surface ombragĂ©e)"
    • Les arbres protĂ©gĂ©s inscrits dans le cadre du Plan Local d'Urbanisme intercommunal
  • La base de donnĂ©es historique construite par Échirolles avant 2023 qui se limite Ă  un inventaire, sans lien avec un rĂ©fĂ©rentiel taxonomique, et dont une partie de l'inventaire est redondant avec celui de la MĂ©tropole
  • La base de donnĂ©es OpenStreetMap qui permet d'alimenter le rĂ©fĂ©rentiel grĂące aux contributions de la communautĂ©
La base de données de la Métropole a déjà fait l'objet d'un travail de versement dans OSM en 2017 sur Grenoble par Binnette.
Elle est aujourd'hui en cours de refonte et demande des travaux de stabilisation en matiÚre de localisation, des ajustements au référentiel taxonomique mobilisé et l'affectation de codes uniques d'identification des arbres. Il est donc plus prudent de ne pas les intégrer pour le moment dans le référentiel.

Intégration par croisement des sources de données

Pour arriver Ă  injecter l'ensemble des sources dans le rĂ©fĂ©rentiel de donnĂ©es, un script d'intĂ©gration a Ă©tĂ© construit pour effectuer les Ă©tapes suivantes :

1. Intégration des données de la Métropole dans la base historique

Ce travail a été porté initialement par une stagiaire et à partir duquel il a été possible de distinguer cette source avec les objets de la base historique.

La base de donnĂ©es de la MĂ©tro n'Ă©tant pas prĂȘte, c'est un moyen d'Ă©craser les anciens objets avec la derniĂšre version Ă  venir.

2. Redressement des données liées au référentiel taxonomique

Comme évoqué plus haut, le choix s'est porté sur Wikidata pour servir de base pivot au référentiel taxonomique.

Un travail important de correspondance des valeurs a été faite manuellement pour corriger les genres / espÚces des données issues de l'étape 1. Par prudence, ce travail correspondances des erreurs est conservé dans le script global

3. Intégration des données historiques dans le nouveau référentiel

Il s'agit de recaler les valeurs des champs avec modalités et de filtrer les champs non utiles.

Une boucle vient injecter chaque arbre dans la table descriptive, avec à chaque passage l'enregistrement du premier relevé issu des données historiques. Il s'agit en quelque sorte d'un évÚnement fictif puisqu'il marque le démarrage de la vie des données de la base.

4. Appariement avec les données issues d'OSM

Cette derniÚre parti est cruciale car elle cherche à récupérer les données issues d'OSM et de vérifier s'il s'agit d'arbres déjà présents dans le référentiel ou d'arbres qui n'ont pas encore été intégrés.

La section suivante permet de données les détails de l'architecture mise en place

Synchronisation des données issues d'OSM

Le travail de synchronisation se dĂ©roule selon les Ă©tapes suivantes :

  1. Récupération des données des arbres de la base OSM locale. Pour consolider ces données (absence d'information sur la phénologie, etc.), un travail de croisement est avec le référentiel taxonomique dans l'éventualité de la présence d'informations comme le genre ou l'espÚce
  2. Intégration de nouveaux codes Wikidata issus d'OSM si ceux-ci ne sont pas présents dans le référentiel Wikidata local
  3. Mise à jour des attributs des objets existants du référentiel local pour lesquels il existe une version plus récente validée depuis LeBonTag
  4. Insertion des objets (issus d'OSM) qui ne sont pas dans le référentiel local
  5. Suppression des objets du référentiel local dont l'identifiant n'est plus présent dans la base locale OSM

Reversement des objets du référentiel local dans OSM

Principe

Cette fonctionnalité est ce qui permet de conserver le cycle de vie synchronisée des données entre OSM et le référentiel local. C'est un moyen de reverser dans OSM un objet qui potentiellement pourrait apparaßtre en parallÚle par le biais d'un contributeur OSM, et générerait un conflit lors de la phase de synchronisation.

Étapes de fonctionnement

  1. Chaque objet créé ou modifiĂ© localement est taguĂ© pour ĂȘtre Ă©ligible Ă  son versement dans OSM.
  2. Les objets tagués sont filtrés au travers d'une vue dont les champs correspondent aux noms des tags à téléverser
  3. Les donnĂ©es de la vue sont converties au format .osm par l'intermĂ©diaire d'un script python de telle maniĂšre que : - les objets ayant une existence dans OSM seront mis Ă  jour avec un nouveau numĂ©ro de version - les objets créés dans le rĂ©fĂ©rentiel local, qui n'ont pas d'existence apparente dans OSM, seront reversĂ©s pour la premiĂšre fois dans OSM et l'identifiant créé sera rĂ©cupĂ©rĂ© Ă  la synchronisation suivante, comme expliquĂ© dans la section dĂ©crite plus haut
  4. Le fichier.osm généré est chargé dans JOSM puis téléversé
  5. Le tag des objets candidats au reversement est réinitialisé dans la base du référentiel en vue du prochain reversement

Ainsi, il s'agit d'un travail de contrĂŽle semi-automatique (de la mĂȘme maniĂšre que pour la phase d'intĂ©gration) effectuĂ© en amont pour repĂ©rer ce qui a pu se faire entre temps dans OSM, au travers d'une vue au format "compatible OSM" des objets taguĂ©s :

  • VĂ©rification d'un arbre Ă  proximitĂ© pouvant ĂȘtre le mĂȘme
  • ContrĂŽle sur le changement des attributs suivis dans le cadre du projet

Pour autant, cette tùche est programmée de façon réguliÚre (dont la fréquence est décidée avec l'équipe du projet) pour garder une cohérence entre les deux référentiels par l'intermédiaire d'une supervision humaine.

Focus sur le script python

Le script python est un travail issu d'une source fournie Ă  l'origine par Ptigrouick (que je remercie encore une fois ! :-) qui :

  • rĂ©cupĂšre dans la base PostgreSQL les arbres Ă  tĂ©lĂ©verser dans un format compatible Ă  OpenStreetMap
  • rĂ©cupĂšre depuis l'API d'OpenStreetMap les arbres
  • croise ces deux sources afin :
    • d'appareiller les arbres ayant le mĂȘme identifiant OSM
    • de considĂ©rer les autre arbres du rĂ©fĂ©rentiel local comme de nouveaux arbres
  • gĂ©nĂšre au format OSM les rĂ©sultats de ce croisement
Il est Ă  noter que ce croisement se fait de façon supervisĂ©e dans le sens oĂč les donnĂ©es du rĂ©fĂ©rentiel local sont contrĂŽlĂ©es au prĂ©alable depuis l'outil LeBonTag

Évolutions Ă  envisager sur le mĂ©canisme de reversement

Une réflexion est en cours pour faciliter ce travail de reversement par le biais d'une interface ergonomique, avec la consultation d'éditeurs SIG pour OSM

Suivi physiologique et phytosanitaire : proposition de tags spĂ©cifiques

Pour enrichir le travail de terrain, il est proposĂ© de rajouter deux nouveaux tags relevant de l'Ă©tat de santĂ© de l'arbre. À savoir son Ă©tat physiologique et phytosanitaire.

AprĂšs analyse des donnĂ©es prĂ©sentes dans OSM, la question de l'Ă©tat de santĂ© de l'arbre ne semble pas ĂȘtre prise en compte et cela pourrait avoir un intĂ©rĂȘt de spĂ©cifier cette information pour faire remonter des alertes aux propriĂ©taires des arbres.

En s'appuyant sur l'expertise de l'ONF[1], il est proposĂ© de porter l'information de l'Ă©tat de santĂ© sur deux tags diffĂ©rents :

  • health:physio_status pour l'Ă©tat physiologique
  • health:physio_status pour l'Ă©tat phytosanitaire

Pour chacun d'entre eux sont proposĂ©s 3 niveaux d'Ă©tat (good, average et bad) et dont l'affectation de la valeur pourrait se faire de la maniĂšre suivante :

health good average bad
physio_status Arbre en bonne santĂ©, croissance active des rameaux PrĂ©sence de petites branches mortes, baisse de vitalitĂ©, croissance rĂ©duite Arbre dĂ©pĂ©rissant, nombreux Ă©lĂ©ments morts, descente de cime, gourmands frĂ©quents sur les charpentiĂšres, croissance des rameaux quasi nulle, perte anormale de feuilles supĂ©rieure Ă  30 %
phyto_status Arbre sain PrĂ©sence de champignon ou d’insectes pouvant affecter Ă  terme le fonctionnement de l’arbre ou sa soliditĂ© Attaque importante d’insectes ou de champignons menaçant la survie ou la soliditĂ© de l’arbre
  1. ↑ Rapport de l'ONF, 18 arbres sur espaces publics à Échirolles, 2017