多数のポイントを示すときのGeoserverとOpenLayersの制限は何ですか?
-
22-09-2019 - |
質問
OpenLayersとGeoserverを使用して、多数のポイント(ユーザーの基準に応じて1000から20000までの範囲)のマップを表示しようとしています。ポイントは、PostgreSQLデータベースに保存されます。
アプリケーションには低い範囲を表示する問題はほとんどないようですが、その実用的な制限は約5000ポイントのようです。私たちが適用しているSLDも巨大です(機能IDではない基準によってすべてのポイントを個別にリストします)。より高い数では、画像が返されることを保証されておらず、リクエストがGeoserverをクラッシュすることがあり、サービスをリセットする必要があります。
そのようなことが実行可能であるかどうか、そしてもしそうなら、構成のヒントを誰かが知っていますか?
フィルタリングに使用されるフィールドにBtreeインデックスを適用しました。
解決
OpenLayersにどのようなレイヤーを追加していますか?ベクトルの特徴としてポイントを持つのではなく、WMSレイヤーを使用できます。
http://dev.openlayers.org/docs/files/openlayers/layer/wms-js.html
その後、GeoServerはポイントの画像を生成し、ジオメトリやスタイリング情報ではなく、いくつかのKBSのJPEGのPNGをより大きくするだけで渡す必要があります。ただし、クライアント側の機能の一部を失うことになります(マウスオーバーイベントなど)
すでにこれを行っている場合は、別の問題がある可能性があります。 5000ポイントは、サーバーで処理するのに問題ありません。
または、ポイントをどのように外しているかを再考したい場合があります。 5000ポイントは、かつては非常に混乱しているかのように聞こえます。おそらく、10、100、500ポイントなどを表すために異なるサイズの円を使用することは、処理と視覚化の点で簡単です。