Echirolles/Suivi arbres
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

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

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 :
- 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
- Intégration de nouveaux codes Wikidata issus d'OSM si ceux-ci ne sont pas présents dans le référentiel Wikidata local
- 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
- Insertion des objets (issus d'OSM) qui ne sont pas dans le référentiel local
- 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
- Chaque objet créé ou modifiĂ© localement est taguĂ© pour ĂȘtre Ă©ligible Ă son versement dans OSM.
- Les objets tagués sont filtrés au travers d'une vue dont les champs correspondent aux noms des tags à téléverser
- 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
- Le fichier.osm généré est chargé dans JOSM puis téléversé
- 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_statuspour l'état physiologiquehealth:physio_statuspour 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 |
- â Rapport de l'ONF, 18 arbres sur espaces publics Ă Ăchirolles, 2017