問題タブ [datashader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ポイントを投影すると Geoviews + Datashader が遅くなる
を使用して 5 億 5000 万の緯度と経度をプロットしてdatashader
います。しかし、これを有効にするには、 を使用してマップ タイルとポリゴンをオーバーレイする必要がありますgeoviews
。問題はgeoviews.points()
、関連するプロジェクションによって大幅な速度低下が発生し、holoview
+bokeh
プロットのインタラクティブな性質が冗長になることです。
以下に再現可能な例を示しますが、要するに、対話的に動作するのに十分な速さで geoviews の実装 (3) を作成しようとしています。
最初にいくつかのデータをセットアップします
たとえば、データのサイズを 10 ずつ縮小します。
(1) データシェーダーのみ
ホロビューやジオを使用せずにデータシェーダーを使用するだけでも非常に高速です。出力は集計を含めて 4 秒でレンダリングされるため、インタラクティブな場合は再レンダリングがより高速になります。
純粋なデータシェーダー バージョンの時間:
CPU 時間: ユーザー 968 ミリ秒、システム: 29.9 ミリ秒、合計: 998 ミリ秒 壁時間: 506 ミリ秒
(2) 突起なしdatashader
でholoviews
geoviews
投影がなければ、これは純粋な使用に匹敵しますdatashader
CPU 時間: ユーザー 3.32 ミリ秒、sys: 131 µs、合計: 3.45 ミリ秒 壁時間: 3.47 ミリ秒
(3)タイルdatashader
、ポリゴン、プロジェクションholoviews
でgeoviews
問題の要点は次のとおりです。データシェーダー レイヤーをいくつかのマップ タイルと地理空間ポリゴンに合わせたいと思います。これにより、私が扱っているデータのサイズが大きく遅くなり、インタラクティブな視覚化が冗長になります。(レンダリングの合計待機時間は 12 分です)。
これは、ポイントの投影に関連するオーバーヘッドに関係していると確信しています-これを回避する方法や、投影を事前計算するなどの他の回避策はありますか?
これは上記のようにgv.points()
と 射影を加えたものです
CPU 時間: ユーザー 11.8 秒、システム: 3.16 秒、合計: 15 秒 壁時間: 12.5 秒