Skip to content

mockup: DBSCAN density clustering for event layers [DHIS2-21461] - #3767

Draft
BRaimbault wants to merge 1 commit into
masterfrom
mockup/dbscan-clustering-events
Draft

BRaimbault wants to merge 1 commit into
masterfrom
mockup/dbscan-clustering-events

Conversation

@BRaimbault

@BRaimbault BRaimbault commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Test map:
https://pr-3767.maps.netlify.dhis2.org/#/K4TwN698Hwi
https://dev.im.dhis2.org/maps-app-42-3

Mockup for DHIS2-21461

DO NOT MERGE

Description

Adds a third event-clustering mode alongside the existing grid and donut clustering: density-based clustering via @turf/clusters-dbscan, which groups nearby events by density rather than by map grid cell and explicitly separates dense clusters from noise (sporadic events that join no cluster).

Entirely client-side, built on the existing "events" layer type in maps-gl — no maps-gl changes needed, since its point/label rendering already supports per-feature radius/color/name overrides. Settings (enabled, neighborhood radius, minimum cluster size) are gated behind and persisted in the layer's config JSON blob, so a saved map round-trips the DBSCAN settings for sharing.


Quality checklist

Add N/A to items that are not applicable.


ToDos

  • todo

Known issues

  • issue

Screenshots

image image

Mockup for DHIS2-21461. Adds a third event-clustering mode alongside the
existing grid and donut clustering: density-based clustering via
@turf/clusters-dbscan, which groups nearby events by density rather than
by map grid cell and explicitly separates dense clusters from noise
(sporadic events that join no cluster).

Entirely client-side, built on the existing "events" layer type in
maps-gl — no maps-gl changes needed, since its point/label rendering
already supports per-feature radius/color/name overrides. Settings
(enabled, neighborhood radius, minimum cluster size) are gated behind
and persisted in the layer's config JSON blob, so a saved map round-trips
the DBSCAN settings for sharing.

DO NOT MERGE

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@dhis2-bot

Copy link
Copy Markdown
Contributor

🚀 Deployed on https://pr-3767.maps.netlify.dhis2.org

@dhis2-bot
dhis2-bot temporarily deployed to netlify September 10, 2026 12:09 Inactive
@BRaimbault BRaimbault changed the title mockup: DBSCAN density clustering for event layers mockup: DBSCAN density clustering for event layers [DHIS2-21461] Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants