Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POI Clustering #8291

Open
Dinisvgc opened this issue May 25, 2024 Discussed in #7991 · 1 comment · May be fixed by #8372
Open

POI Clustering #8291

Dinisvgc opened this issue May 25, 2024 Discussed in #7991 · 1 comment · May be fixed by #8372
Labels
UI User interface issues UX User eXperience, an issue with usability

Comments

@Dinisvgc
Copy link

Discussed in https://github.com/orgs/organicmaps/discussions/7991

Originally posted by beasmm April 26, 2024
In Organic Maps, when zooming out, there is no clustering of POIs, which creates a lot of noise in the map's view and makes it hard to read. For example, in Apple Maps, the POIs are clustered into groups depending on the distance of these POIs to one another.

OM no clustering AM with clustering*

*don't take into consideration the lack of POIs when zooming out, only the grouping

What do you think? If you agree, I would like to implement this feature with a friend for an assignment for our university degree in Computer Science and Engineering.

@biodranik
Copy link
Member

Any help with implementing it is appreciated.

Did you already check the existing code to estimate the complexity for you?
Are you familiar with our rendering engine? It should work with Metal, OpenGL, and Vulkan.

A good knowledge of C++ is also needed.

@patepelo patepelo added UX User eXperience, an issue with usability UI User interface issues labels May 26, 2024
beasmm added a commit to beasmm/organicmaps that referenced this issue May 27, 2024
Implemented a recursive function based on Hierarchical Clustering, which clusters POIs together
if the distance between them is smaller than the 'threshold'. This threshold is calculated using
the Viewport's dimensions, changing everytime the users zooms in or out.

We also created the code to assign a mark symbols to these clusters. At the moment, we are using
symbols already present in the project - we are leaving the styling to the dev team.

Co-authored-by: Dinis Caroço <[email protected]>

Signed-off-by: Beatriz Mira Mendes <[email protected]>
beasmm added a commit to beasmm/organicmaps that referenced this issue May 27, 2024
Implemented a recursive function based on Hierarchical Clustering, which clusters POIs together
if the distance between them is smaller than the 'threshold'. This threshold is calculated using
the Viewport's dimensions, changing everytime the users zooms in or out.

We also created the code to assign a mark symbols to these clusters. At the moment, we are using
symbols already present in the project - we are leaving the styling to the dev team.

Co-authored-by: Dinis Caroço <[email protected]>

Signed-off-by: Beatriz Mira Mendes <[email protected]>
beasmm added a commit to beasmm/organicmaps that referenced this issue May 27, 2024
Implemented a recursive function based on Hierarchical
Clustering, which clusters POIs together if the distance
between them is smaller than the 'threshold'. This
threshold is calculated using the Viewport's dimensions,
 changing everytime the users zooms in or out.

We also created the code to assign a mark symbols to these
clusters.

Co-authored-by: Dinis Caroço <[email protected]>

Signed-off-by: Beatriz Mira Mendes <[email protected]>
beasmm added a commit to beasmm/organicmaps that referenced this issue May 27, 2024
Implemented a recursive function based on Hierarchical
Clustering, which clusters POIs together if the distance
between them is smaller than the 'threshold'. This
threshold is calculated using the Viewport's dimensions,
 changing everytime the users zooms in or out.

We also created the code to assign a mark symbols to these
clusters.

Co-authored-by: Dinis Caroço <[email protected]>

Signed-off-by: Beatriz Mendes <[email protected]>
beasmm added a commit to beasmm/organicmaps that referenced this issue May 27, 2024
Implemented a recursive function based on Hierarchical
Clustering, which clusters POIs together if the distance
between them is smaller than the 'threshold'. This
threshold is calculated using the Viewport's dimensions,
 changing everytime the users zooms in or out.

We also created the code to assign a mark symbols to these
clusters.

Co-authored-by: Dinis Caroço <[email protected]>

Signed-off-by: Beatriz Mendes <[email protected]>
@beasmm beasmm linked a pull request Jun 2, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI User interface issues UX User eXperience, an issue with usability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants