1

私はこの問題に直面しています:データベースに、多くの世界/国/地域/都市の境界を表すベクトルデータ(ポリライン...)があります。

それらの地域のインタラクティブな地図が欲しいです。

これらのデータをブラウザーでレンダリングすると (データは geojson で送信されます)、これは遅くなります (驚かないでください)。

次の理由は、いくつかのラスタ タイルを生成して、さまざまなズーム レベルで領域を表し、領域をクリックして選択した領域との関係を作成する方法を用意することです (詳細情報を表示するため)。

私はジオタイルの初心者です:

  • ベクター データから png/jpg タイルを生成するのに最適なツールは何ですか?
  • クリックされた領域とデータベースの「ID」を関連付けるには?

質問が非常に多いことは承知していますが、何かアドバイスがあれば...

ありがとう!

4

2 に答える 2

2

私は最近、ラスター タイルのレンダリング速度を改善する方法に関するブログ投稿を書きました: http://blog.webfoot.com/2013/03/12/optimizing-map-tile-generation/

クリックを法域 ID に関連付ける場合、近道はないと思います。クリックを緯度/経度 (または、ブログ投稿で説明しているように、Vast Coordinate System) に変換してから、ポイントを実行する必要があります。インポリゴンチェック。PostGIS を使用している場合は、ST_Intersects を実行できます。

注: MySQL を使用している場合、交差はポリゴンではなく境界ボックスで行われます。それはまだ可能です。バウンディング ボックス チェックで複数のポリゴンが取得された場合、どこかからポイント イン ポリゴン関数を取得して、どのポリゴンをチェックするかを確認するだけです。

クリックできるドットの例を次に示します: http://maps.webfoot.com/demos/CanadianStimulus/CanadianStimulus.html

人々はクリックを正確に行うことができないため (特に小さなドットの場合)、実際にはドットの周囲のいくつかのピクセルと単一ピクセルのドットを「ライブ」にしています。また、点から離れた場所をクリックすると、多角形が表示されます (この例の場合、連邦選挙区)。

于 2013-03-22T20:33:45.173 に答える
0

フル機能の WebGIS サーバーであるGeoserver用のMongoDB プラグイン データソースがあります。これを使用して、データのマップ レンダリング サービス (実際には WMS) を構築できます。次に、Geowebcacheを使用してマップのタイルを生成します。

このようにして、完全な機能を備えた WebGIS スタックを使用して、追加のデータソースを管理したり、データの一部が更新された場合にタイル サブセットを簡単に再作成したりできます。

また、マップ上のフィーチャのクエリ (データベース内の要素に対するマップ位置の関係) は、Geoservers WFS 実装によって提供されます。

于 2013-03-24T09:33:12.413 に答える