オープンソースのGISツールを使用したサーバーサイドクラスタリングのオプションは何ですか?


8

地図上に40Kポイント以上を表示するWebアプリケーションを作成する必要があります。これらのポイントはすべて世界中です。WFSサービスとOpenLayersを使用すると、小さなポイントセットでクラスタリングを実行できますが、私の場合、クライアント側でこのクラスタリングを実行することはあまり役に立ちません。

WMSまたはタイルWMSサービスでサーバー側のクラスタリングを行うにはどうすればよいですか?Googleマップにはそのようなオプションがいくつかあります。OSGeoフィールドの対応するツールは何ですか?

回答:


3

MapServerの最新バージョン(6.0以降)のサポート、サーバー側のクラスタリング- http://mapserver.org/mapfile/cluster.html

バージョン6.0以降、MapServerは、ポイントレイヤーからの複数のフィーチャを、それらの相対位置に基づいて単一の(集約された)フィーチャに組み合わせる機能を備えています。POINTレイヤーのみがサポートされています。この機能は、MS RFC 69:ポイントレイヤーでの機能のクラスター化のサポートを通じて追加されました。

この機能の提案については、http//mapserver.org/development/rfc/ms-rfc-69.htmlで詳しく説明しています

以下の設定例:

LAYER
  NAME "my-cluster"
  TYPE POINT
  ...
  CLUSTER
     MAXDISTANCE 20  # in pixels
     REGION "ellipse"  # can be rectangle or ellipse
     GROUP (expression)  # an expression to create separate groups for each value
     FILTER (expression) # a logical expression to specify the grouping condition
  END

このレイヤーは、WMSとして他のように提供できます(MapServerもタイリングをサポートしています)。

私はこれを試したことがなく、ドキュメントは不明確ですが、クラスター化されたWFSサービスもサポートしている可能性があります。

別の方法は、Webサーバーレベルではなくデータベースレベルでクラスタリングを行うことです。その後、任意のWMSサーバーを自由に使用できます。PostGISによる空間クラスタリング


0

いくつかのオプションがあります。WMSレイヤーを実装することもできます。これにより、基本的に個々の機能が画像ファイルに変わります。これにより、大規模なデータセットのパフォーマンスが向上しますが、クライアント側の機能が犠牲になります(たとえば、マップ上の個々のフィーチャを選択できないなど)。

より良い代替案(パフォーマンスに依存)は、おそらくOpenLayersの WFSレイヤーのサーバー側にクラスタリングを実装することです。


WMSレイヤーを実装することによって、あなたが何を意味するかを明確にしていただけませんか WMSサービスの使用について話していますか?
Devdatta Tengshe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.