2

Google Maps Static APIを使用して、小さなGoogleマップをWebページに表示しています。

15個の座標のセットがあり、マップ上でポイントとして表現したいと思います。

地図がかなり小さく(184 x 90ピクセル)、GoogleマップのURLの上限が2000文字であるため、地図上のすべてのポイントを表すことはできません。

代わりに、大きなリストの平均を表す座標の小さなリストを生成したいと思います。

したがって、15セットではなく、5セットになります。この位置は、15の位置に近似しています。たとえば、マップ上の他のポイント以外に、これらのポイントが互いに近接している3つのポイントがあるとします。 1点に折りたたまれます。

だから私はこれを行うことができるアルゴリズムを探していると思います。

誰かにすべてのステップを説明するように頼むのではなく、おそらくこの種のことのための数学の原理または汎用関数の方向に私を向けますか?

画像をピクセル化するとき、たとえばグラフィックソフトウェアでも同様の機能が使用されると確信しています。

(これを解決した場合は、必ず結果を投稿します。)

4

3 に答える 3

3

N 個のオブジェクトを既知の数 K < N のクラスターにクラスター化する必要がある場合は、K-means クラスタリングをお勧めします。1 つのクラスターが 1 つの外れ値ポイントで終わる可能性があり、別のクラスターが互いに非常に近い 5 つのポイントで終わる可能性があることに注意してください: それは問題ありません。すべてのクラスターに正確に 3 つのポイントを強制した場合よりも、元のセットにより近く見えます!-)

于 2009-08-31T03:04:03.210 に答える
1

そのような関数/クラスを探している場合は、 MarkerClustererおよびMarkerManagerユーティリティ クラスを参照してください。MarkerClusterer は、このデモで見られるように、説明されている機能とほぼ一致します。

于 2009-08-31T08:21:01.480 に答える
0

一般的に、検索する必要がある領域は「ベクトル量子化」だと思います。私は Allen Gersho と Robert M. Gray による Vector Quantization and Signal Compression という古い本のタイトルを持っており、多くの例を提供しています。

記憶によると、Lloyd Iteration はこの種のアルゴリズムに適していました。入力セットを取得して、固定サイズのポイント セットに減らすことができます。基本的に、ポイントをスペース全体に均一またはランダムに配布します。各入力を最も近い量子化点にマップします。次に、誤差を計算します (距離の合計または二乗平均平方根など)。次に、出力ポイントごとに、それにマップされるセットの中心に設定します。これにより、ポイントが移動し、マップされるセットが変更される可能性さえあります。ある反復から次の反復まで変更が検出されなくなるまで、これを繰り返し実行します。

お役に立てれば。

于 2009-08-31T03:11:04.087 に答える