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

Add sample showing heatmap #2264

Open
JimSEOW opened this issue May 3, 2017 · 3 comments
Open

Add sample showing heatmap #2264

JimSEOW opened this issue May 3, 2017 · 3 comments

Comments

@JimSEOW
Copy link

JimSEOW commented May 3, 2017

Sharp Map comes with heat map layer, perhaps we eventually port that to Mapsui

heatmap or healthmap layer from SharpMap

Discussion of use case

@pauldendulk
Copy link
Member

pauldendulk commented May 7, 2017

Thanks for the suggestion. I have not created software for heatmaps before. I can imagine there are various ways to draw heatmaps:

  • Draw points with some halo around it
  • Draw polygons on top of each other with some halo effect on edges
  • Use rasters/images to indicate 'heat' per pixel.

In general I try to avoid layer specific rendering in Mapsui. The renderer should not know about a heatmap type. Using images would allow this for the current implementation. It is also an option to add some halo/blurry style. This could be used in the points and polygon cases.

This is the very first time I started thinking about heatmaps. My ideas may change.

@JimSEOW
Copy link
Author

JimSEOW commented May 7, 2017

My concern is the performance in the case of Xamarin.Forms. This is just my opinion, depending on how the heat map implementation is designed, the UI (e.g. zooming, panning) may be slowed down. Perhaps the calculation of the heatmap can be delegated to a background processing native in each phone platform. When the task is done, the overlay image is pushed back. During the background processing, the user may swipe to other app and come back later to see the heatmap. During the heat map calculation, zooming is frozen => I will be curious to see how these challenges will be addressed.

@pauldendulk
Copy link
Member

The features have to be generated in a (to be created) provider. The provider itself is called on a background thread. This is how the Layer works. Take a look at the Rastering Layer in the WPF sample. It uses a similar background thread to generate the raster, never blocking the UI.

@pauldendulk pauldendulk transferred this issue from Mapsui/Mapsui Feb 15, 2020
@pauldendulk pauldendulk transferred this issue from another repository Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants