3000以上のポリゴンを処理するための最良のオープンソースWebマッピングソリューションは何ですか[非公開]


12

流域(18の主要な流域)を表す3000以上のポリゴンがあります。最初の段階では、18の分水界すべてが表示され、そのリストが左側のサイドバーに配置されます。ユーザーがマップ上にマウスを移動すると、ポップアップのみに流域名が表示されます。ユーザーがマップ上の主要な分水界をクリックすると、詳細が表示されたポップアップウィンドウが開きます。より大きなズームでは、すべての流域が表示されます。

大量のポリゴンを処理するのに最適なオープンソースソリューションはどれですか。

LeafletまたはOpenLayersについて考えていましたが、大量のポリゴンを処理できるかどうかわかりません。

また、それらをmysqlに保存することをお勧めしますか?


3
これらのポリゴンをラスタライズできますか?または、ジオサーバーや機能サーバーなどの機能サーバーを使用していますか?
dassouki

回答:


12

イメージサービス(ラスターレイヤー)を作成し、Web Map Service(WMS)で提供します。このようにして、WMSをサポートしている限り(OpenLayersがサポートしている限り)使い慣れている任意のAPIフレームワークを使用できます。WMSを使用してすべてのポリゴンフィーチャのレイヤーを表示してから、WMSのGetFeatureInfo onclickを使用して、そのポリゴンの情報を取得できます。

何らかの理由でマップ上のベクターデータが必要な場合は、GetFeatureInfo応答データを使用して動的にonclickを作成できます。


5

参照TileMillラスタライズすることができ、UTFGridのに対話をMBTilesのファイルとホストそれをMapBoxまたはオープンソースMBTilesサーバの実装などのTileStache

たくさんのポリゴンがあります。このアプローチでは、タイルをラスタライズ(別名:ベイク)する必要がありますが、基本的には、大量のサーバーリソース、カスタムアプリ、または非常に制限されたブラウザセットなしで、必要なことを行う唯一の方法です。


この例が好きです。シェープファイルをラスタライズする方法を教えてください。TileMillで?ありがとう。
フローに対して

うん、それは最も一般的な方法です。ツールチップをそのように追加するためのドキュメントを次に示します。GUIツールとPython / Mapnikプロに非常にアレルギーがある場合は、それらをすべて回避するcliルートもありますが、少し不可解です。
tmcw

2

スケール依存性と空間的にインデックス付けされたデータベースがこの問題の鍵となります。少なくとも2つ、場合によっては3つまたは4つのレベルを使用して流域を表すことができるはずです。たとえば、データをMajor(18)、Minor(すべてが同じMajor内にあるすべての中規模流域の組み合わせ)、およびTertiary(3000ポリゴン)に分割できます。これにより、3つの異なるベクターレイヤー/サービスが提供されます。

ユーザーのズームレベルに応じて適切なサービスのみを描画するには、スケール依存関係を使用します。

空間インデックス付きのデータベースを使用して、サービスが迅速に描画されるようにし、現在のビューウィンドウを塗りつぶすために必要な部分のみを描画します。

または、分水界マップのタイルを作成することを検討し(再度、各レイヤーの適切な縮尺に基づいて作成)、それらを提供します。

これらの戦略を採用するための適切なオープンソースソリューションを推奨する多くの質問がこのサイトに既に存在します。


0

あなたがチェックアウトすることができTileMillに加えてMangoMapを、それがオープンソースではないのですが、それは現在無料で、このタイプのデータを処理することが可能です。

[免責事項:私はMangoMapを使用していますが、この場合は適切であるため回答しています]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.