python-visualization / python-visualization/folium

Heatmap scalability

Aperta
#1,430 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
Python
Stelle
7.4k
Fork
2.3k
Merge medio
17h 22m
PR unite (30g)
11

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando il JavaScript minificato del plugin heatmap e il relativo percorso _redraw, quindi esamina la proof of concept rbush segnalata e le problematiche di manutenzione relative a Leaflet.heat. Il lavoro sarà considerato completato quando sarà stato concordato l'ambito di manutenzione del plugin e sarà dimostrato che la heatmap offre prestazioni migliori nel rendering di milioni di punti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
data-visualization
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.