Skip to content

Comments

Ajout de la fonctionnalité de clustering des points sur la carte#445

Open
jules-jean-louis1 wants to merge 2 commits intoPnX-SI:developfrom
naturalsolutions:feat/cluster
Open

Ajout de la fonctionnalité de clustering des points sur la carte#445
jules-jean-louis1 wants to merge 2 commits intoPnX-SI:developfrom
naturalsolutions:feat/cluster

Conversation

@jules-jean-louis1
Copy link

@jules-jean-louis1 jules-jean-louis1 commented Jun 18, 2025

Cette PR améliore la lisibilité des points sur les cartes des protocoles de monitoring en ajoutant une fonctionnalité de clusterisation.

  • Ajout d’un paramètre global ENABLE_CLUSTERING permettant d’activer ou désactiver le clustering pour tous les protocoles via la configuration monitorings_config.toml.
  • Possibilité de surcharger ce comportement de manière individuelle dans chaque sous-module grâce à la clé clustering dans le fichier module.json (sites, groupes de sites, etc.).
  • Le clustering est activé ou non selon la configuration globale ou celle du protocole, sans option de rayon personnalisable.
  • Les polygones ne sont pas clusterisés, seuls les points le sont (comportement standard Leaflet).

La configuration globale :
ENABLE_CLUSTERING = true

Exemple de configuration d'un module
"clustering": { "site": true, "site_group": true }
sans

Close : #419

@camillemonchicourt
Copy link
Member

OK j'avais pas bien suivi le ticket et je pense qu'on aurait plutôt uniquement configurer ça globalement, pas module par module, car un peu plus complexe, et autant avoir un fonctionnement homogène dans tous les modules d'une instance, selon moi.
Mais ça vient après coup, et ce n'est que mon avis.

@codecov
Copy link

codecov bot commented Jun 19, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 76.06%. Comparing base (9f09da1) to head (f106cff).
Report is 3 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #445   +/-   ##
========================================
  Coverage    76.05%   76.06%           
========================================
  Files           30       30           
  Lines         2431     2432    +1     
========================================
+ Hits          1849     1850    +1     
  Misses         582      582           
Flag Coverage Δ
pytest 76.06% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@edelclaux
Copy link

Je reprend cette PR.
Ok pour uniciser la config. J'ai modifié le nom de l'option en ENABLE_LEAFLET_CLUSTER, par cohérence avec la synthèse.

je mets à jour la PR bientôt :)

@edelclaux edelclaux force-pushed the feat/cluster branch 2 times, most recently from cd83246 to f571e3f Compare January 7, 2026 11:28
@edelclaux
Copy link

edelclaux commented Jan 7, 2026

Elle est ready for review.

  • remplacement de sitesFeatureGroup par sitesLayerGroup (cluster ou feature)
  • setMapData intègre la gestion du clustering. il peut être peut être forcé à false, pour les sites groups.
  • selectSitesLayer: parcourt désormais sitesLayerGroup (cluster ou non), avec gestion des markers clusterisés.

this.geojsonService.removeFeatureGroup(this.geojsonService.sitesFeatureGroup);

  • Ajout de clusterCountOverrideFn + helpers pour créer le cluster group

  • bonus 1: Ajout de removeSiteLayerGroup() et removeSitesGroupLayerGroup() pour encapsuler les appels type

  • bonus 2: suppression de l'outline au click sur la carte, avec firefox.

Comme c'est Jules qui est l'auteur de cette PR, je ne peux pas changer le statut de cette PR.
Est-ce que c'est possible de m'assigner la PR ? et la passer en ready for review ?

Only those with write access to this repository can mark a draft pull request as ready for review.

@edelclaux
Copy link

re. Elle est toujours ready for review, mais je n'ai pas les droits pour faire le changement.

@camillemonchicourt camillemonchicourt marked this pull request as ready for review January 27, 2026 15:18
@edelclaux
Copy link

Merci !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants