地図にレーダーデータを表示するOpenLayersを使用するプロジェクトがあります。レーダーデータ自体は、それぞれが6つの可能な色の1つで塗りつぶされたポリゴンの集まりです。目標は、地図上でレーダーをアニメーション化することです。各ファイルには一定時間のレーダーデータが含まれており、ファイルは約5分間隔で区切られているため、現在のアプローチではすべてのファイルをループして1つずつ新しい個別のレイヤーに読み込みます。各レイヤーが作成されると、その可視性はfalseに設定され、マップに追加されます。次に、1つのレイヤーの表示をオンにし、前のレイヤーの表示をオフにするタイマーを使用して、レイヤーをアニメーション化します。現在、レイヤーはすべてベクターレイヤーであり、データはKMLファイルから読み込まれますが、データファイルは、このプロジェクトに最適なほとんどすべての形式にすることができます。
このアプローチの問題は、かなり長い時間(約3時間程度)のデータ(約36レイヤーに相当)に達すると、メモリー消費がかなり高くなる(約250MB)ことです。最終製品は、1つのループで最大18時間のデータを処理できると想定されています。上記の数値に基づくと、アニメーションのためだけに1 GB以上のメモリが必要であり、ブラウザをクラッシュさせるか、少なくとも非常に遅くなります。
レイヤーごとにWMSレイヤーを使用して同じことを試みましたが、再描画が遅すぎ(アニメーションは100ミリ秒ごとにレイヤーを変更しました)、メモリの消費量はベクターバージョンよりも優れていませんでした。
私はこれを行う方法のいくつかの例を見つけるためにネットを精査しましたが、これまでのところ手ぶらで手にしています。これを行う方法について何か提案はありますか?私は何週間もこれに立ち往生していて、答えが見えないので、この時点であなたが持っているアイデアを取り上げます。