python-visualization / python-visualization/folium

Heatmap scalability

Abierto
#1,430 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement
Lenguaje dominante
Python
Estrellas
7.4k
Forks
2.3k
Merge medio
17 h 22 min
PR fusionados (30 d)
11

Descripción

The heatmap plugin is not very scalable at the moment. For millions few data points, the map is "laggy" when moving the maps around (at a reasonable zoom level, when most of the data points are hidden).

From what I've investigated, it comes from the fact the, when the _redraw function is called, the code iterates over all data points to check if it is or not in the bounds of the map being shown.
It seems very inefficient since there exists data structure such as R-Tree that can efficiently retrieve the data points inside a box.

Now it seems that the Leaftlet.heat plugin is not maintained anymore (as noted in #1282 ). As far as I can tell, there is only the .min.js file on this repository, what are the plans for this plugin?
Host it completely on this organization so it can be modified and maintained?

For the problem of the performances, I wrote a quick POC using rbush and it improves the performance when we zoom on a specific area (and fewer points are actually shown on the map). I can contribute to this issue if necessary.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza localizando el JavaScript minificado del plugin de heatmap y su ruta _redraw; después, revisa la prueba de concepto de rbush reportada y la preocupación por el mantenimiento de Leaflet.heat. Se considerará terminado cuando se haya acordado el alcance del mantenimiento del plugin y existan pruebas de que el heatmap tiene un mejor rendimiento al renderizar millones de puntos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript
Área
data-visualization
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.