問題タブ [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.

0 投票する
1 に答える
999 参照

python - ポイントを投影すると Geoviews + Datashader が遅くなる

を使用して 5 億 5000 万の緯度と経度をプロットしてdatashaderいます。しかし、これを有効にするには、 を使用してマップ タイルとポリゴンをオーバーレイする必要がありますgeoviews。問題はgeoviews.points()、関連するプロジェクションによって大幅な速度低下が発生し、holoview+bokehプロットのインタラクティブな性質が冗長になることです。

以下に再現可能な例を示しますが、要するに、対話的に動作するのに十分な速さで geoviews の実装 (3) を作成しようとしています。

最初にいくつかのデータをセットアップします

たとえば、データのサイズを 10 ずつ縮小します。

(1) データシェーダーのみ

ホロビューやジオを使用せずにデータシェーダーを使用するだけでも非常に高速です。出力は集計を含めて 4 秒でレンダリングされるため、インタラクティブな場合は再レンダリングがより高速になります。

純粋なデータシェーダー バージョンの時間:

CPU 時間: ユーザー 968 ミリ秒、システム: 29.9 ミリ秒、合計: 998 ミリ秒 壁時間: 506 ミリ秒

ただのデータシェーダー

(2) 突起なしdatashaderholoviewsgeoviews

投影がなければ、これは純粋な使用に匹敵しますdatashader

CPU 時間: ユーザー 3.32 ミリ秒、sys: 131 µs、合計: 3.45 ミリ秒 壁時間: 3.47 ミリ秒

ホロビューのレンダリング

(3)タイルdatashader、ポリゴン、プロジェクションholoviewsgeoviews

問題の要点は次のとおりです。データシェーダー レイヤーをいくつかのマップ タイルと地理空間ポリゴンに合わせたいと思います。これにより、私が扱っているデータのサイズが大きく遅くなり、インタラクティブな視覚化が冗長になります。(レンダリングの合計待機時間は 12 分です)。

これは、ポイントの投影に関連するオーバーヘッドに関係していると確信しています-これを回避する方法や、投影を事前計算するなどの他の回避策はありますか?

これは上記のようにgv.points()と 射影を加えたものです

CPU 時間: ユーザー 11.8 秒、システム: 3.16 秒、合計: 15 秒 壁時間: 12.5 秒

geoviews レンダー