Cas d'usage — Logistique territoriale
Équilibrer les tournées de collecte des bornes à déchets alimentaires de Paris
430 points d'apport volontaire, 8 secteurs de collecte à équilibrer, et un découpage exploitable en quelques minutes. Démonstration de Sectora sur des données ouvertes réelles.
Découper un territoire en secteurs équilibrés est un problème que tout le monde croit simple… jusqu'à devoir le faire à la main. Diviser une ville en tournées de ramassage équitables, redécouper une carte scolaire, répartir un parc d'équipements entre des équipes : dès qu'on combine équilibre des charges, compacité géographique et continuité territoriale, le découpage « à l'œil » montre vite ses limites.
C'est exactement le terrain de jeu de Sectora. Pour le montrer concrètement, nous avons pris un jeu de données ouvert et bien réel : les points d'apport volontaire de déchets alimentaires (PAVDA) de la Ville de Paris, publiés sur opendata.paris.fr. Suivez le déroulé complet, du fichier brut au rapport d'analyse final.
01Le contexte
Un besoin concret : des tournées de collecte équitables
Paris déploie un réseau d'Abri-bac, ces bornes où les habitants déposent leurs biodéchets. Ces points sont disséminés sur tout le territoire, et quelqu'un doit passer les vider régulièrement. Imaginons le service en charge de la collecte — la collectivité ou son prestataire — qui dispose de 8 équipes (8 véhicules, 8 tournées) et veut répartir le travail proprement.
Le réflexe naturel serait de découper Paris en parts grossières « par arrondissement ». Mais les arrondissements n'ont aucune raison de contenir le même nombre de bornes : une équipe se retrouverait surchargée pendant qu'une autre tourne à vide. L'objectif est donc de construire 8 secteurs qui respectent trois contraintes à la fois :
- Équilibre de charge — chaque équipe traite à peu près le même nombre de points.
- Compacité — chaque secteur est ramassé géographiquement, pour limiter les temps de trajet entre deux bornes.
- Continuité — un secteur forme un bloc d'un seul tenant, sans enclave isolée à l'autre bout de la ville.
Optimiser ces trois critères ensemble est précisément le métier des algorithmes de sectorisation. C'est ce que Sectora automatise.
À propos de la donnée
Le jeu « Points d'apport volontaire (PAVDA) — Abri-bac Déchets Alimentaires » est public et téléchargeable en GeoJSON depuis le portail open data de Paris. Chaque entrée est un point géolocalisé. C'est tout ce dont nous avons besoin pour démarrer.
02Pas à pas dans l'interface
Du fichier brut aux secteurs équilibrés
Voici le parcours complet, tel qu'on le fait dans Tesselya. L'idée n'est pas seulement de montrer « ça marche », mais aussi à quoi ressemble le travail réel — y compris les ajustements en cours de route.
Se connecter et créer un projet
On commence par se connecter à 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.
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. Pour l'instant, l'atelier est vide — il attend nos données.
Fig. 1 — L'espace de travail d'un projet Tesselya. Importer le fichier GeoJSON
On glisse le fichier des PAVDA téléchargé depuis opendata.paris.fr. Tesselya accepte le GeoJSON et les autres formats géospatiaux courants.
Fig. 2 — Import de la couche de points. Confirmer la projection
Petit cas particulier fréquent : ce GeoJSON ne contient pas l'information de projection. Plutôt que de deviner, l'interface demande à l'utilisateur 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 propose les systèmes les plus courants pour 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.
Explorer les données importées
L'import terminé, les points apparaissent sur la carte. On peut dès maintenant la manipuler (zoom, déplacement), inspecter chaque entité dans le tableau d'éléments, vérifier que tout est cohérent.
Fig. 3 — Les PAVDA chargés, prêts à être inspectés. 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 points avec l'outil « Points → zones ». On choisit l'algorithme et on règle sa configuration : taille des hexagones, emprise, etc.
Définir les agrégations
C'est l'étape clé de cette transformation. Les agrégations indiquent quels attributs reporter sur la nouvelle couche à partir des points qu'elle absorbe. Ici, on demande le plus simple et le plus utile : le nombre de points par hexagone. Chaque hexagone saura ainsi combien de bornes il contient.
Fig. 4 — Les points sont comptés et agrégés par hexagone. Générer la couche d'hexagones
On lance le calcul. À l'issue, la couche générée s'affiche automatiquement en mode dégradé : les hexagones les plus chargés (le plus de bornes) ressortent en foncé, ceux qui en contiennent peu ou pas restent presque invisibles. D'un coup d'œil, on voit où se concentrent les PAVDA.
Fig. 5 — La densité de bornes lisible immédiatement. Choisir Sectora
La couche de zones est prête. On sélectionne maintenant Sectora dans la liste des algorithmes. La couche d'entrée est présélectionnée automatiquement : c'est la seule du projet compatible avec une sectorisation.
Configurer la charge
La charge est ce que Sectora cherche à équilibrer entre les secteurs. On l'édite via l'éditeur dédié. Ici, on prend le nombre de points par hexagone — la seule donnée exploitable du jeu initial.
Fig. 6 — Définition de la charge à équilibrer. Une charge plus fine est possible
Le nombre de bornes est un bon proxy, mais si le jeu de données fournissait un volume quotidien moyen estimé par point, on s'en servirait à la place : équilibrer le volume réellement collecté est un indicateur plus pertinent qu'un simple comptage de bornes.
Régler les contraintes du découpage
On paramètre ensuite la sectorisation : le nombre de secteurs à générer (8, une équipe chacun), la compacité visée, la tolérance d'écart de charge admise entre secteurs. On configure aussi les agrégations de la couche de sortie — il est pratique d'obtenir le nombre de PAVDA par secteur, on ajoute donc cette agrégation.
Fig. 7 — Les attributs que portera chaque secteur final. Lancer la première génération
On lance le calcul et on patiente quelques instants. Une fois terminé, on regarde le résultat sur la carte… et un défaut saute aux yeux : l'algorithme a produit une zone « spaghetti » qui s'étire très loin en travers de la ville.
Fig. 8 — Un découpage déséquilibré géométriquement. Ça arrive — et c'est normal
Un solveur cherche d'abord à équilibrer la charge ; il peut le faire au prix d'une forme étirée. La bonne réaction n'est pas de tout recommencer, mais de réajuster les contraintes et de relancer.
Réajuster et relancer
On repart de la génération précédente : ses paramètres sont pré-remplis automatiquement. On ajuste deux curseurs pour donner plus de poids à la forme tout en laissant à Sectora de quoi travailler :
- Compacité : 90 % → 100 % (on exige des secteurs plus ramassés)
- Tolérance d'écart de charge : 10 % → 15 % (on relâche un peu l'équilibre pour faciliter la tâche du solveur)
Puis on relance et on attend le résultat.
Lire le résultat de la seconde génération
Cette fois, les 8 secteurs sont nets et cohérents. On le voit sur la carte et dans le tableau d'éléments. On ouvre ensuite l'onglet Analyse pour entrer dans le détail.
Fig. 9 — Un découpage propre et lisible. Fig. 10 — Le tableau de bord d'analyse complet. L'onglet Analyse réunit tout ce qu'il faut pour juger la qualité du découpage :
- Statistiques globales — charge totale (nombre de PAVDA), écart-type, nombre de secteurs, min/max, charge moyenne par secteur, coefficient de variation.
- Charge par zone — la répartition visualisée sous forme de graphique.
- Compacité — le score de Polsby-Popper, secteur par secteur.
- Détail par zone — nombre d'hexagones, charge, part de la charge totale, écart à la cible d'équilibre parfait, et compacité de chaque secteur.
- Connectivité des hexagones — sans souci ici : le jeu est simple et a été produit par l'outil « Points → zones », donc parfaitement contigu.
- Performance d'exécution — le temps passé à chaque étape du solveur, en secondes (usage expert).
Télécharger le rapport PDF
Pour partager le travail — avec une collectivité, un client, un comité — on exporte un rapport d'analyse PDF mis en page, qui reprend l'essentiel de l'onglet Analyse dans un document présentable.
Fig. 11 — Le rapport exporté : synthèse et carte du découpage. Fig. 12 — Le rapport exporté : l'aperçu zone par zone. Fig. 13 — Le rapport exporté : qualité géométrique et annexe technique. Le rapport s'organise en sections :
- 1SynthèseLes chiffres-clés en un coup d'œil — charge totale, nombre de secteurs et de zones, verdict de qualité — accompagnés d'un résumé en une phrase.
- 2Carte du découpageLa vue d'ensemble : chaque secteur dans sa couleur, posé sur un fond de carte qui situe le territoire.
- 3Analyse de l'équilibrageLe graphique de charge par secteur, avec la moyenne en repère et l'écart maximal mis en évidence.
- 4Aperçu par zoneUne mini-carte par secteur, qui isole sa forme et rappelle sa charge.
- 5Qualité géométriqueL'évolution de la compacité et la confirmation de la contiguïté de tous les secteurs.
- 6Annexe techniqueLe détail chiffré par zone, les métriques de connectivité et le temps passé à chaque étape du solveur.
- 7Statistiques globalesLe récapitulatif final des indicateurs : charge totale, moyenne, écart-type, min/max et coefficient de variation.
03Le résultat
8 secteurs équilibrés, en quelques minutes
Le découpage final répartit les 430 points de collecte sur 8 secteurs. Voici ce que disent les chiffres du rapport :
Charge totale
430
points PAVDA
Secteurs générés
8
une équipe chacun
Charge moyenne / secteur
53,75
de 46 à 61 points
Coefficient de variation
12,7%
déséquilibre modéré
Concrètement : le secteur le plus chargé compte 61 bornes, le moins chargé 46, autour d'une moyenne de 53,75. Aucune équipe ne se retrouve avec le double de travail d'une autre. La compacité moyenne a progressé (de 0,4217 à 0,443) après réajustement, tous les secteurs sont connexes — pas une seule enclave isolée — et le calcul complet a tourné en environ 5 secondes.
| Secteur | Hexagones | Charge | Écart moy. | Compacité |
|---|---|---|---|---|
| Z0 | 53 | 61 | +7 | 0,4501 |
| Z1 | 74 | 60 | +6 | 0,4931 |
| Z2 | 79 | 46 | −8 | 0,4465 |
| Z3 | 66 | 46 | −8 | 0,3205 |
| Z4 | 49 | 61 | +7 | 0,5101 |
| Z5 | 61 | 47 | −7 | 0,3637 |
| Z6 | 44 | 60 | +6 | 0,3990 |
| Z7 | 66 | 49 | −5 | 0,5606 |
Ce qui prenait des heures de tâtonnement sur une carte papier se règle en deux générations et quelques curseurs — avec des chiffres pour le justifier.
Et c'est là tout l'intérêt pour un bureau d'études ou une collectivité : au-delà du découpage lui-même, Sectora produit les preuves chiffrées qui le défendent. Équilibre, compacité, continuité : chaque choix est documenté, exportable, et opposable. La première génération « spaghetti » fait d'ailleurs partie de la démonstration — la valeur n'est pas seulement de calculer vite, mais de pouvoir itérer en pleine connaissance de cause jusqu'au découpage qui tient la route.
Les PAVDA de Paris n'étaient qu'un prétexte. Tournées de collecte, sectorisation scolaire, zones commerciales, secteurs d'intervention : partout où il faut découper un territoire de façon équilibrée et défendable, la méthode est la même.
Vos données, votre découpage
Vous avez un fond de carte et une charge à répartir ? Importez votre fichier dans Tesselya et générez votre premier découpage Sectora.