1

GeoDjango を使用して、Python の一連のポイントでクラスターを計算しようとしています。

問題: ポイントのセットが与えられた場合、それらのポイントのクラスターのセットを出力します。(単純化するために、事前にクラスター数/クラスターサイズ/距離を指定しても問題ありません)

クラスタリングを行うためのソリューションが Web 上にいくつかあるため、これはよく知られている問題です。GeoDjango はこの種の問題をすぐに処理できると思っていましたが、その方法は明確ではありません。GeoDjango のドキュメント、Google、および他のいくつかの場所を検索しましたが、何も見つかりませんでした。

独自のクラスタリング ソリューションを展開する前に、GEOS または GeoDjango 内の別のパッケージを使用してこれを行う簡単な方法があるかどうかを確認したいと思いました。

4

3 に答える 3

3

GeoDjango には組み込みのクラスタリング サポートがありません。この操作は通常、私が知っている GeoDjango で使用する既存のオープン ソース GIS アプリケーションでは提供されません。

Django/GeoDjango を実行しているいくつかのサイト (everyblock.com など) は、クラスタリングの方法を公開していますが、このサポートは GeoDjango には組み込まれていません。

一般に、これらのアプリケーションによって提供される機能は、基礎となるデータベース サポートに基づいています。GEOS、PostGIS の下にあるライブラリ、および一般的な「最先端」(少なくとも非 Java の世界では) には、クラスタリング API や動作は一切ありません。

于 2010-06-15T15:36:20.583 に答える
-1

Christopher Schmidt が述べたように、GeoDjango でのクラスタリングのすぐに使えるサポートはないようです。ただし、他の誰かがこの問題に遭遇した場合は、次のことを行いました。

  • mlpy と numpy をインストール
  • HCluster 階層的クラスタリング アルゴリズムを使用
  • GEOS Point オブジェクトを mlpy が理解できるマトリックスに変換するラッパー関数を作成しました。

ドキュメント: https://mlpy.fbk.eu/data/doc/clustering.html

于 2010-06-16T20:06:01.143 に答える
-1

誰かがこのスレッドに出くわした場合:

https://github.com/biodiv/anycluster

geodjango クラスタリング アプリをオープン ソース化しました。インストール後は、数行の JavaScript を実行するだけでクラスタ化されます。一部の設定を簡単に変更して、独自のグラフィックを使用できます。githubにもいくつかの使用例を追加しました...

于 2013-03-28T22:38:02.290 に答える