python-visualization / python-visualization/folium
Heatmap scalability
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 7.4k
- フォーク
- 2.3k
- 平均マージ
- 17時間 22分
- マージ済み PR(30日)
- 11
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、heatmap plugin の minified JavaScript とその _redraw パスを特定し、報告されている rbush の proof of concept と、Leaflet.heat のメンテナンスに関する懸念を確認します。plugin のメンテナンス範囲について合意され、数百万件のポイントをレンダリングする際に heatmap のパフォーマンスが向上することを示す証拠が得られれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- data-visualization
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100