7

SpatialKeyは、非常に見栄えの良いヒートマップを生成します。私たちは、大量のポイントを視覚化するための内部プロジェクトでこれを行うことに何が関係しているかを調べています。どこから始めればよいかについてのフィードバックを探しています(そしてそれは本当に興味深い問題です)。

SpatialKeyヒートマップhttp://img697.imageshack.us/img697/7964/resolutiondays508x17550.jpg

彼らがFlashを使用していることはわかっています。そして、ヒートマップはタイルサーバーからレンダリングされるのではなく、インタラクティブであることがわかります。これがどのように実装されているかについての最初の推測は、サーバーがFlashクライアントにグリッドを提供することです。各セルにはサーバーによって計算されたカウントがあります。次に、Flashクライアントは、グリッド内のセル値に基づいて補間を実行し、上記のようにきれいな出力を作成します。

この段階では、サーバー側でグリッドを効率的に生成する方法に関心があります(実装に関する仮定が正しい場合)。それには以下が含まれるようです:

  1. 現在マップ境界にあるもののクエリを実行する
  2. これらの範囲内の各セルに対して集計サブクエリを実行します(上記の例のように、カウント、合計、または平均を実行します)。

これを複数のズームレベルで適切なグリッド解像度で実行すると、これを効率的にするにはカスタムの空間インデックスが必要になるようです。

代替ルートを説明する人はいますか?重要な場合は、ここでは空間インデックス用のPostGISを使用してPostgreSQLにデータを保存することに慣れていますが、私は何でも試すことができます。

4

2 に答える 2

5

推測として、クライアント側のFlashにGISライブラリを実装し、これを使用して緯度と経度の座標をピクセル空間に投影していると思います。次に、ピクセルごとに集計して各ピクセルの「高さ」を決定し、円をレンダリングするのと同じようにレンダリングしますが、透明度のあるグラデーション塗りつぶしを使用し、グラデーション塗りつぶしの開始色と終了色を高さによって決定します。ピクセル。複数の円を重ねると、明るいピクセルが作成されます。

別の方法として、これをグレースケールで実行してから、明るさの値をカラースケールにマッピングすることもできます。それが最も効率的かもしれません。

ビジュアル分析アプリケーション(例:ヒートマップSDK)で統合して使用するための、より伝統的なツリーマップヒートマップを販売しており、現在、エリアを色付けする地理的ヒートマップがあります。標準のESRIシェープファイルマップを読み取り、クライアント側ですべての投影とレンダリングを実行します(Javaでは、Flashではなく、同じ概念です)。SpatialKeyは、領域が埋められたレンダリングをサポートしているため、同じことを行っていると思います。これは、Googleマップのようなタイルサーバーを使用している場合は実際には実行できません。

このような密度ヒートマップはまだ実行していませんが、静止画像を背景として使用していくつかのテストを実行しました。さらに詳しい情報が必要な場合は、お知らせください。開発者にどのように行ったかを尋ねることができます。密度ヒートマップがスケジュールのどこにあるかはまだわかりませんが、現在、より多くのポイントベースの機能を開発中であることは知っています。

SpatialKeyは、実際には、エリアで満たされたヒートマップ(つまり、主題図)と密度ヒートマップの違いについて良い投稿を書いています。http://blog.spatialkey.com/2010/02/comparing-thematic-maps-with-density-heatmaps/で確認できます。

密度ヒートマップを実行するための良い方法を理解した場合、それがビジュアル分析SDKへの貴重な追加となるため、どのように実行したかを学ぶことに興味があります。幸運を祈ります。

于 2010-02-06T02:34:54.943 に答える
0

MapReduceは、実際の集計マップの合計を表し、データベースの地理空間インデックスを使用して、これらのMapReduceジョブをフィードします。私はこれとまったく同じアプローチを実装することを検討していますが、マップの代わりにインターフェースを使用する場合:)現時点ではMongoDBが適しているようです。

于 2010-12-21T07:15:17.440 に答える