TesselyaTesselya
Vincent Cormouls·

Cas d'usage — Gestion du patrimoine arboré

Pondérer la charge d'entretien des arbres de Paris pour équilibrer 15 tournées

Cette fois, la charge ne se compte pas : elle se pèse. Un grand arbre demande plus de travail qu'un jeune sujet, et il faut en tenir compte avant de répartir le terrain entre 15 équipes. Démonstration d'une configuration de charge avancée avec Sectora.

Donnée opendata.paris.fr — Arbres d'alignementAlgorithme Sectora · 15 secteursLecture ~10 min

Dans un précédent article, nous avons découpé Paris en tournées de collecte à partir d'un simple comptage de bornes : un point, une unité de travail. C'est le cas d'école. Mais la plupart des terrains réels sont plus subtils : deux unités à traiter ne représentent presque jamais le même effort.

L'entretien d'un patrimoine arboré en est l'exemple parfait. Tailler, inspecter et sécuriser un arbre de quinze mètres n'a rien à voir avec l'entretien d'un jeune sujet planté l'an dernier. Compter les arbres pour répartir le travail reviendrait à ignorer l'essentiel — leur taille. Pour équilibrer honnêtement des tournées, il faut donc pondérer la charge, et c'est exactement ce que permet l'éditeur de charge de Sectora. Suivez le déroulé complet, du GeoJSON brut au rapport d'analyse final.

01Le contexte

Quand la charge ne se compte plus, mais se pèse

La Ville de Paris publie en open data les arbres d'alignement plantés hors peuplement forestier : un jeu géolocalisé qui recense les arbres nouvellement plantés le long des voies depuis le 1ᵉʳ novembre 2021 — et non l'ensemble du patrimoine arboré de la ville. Chaque arbre y porte notamment son essence, sa hauteur et sa circonférence. Imaginons le service qui doit en assurer l'entretien — la collectivité ou son prestataire — réparti en 15 équipes. L'objectif : construire 15 secteurs de tournée qui se tiennent.

Les contraintes classiques de la sectorisation s'appliquent toujours :

  • Équilibre de charge — chaque équipe traite à peu près le même volume de travail.
  • Compacité — chaque secteur est ramassé géographiquement, pour limiter les déplacements entre deux interventions.
  • Continuité — un secteur forme un bloc d'un seul tenant, sans enclave à l'autre bout de la ville.

À cela s'ajoute la difficulté nouvelle de ce cas : la charge n'est pas le nombre d'arbres, mais une charge pondérée par la taille. Un grand arbre doit compter davantage qu'un petit. Et comme souvent avec une donnée publique réelle, deux ou trois surprises nous attendent en chemin — nous ne les masquerons pas, elles font partie du travail.

À propos de la donnée

Le jeu « Les arbres d'alignement (plantés hors peuplement forestier) » est public et téléchargeable en GeoJSON depuis le portail open data de la Ville. Il ne couvre que les arbres d'alignement plantés depuis le 1ᵉʳ novembre 2021 — pas l'ensemble du patrimoine arboré parisien — et n'est pas mis à jour en temps réel. Chaque entrée est un point géolocalisé portant une hauteur et une circonférence : c'est cette hauteur qui va nous servir à pondérer le travail.

02Pas à pas dans l'interface

Du fichier brut aux 15 secteurs pondérés

Voici le parcours complet, tel qu'on le fait dans Tesselya. L'intérêt n'est pas de montrer « ça marche », mais à quoi ressemble le travail réel — y compris le nettoyage de la donnée et les choix de modélisation en cours de route.

  1. Se connecter et créer un projet

    On se connecte à son compte Tesselya, puis on crée un nouveau projet. Un projet regroupe les couches de données, les générations et leurs analyses — tout ce qui touche à un même territoire d'étude.

  2. Découvrir l'interface du projet

    On arrive sur l'espace de travail : la carte occupe la partie droite, les couches et les outils sont à gauche. L'atelier est encore vide — il attend nos données.

  3. Importer le fichier GeoJSON

    On glisse le fichier des arbres téléchargé depuis opendata.paris.fr. Tesselya accepte le GeoJSON et les autres formats géospatiaux courants.

    Fig. 2Import de la couche de points.
  4. Confirmer la projection

    Ce GeoJSON ne contient pas l'information de projection dans ses métadonnées. Plutôt que de deviner, l'interface demande de confirmer qu'il s'agit bien de WGS84 — c'est le cas ici, le standard des données web et open data. Si la donnée avait été dans une autre projection, un sélecteur permet de rectifier en un clic.

    Pourquoi cette étape compte

    Une projection mal interprétée place les points à des centaines de kilomètres de leur vraie position. Demander confirmation évite de fausser silencieusement toute l'analyse en aval.

  5. Explorer les données sur la carte

    L'import terminé, les arbres apparaissent. On manipule la carte, on inspecte. Un cas particulier saute alors aux yeux : les arbres ne sont pas que dans Paris intra-muros. On en trouve aussi au Cimetière parisien de Thiais et au Cimetière parisien de Bagneux — deux emprises géographiquement détachées de la ville, mais gérées par la Ville de Paris. Ces arbres devront bien être entretenus, et il faudra décider quoi en faire.

  6. Vérifier les données dans le tableau d'éléments

    Avant de modéliser, on inspecte la donnée brute dans le tableau d'éléments. Deux problèmes apparaissent :

    • Certains arbres ont une hauteur et une circonférence à 0. C'est probablement un défaut de saisie — mais il y a bien un arbre à entretenir à cet endroit. On ne les ignore pas : ils resteront comptabilisés dans la charge de base, simplement classés dans la plus petite catégorie de taille faute de mieux.
    • Un arbre est déclaré à une hauteur de 350. En mètres, cela ferait un séquoia improbable en pleine rue : il s'agit d'une saisie en centimètres. On corrige directement : double-clic sur la valeur, et on passe à 4 (3,5 m arrondi au supérieur).

    Corriger plutôt qu'écarter

    Une valeur aberrante ne signifie pas une donnée à supprimer. Un arbre saisi à 0 ou à 350 reste un arbre réel sur le terrain : le bon réflexe est de rétablir une valeur plausible, pas de le retirer de la charge.

  7. Transformer les points en hexagones

    Sectora travaille sur des zones, pas sur des points isolés. On crée donc une couche d'hexagones à partir des arbres avec l'outil « Points → zones », en réglant des hexagones de 100 m de côté. Deux options sont décisives ici :

    • On décoche « Couvrir toute la zone » : inutile de générer des hexagones vides là où il n'y a aucun arbre.
    • On coche « Générer des îlots » : les arbres des cimetières de Thiais et de Bagneux, déconnectés du reste, seront regroupés dans des îlots dédiés. Ils restent dans l'étude, mais comme des poches autonomes — exactement ce qu'on veut, puisqu'ils relèvent de tournées spécifiques.
    Fig. 4Maillage hexagonal et génération des îlots pour les emprises détachées.
  8. Définir les agrégations

    C'est l'étape qui prépare la pondération. On découpe l'inventaire en trois groupes de hauteur, via des filtres d'agrégation : moins de 5 m, entre 5 m et 10 m, plus de 10 m. Ces seuils n'ont rien d'arbitraire — ils correspondent à trois régimes d'intervention distincts, dictés par le moyen d'accès qu'il faut mobiliser pour atteindre la cime.

    C'est là une contrainte métier de l'élagage : ce n'est pas la hauteur en soi qui coûte, mais le matériel et l'équipe qu'elle impose.

    • Moins de 5 m — intervention depuis le sol : perche télescopique, échenilloir, sécateur et scie d'élagage. Pas de moyen d'accès en hauteur, un agent, une intervention rapide.
    • Entre 5 m et 10 m — il faut un accès en hauteur, mais une petite nacelle suffit (montée sur véhicule léger, ~10–13 m de hauteur de travail), ou une grimpe légère. Matériel compact qui passe en voirie étroite, un binôme, une durée intermédiaire.
    • Plus de 10 m — on bascule sur une grande nacelle (camion-nacelle) ou un élagueur-grimpeur sur cordes. Équipe étoffée, neutralisation du stationnement et de la circulation, évacuation et broyage des bois : la logistique la plus lourde et la plus chronophage.

    Chaque palier fait donc changer d'outillage, de véhicule, d'effectif et de temps passé — d'où trois groupes, et trois poids différents. C'est ce qui justifiera les coefficients de l'étape de charge :

    TrancheMoyen d'interventionCharge relative
    < 5 mDepuis le sol — perches, sécateur, scie1
    5–10 mPetite nacelle / grimpe légère2,5
    > 10 mGrande nacelle ou grimpe sur cordes4

    On ajoute enfin deux agrégations transversales : un dénombrement sans filtre (le nombre total d'arbres par hexagone, toutes tailles confondues) et une somme de la hauteur cumulée de tous les arbres présents dans l'hexagone. Chaque hexagone saura ainsi non seulement combien d'arbres il contient, mais comment ils se répartissent par régime d'intervention.

    Fig. 5Les cinq attributs reportés sur chaque hexagone.
  9. Générer la couche d'hexagones et vérifier

    On lance le calcul. La couche s'affiche en dégradé : les hexagones les plus denses en arbres ressortent en foncé. On zoome sur quelques points chauds de Paris pour un contrôle visuel, puis on revient au tableau d'éléments et on vérifie, sur quelques hexagones tirés au hasard, que le dénombrement total est bien la somme des trois tranches. Tout est cohérent : on peut passer à Sectora.

    Fig. 6Densité lisible d'un coup d'œil, données contrôlées dans le tableau.
  10. Choisir Sectora

    On sélectionne Sectora dans la liste des algorithmes. La couche d'entrée est présélectionnée automatiquement : c'est la couche « hexagones », la seule du projet compatible avec une sectorisation. La couche de points d'origine, elle, n'est pas proposée.

  11. Configurer la charge pondérée

    Le cœur de ce cas d'usage. Nos trois tranches de taille — donc nos trois régimes d'intervention — vont nous permettre d'appliquer des coefficients de difficulté qui traduisent le surcoût de chaque palier (de la perche à la grande nacelle). On part de trois entrées :

    • Le nombre total d'arbres (toutes tailles) — c'est la charge de base, coefficient 1.
    • Le nombre d'arbres entre 5 m et 10 m, auquel on applique un coefficient 1,5.
    • Le nombre d'arbres de plus de 10 m, auquel on applique un coefficient 3.

    Les coefficients s'ajoutent à la charge de base, car chaque arbre est d'abord compté dans le total. Concrètement : un arbre de 7 m pèse 2,5 points (1 + 1,5) ; un arbre de 12 m pèse 4 points (1 + 3) ; un jeune sujet de moins de 5 m pèse 1 point. On additionne ensuite les trois entrées et on relie le résultat à la sortie — la charge finale à équilibrer.

    Fig. 7La charge pondérée, construite dans l'éditeur de charge.

    Le vrai indicateur de travail

    Équilibrer un nombre d'arbres reviendrait à donner autant de poids à un baliveau fraîchement planté qu'à un sujet déjà haut de plusieurs mètres. En pondérant par la taille, on équilibre l'effort réel des équipes — pas un simple comptage.

  12. Régler les autres paramètres

    On finalise le découpage :

    • 15 secteurs équilibrés, une équipe chacun.
    • On décoche « Exclure les îlots » : les cimetières restent dans l'analyse finale. Ils ne seront pas fusionnés aux secteurs de Paris intra-muros, mais regroupés dans un secteur additionnel, présent pour l'analyse et exclu de l'équilibrage.

    On configure enfin les agrégations de la couche de sortie, pour retrouver les chiffres utiles par secteur : somme du nombre total d'arbres, somme par tranche (< 5 m, 5–10 m, > 10 m) et somme de la hauteur cumulée.

    Fig. 8Le nombre de secteurs, le traitement des îlots et les attributs de sortie.
  13. Lancer la génération et analyser

    On lance le calcul. Cette fois, pas de mauvaise surprise : le résultat est directement cohérent et lisible. Les 15 secteurs sont nets, le secteur d'îlots regroupe bien les cimetières à part. On ouvre l'onglet Analyse pour entrer dans le détail, et on exporte le rapport PDF mis en page pour le partager.

    Fig. 9Le découpage final et son tableau d'analyse.
    Fig. 10Le tableau de bord d'analyse complet.

03Analyse du résultat

15 tournées équilibrées sur une charge pondérée

Le découpage final répartit une charge pondérée de 18 419 points sur 15 secteurs, hors îlots. Voici ce que disent les chiffres du rapport :

Charge totale

18 419

points pondérés

Secteurs équilibrés

15

une équipe chacun

Charge moyenne / secteur

1 228

de 1106 à 1350

Coefficient de variation

8,8%

bon équilibrage

Concrètement : le secteur le plus chargé pèse 1350 points, le moins chargé 1106, autour d'une moyenne de 1228 — soit un écart maximal de 9,9 % de part et d'autre de la cible. Aucune équipe ne se retrouve avec une charge démesurée par rapport à une autre. C'est d'ailleurs un résultat notable : même avec une charge pondérée, plus difficile à répartir qu'un simple comptage, le solveur tient un équilibre serré.

Tous les secteurs sont connexes — pas une seule rupture de contiguïté — et le calcul complet a tourné en environ 113 secondes sur ce jeu de près de 5 000 hexagones (dont 105 s pour le solveur AZP lui-même). La compacité moyenne reste quasi stable, passant de 0,2634 à 0,2604 : une très légère dégradation, contrepartie assumée d'une charge pondérée et de la présence d'îlots. Sur un semis d'arbres aussi fragmenté, ce niveau de compacité est cohérent, et la contiguïté parfaite reste l'essentiel pour des tournées réalistes.

Les îlots, traités à part

240 polygones isolés — les arbres des cimetières de Thiais et de Bagneux — totalisent 741 points de charge, regroupés dans un secteur dédié. Exclus de l'équilibrage pour ne pas fausser les statistiques, ils restent présents dans l'analyse et appellent leurs propres tournées.

Le détail par secteur, repris de l'annexe technique du rapport :

SecteurPolygonesChargeÉcart moy.Compacité
Z02211111−1170,3207
Z14531106−1220,1860
Z23451350+1220,3807
Z33051350+1220,3143
Z42671110−1180,2575
Z52851350+1220,3635
Z62501350+1220,1923
Z73491332+1040,4564
Z83481156−720,1761
Z93921350+1220,2378
Z102551168−600,2406
Z113291305+770,1804
Z123691106−1220,1494
Z135251106−1220,1717
Z142961169−590,2793

Ce qui distingue ce cas du découpage « au comptage », c'est que la charge équilibrée correspond enfin à l'effort réel. Un secteur de 221 hexagones (Z0) et un secteur de 525 (Z13) portent une charge quasi identique : le premier concentre probablement des sujets plus développés — donc plus lourds à entretenir — le second beaucoup de jeunes plants. C'est précisément ce que la pondération permet de capturer — et qu'un simple comptage aurait manqué.

L'inventaire des arbres de Paris n'était qu'un prétexte. Partout où la charge dépend de l'objet autant que de son nombre — patrimoine d'équipements à gabarits variés, interventions de durées inégales, points de service hétérogènes — la méthode est la même : on modélise la difficulté réelle, puis on laisse Sectora l'équilibrer et le justifier, chiffres à l'appui.

Vos données, votre charge

Une charge qui dépend de la taille, de la durée ou du volume ? Importez votre fichier dans Tesselya, construisez votre charge pondérée et générez votre premier découpage Sectora.