問題タブ [getfeatureinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mapserver - Mapserver が GetFeatureInfo リクエストのテンプレート ファイルを無視する
一部のレイヤーの GetFeatureInfo 要求をマップファイルでサポートしたいと考えています。
次の行をレイヤーに追加しました。
ファイル自体は次のようになります (これまではテスト目的のみ)。
GetFeatureInfo リクエストを作成すると、次の出力が得られます。
したがって、機能にヒットします(座標を変更すると、異なる機能番号が取得されます)が、テンプレートから何も取得できません。マップサーバーは TEMPLATE 行を尊重します。これをコメント アウトすると、GetFeatureInfo 要求が機能しなくなるためです。「要求されたレイヤーはクエリできません。」
ここで何が問題なのですか?
openlayers - GeoWebCache レイヤーを使用している場合、Geoserver GetFeatureInfo WMS リクエストが機能しない
ここ数日間、マップの GeoWebCache レイヤーを Geoserver から取得して、ポップアップ イベントで GetFeatureInfo を表示しようとしました。WMS レイヤーを使用していたとき、GetFeatureInfo は要求どおりに機能していました。GeoWebCache を使用してレイヤーのキャッシュを開始して以来、GetFeatureInfo を実行できません。これまでのところ、WMS サーバーをプロキシすることになっていると思いますが、正直なところ、何をすべきかわかりません。誰かが何かを知っているか、提案があれば、本当に感謝しています。時間を割いて助けてくれてありがとう。
エルシェ
openlayers - openlayers GetFeatureInfo リクエストの例 + virtual earth/google
サンプル コードをhttp://openlayers.org/dev/examples/getfeatureinfo-control.htmlからコピーしただけです。
geoserver を使用して実行し、すべてがインターネット バージョンのように適切に機能しています。今度は、仮想地球地図を使用して政治ベースレイヤーを変更しようとしました。
仮想地球と Google マップの性質上、球メルカトル図法を true に設定しましたが、その後、ハイライト機能が機能しなくなりました。
どこに問題があるのか を見つけたと思います.作成しているベクトルと残りのレイヤーの間に異なる投影があり、openlayersはそれらをマージする方法を知りません. 私のベクターレイヤーを(私が思うに)epsg:4326からepsg:900913(シェリカルメルカトル)に変換する方法はありますか?
私のコードの下:
extjs - WMS GetFeatureInfo; 複数のレイヤー、異なるソース
GeoExt、OpenLayers を使用して Web アプリケーションを開発しており、独自の GeoServer を使用してさまざまなマップを提供しています。それでも、必要に応じてユーザーが他の WMS を追加できるようにして、必要なすべてのレイヤーを操作できるようにしたいと考えています。
したがって、GetFeatureInfo リクエストに関する私の問題。現在、geoext のマップ パネルにツールバー ボタンが追加されています。
その制御属性は
また、応答を受け取ったら本当にやりたいことを実行するイベント リスナーも定義しましたが、ここでは関係ありません。私の問題は次のとおりです。
2 つ以上の可視レイヤーがあり、そのうちの少なくとも 1 つが異なるソースからのものであるポイントをユーザーがクリックすることを考慮すると、OpenLayers は異なるソースごとに 1 つの AJAX 要求を実行する必要があり、OpenLayers 自身のドキュメントから、
GetFeatureInfo 応答を受信したときにトリガーされます。イベント オブジェクトには、応答の本文 (文字列) を持つ text プロパティ、解析された機能の配列を持つ features プロパティ、要求をトリガーしたマウス クリックまたはホバー イベントの位置を持つ xy プロパティ、および request プロパティがあります。リクエスト自体で。drillDown が true に設定され、すべてのレイヤーからフィーチャ情報を収集するために複数のリクエストが発行された場合、テキストとリクエストには、最後のリクエストのレスポンス ボディとリクエスト オブジェクトのみが含まれます。
だから、ええ、明らかにすぐにはうまくいきません。デバッガーを見ると、異なるソースから 2 つのレイヤーを指定すると、実際にはリクエストを処理します。最初の応答を待たずに次の応答にジャンプするだけです (明らかに非同期です)。つまり、上記のように最初のリクエストを実行し、それが完了して応答が保存されたら、次のリクエストに進みます。しかし、GeoExt が使用するデータ構造にはまだ慣れていません。
不足している API (GeoExt または OpenLayers) オプション/メソッドはありますか? 良い回避策はありますか?
読んでくれてありがとう :-)
PS: 説明不足で申し訳ありません。英語は私の母国語ではありません。上記の何かが十分に明確でない場合はお知らせください:)
attributes - geoServer getfeatureinfo から単一の値を抽出する
getfeatureinfo を使用して単一の値を抽出しようとしています。GeoServer から提供された正確なコードを使用しました。
ここで、応答から単一の値を取得したいと考えています。分解してみました。CONtent.ftl を変更します。それでも、返されるコードは HTML 形式です。response.responseXML を使用しようとすると、Null が返されます。誰かが入力を提供できると助かります。それは簡単だと感じさせるのでイライラしますが、それでも私は過去3日間からそれを続けています.
ありがとう、アスタ
openlayers - 複数のフィルタリングされたレイヤーの WMSGetFeatureInfo
OpenLayers を使用してテーマ マップを作成していますが、(cql_filter によって) フィルター処理された複数の WMS レイヤーに関する情報を取得できないという問題があります。
代わりに、「レイヤーとフィルターが一致していません。レイヤーごとに 1 つのフィルターを提供する必要があります」というメッセージが表示されます。
各レイヤーに 1 つのフィルターを提供する正しい方法はどれですか?
openlayers - WFS GetFeature を使用して wmsgetfeatureinfo のようなデータを返す方法は?
こんにちは、現在、マップ内のフィーチャの 1 つをクリックすると、プロトコルをOpenlayers.Control.getfeature
使用して属性を返す作業を行っています。wfs
を使用して属性を返すことができることはわかってwmsgetfeatureinfo
いますが、サーバー管理者が自分のマシンへのアクセスを無効にしたため、geoserver
プロキシを使用してアクセスできません。
wfs
getfeature
のような属性を返すために使用できる方法はありますwmsgetfeatureinfo
か?
からの回答の 1 つを次に示します。wfs
getfeature
json - JSONP 応答を解析し、OpenLayers を使用して値を返す方法は?
OpenLayers と geoserver を使用してアプリを構築しています。すべてに非常に新しく、これが私の最初のアプリです。現在、WMS getFeatureInfo を使用して機能情報を取得し、ユーザーが機能をクリックしたときにポップアップで表示しようとしています。クロスドメインの問題を回避するために、JSONP 応答を取得しようとしています。私が得た応答は次のとおりです。
ただし、JSONP 応答を解析してプロパティ値を取得する方法がわかりません。OpenLayers.Format.JSON.read メソッドを使用しようとしています (これが正しい方法かどうかはわかりません) が、未定義のコンストラクターであるというエラーが返されます。これが私のコードです:
google-maps - ズームイン時に Point Layer WMS GetFeatureInfo が失敗する
これを GisStackExchange に投稿しましたが、うまくいきませんでした。
OpenLayers と Google マップの Base Layer との相互作用に関連していると思われる問題があります (座標系との不一致など)。これは、WMS を介して GeoServer に送信するリクエストに関連している可能性もあります。しかし、私は混乱しています。
私のセットアップ:私が言ったように、私はグーグルから来たベースレイヤーを持つolMapを持っています。マップの初期化は次のとおりです。
ズームが小さい場合、サーバーは機能情報を含む応答を送信しますが、ズームインするとサーバーは応答しなくなります。
サーバー側で交差点を作るために、その通過するバッファパラメータ領域を修正しようとしました。しかし、その値が大きすぎてもズームすると良い結果が得られません:
また、ズームすると異なるevent.xyを出力していますが、それは理にかなっていますね。
Alert は、WMSGetFeatureInfo コントロール リスナーの beforegetfeatureinfo メソッドで起動されます。
ズームなしでは、ほぼ同じマップ位置で (1136, 273) の値と (600, 304) の大きなズームを取得します。私が言ったように、私はこの問題について混乱しています。私はそれをグーグルで検索するのに多くの時間を費やしていますが、ガイドラインは見つかりませんでした。
何かご意見は?