タグ付けされた質問 「openlayers-2」

OpenLayers JavaScriptクライアントツールキットのバージョン2.xを使用している場合は、このタグを使用します。

2
OpenLayers:解像度の代わりにスケールを使用する
OpenLayersソースコードをあちこちと見てみると、ズームレベルに関連するすべてが解像度を使用して行われているようです。これは画面スペースに直接関係しているので、十分に公平です。 ただし、代わりにスケールを使用し、さらに許可されたスケールをさらに明示的に定義したいと思います。 -これは可能ですか? これまでのところ、解像度に変換する一連のスケールを作成しました。 var scales = [500, 1000, 2000, 4000, 10000, 25000, 50000]; var resolutions = []; for(var i = 0; i < scales.length; i++) { resolutions.push(OpenLayers.Util.getResolutionFromScale(scales[i], units)); } map = new OpenLayers.Map('', { ... minScale: scales[scales.length - 1], maxScale: scales[0], resolution: resolutions, numZoomLevels: scales.length, ... }); 私の問題は、最初と最後のスケールが尊重されることですが、スケールに変換された現在の解像度の間に、指定した解像度の中にありません。 -私は何を逃したのですか?

9
さまざまなユーザーのアクセス制御(ACL)を備えたWMS?またはWebマップ上の何千ものポイントの解決策?
私は何千ものサイトのセットを持っています。すべてのユーザーがマップ上で同じサイトを見るとは限りません-したがってACL。データは非GISデータベース(mssql、oraなど)に格納され、現在標準のSQLクエリで取得され、JSPを使用してクライアント(OpenLayers)に返されます。 現在のコードはすでにクライアント側のクラスタリング(クライアントの混乱は少ないですが、すべてのデータはそこにあります)、境界ボックスの取得(データのサブセットですが、すべてのサーバーにアクセスする必要がある)を実行するようにすでに最適化されています新しいデータのパン/ズーム)およびサーバー側のクラスタリング(クライアントに送信されるデータを減らすため)。 代わりに、すべてのデータに対して画像/タイルを生成します。これは、Googleマップがすべての結果に対して大量の小さな赤い点を表示する方法と似ています-http://bit.ly/d73qrw [google maps search for "coffee"]クライアントに表示します。クリックすると、情報を取得するためにWMSサービスをすばやくajaxで呼び出します。それは少なくともアイデアです。 しかし、ここに問題があります。すべてのユーザーが同じデータを表示するわけではないため、データの前に標準のWMSサービスをセットアップすることはできません。これらのタイルをオンザフライで生成したり、WMSをACL対応にする方法はありますか? 編集-2010年9月22日-Googleがタイルを生成する方法、またはその背後にあるテクノロジーを見つけました。彼らはGoogle Fusion Tablesを使用しています。テーブルにN行を格納し、データが緯度/経度を認識している場合、Fusion Table製品はその場でタイルを生成できます(!)。これは私が探している種類のものです-大量のデータを含む高性能のマップ。しかしもちろん、ACLで制御する必要があります。WMS仕様のカスタムの軽量実装を記述したり、既存の製品を変更したりすることには意味がありますか?geoserverは、ACLをサポートするために「ただ」変更するだけのように思えます。 編集-2010年9月27日-バウンティを追加してからの詳細情報。私のデータはOracleにあります。Ora空間が有効になっていません。現在、データはビジネスレベルで抽出されてデータに変換され、クライアントに送信されます。クライアントは「ドット」をマップに配置します。ACLは、DBやActivDirなどではなく、ビジネスロジックレベルで実行されます。認証は単純ですが、承認は単純ではないため、コードに取り込む必要がありました。各ユーザーに異なるドットのサブセットが表示されるマップ上で最大数千の「ドット」を提供するWMSサービスを最適に作成する方法を知りたい。答えはCQL_FILTERですか?しかし、パラメーターはどのように設定されますか?私が今持っている考えの1つは、2ステップのプロセスを実行することです。最初に社内クエリを実行して、ユーザーが表示を許可されているIDのリストを取得し、次に、CQL_FILTERパラメーターでそれらのIDを使用してWMSリクエスト文字列を作成します。このプロセスを簡略化するものはありますか?そして、これを使用する場合、エンドポイントをOLにするには、GeoServer上の実際のWMSサービスではなくDBからIDを取得するためのコードなので、このレイヤーを「WMS」レイヤーとしてOpen Layersクライアントに追加するにはどうすればよいですか?

2
OpenLayers(OpenStreetMaps付き)とPostGisを使用して、GPSトラッキングデバイスから取得したデータをレンダリングしますか?
私はGPSデバイスからデータを取得してpostGISデータベースに保存し、geodjangoを使用してそれらを処理/処理し、最終的にOpenLayersで地図上にグラフ化することを調査して計画しています。 私のマップは必要ないので、OpenStreetMapを使用してOpenLayersのベクターレイヤーにポイントをプロットしたいので、これらのテクノロジーで十分です。 また、地図上にリアルタイム追跡を実装したいのですが、AJAXを使用してリアルタイムでPostGISデータベースにクエリを実行し、地図上にオブジェクトを再作成します。OpenLayersでこれを行うための良い例を見つけることができません。JqueryのAJAXメソッドの使用が得意なので、これにJqueryを使用してOpenLayersと組み合わせることができますか? PS私はまだこれらのテクノロジーを研究していますが、OpenLayers / geodjango / postGISは私のニーズに最適なコンボのように思えます。これら3つに関心があるほとんどすべての文献を見つけましたが、OpenLayersのベクターレイヤーでオブジェクトをリアルタイムでグラフ化して更新する例がありません。 TIA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.