OpenLayers 3にWPSクライアントを実装しますか?


8

OpenLayers 3を使用しての作業を行うことは可能ですか(推奨される方法は何OpenLayers.WPSClientですか)?

以前のWPSクライアントの例で示したように、OpenLayers 2を使用してWPSを操作できます。

WFSやWMSなどの他のWebサービスを使用するためのOpenLayers 3のがありますが、WPSはありません(3.2.1以降)。

これは一時的なものですか、それとも設計によるものですか。

回答:


7

私が行ったWPS-GUIプロジェクトの一部として、OpenLayers 2インターフェースを忠実にモデル化したWPSクライアント「ライブラリ」を作成しました。すべてのOGC XMLマーシャリングおよびアンマーシャリングにJSONIX(http://confluence.highsource.org/display/JSNX/Jsonix)を使用します。

あなたはそれをここでチェックすることができます:

https://github.com/boundlessgeo/wps-gui/blob/master/src/wpsclient.js


回答ありがとうございます!このjsファイルはスタンドアロンですか?これは私のjsスキルに少し圧倒されます。要素や変数wpsclient.jsへの参照があるようです。GeoServer / OpenGeoでの呼び出しや別のwpsなど、最小限の使用例を教えていただけませんか?HTML"global"gs:AddCoverages
tinlyx 2015

OpenLayers 2 WPSの例を見ましたか?ここで使用されるインターフェースは非常に似ています。
bartvde 2015

よろしくお願いします。OpenLayers 3から始めて、OpenLayers 2をテストする必要があります
tinlyx

@bartvde openlayer 3.でwpsサービスを使用したバッファの例を教えてください。
Priyanka

3

また、openlayers 2クライアントをwps ビルダーで再利用しました。とオブジェクトを実装する必要がDefaultValueありましたExecuteResponse

ows.js(@bartvdeの実装のようなjsonixに基づく)に向けた作業に関するこの説明で見られるように、マッピングクライアントに依存しないwpsクライアントの必要性がさらに広がっています。それ以来、議論の仕事が始まりました。WPSの実装はまだ始まっていません。javascript ows.jsのアイデアは、便利なowslibライブラリをモデルにしています。

WPSクライアントの実装における主な課題は次のとおりです。

  • オブジェクトマッピングへのxmlの定義。それがjsonixとOpenLayers(2)形式のリーダーの役割です。
  • リクエストを実行するための便利なAPIを定義します。あなたが見ればowslib WPSの例として、実装をあなたはWPSプロセスのための便利なAPIを実装することは簡単な作業ではありませんことがわかります。多種多様なオプション(ステータスあり/なし、生の応答/参照応答など)は、可能なすべての入力と出力をサポートすることを非常に困難にします。

2

1つの可能性は、openlayers 3プロジェクトでopenlayers 2のwpsクライアントを使用することです。wpsリクエストからの応答はWKTにあり、組み込みのフォーマッターを使用してこれをopenlayers 3機能に簡単にフォーマットできます。

http://openlayers.org/en/v3.9.0/apidoc/ol.format.WKT.html

(もちろん、使用しているwpsリクエストに応じた応答です。)

自分のwpsクライアントを実装する時間がなかったので、プロジェクトでこれを行いました。


2

このようなトリックを行うことができます。Geoserverには、入力と出力からXmlリクエストを生成できるWPSビルダーがあります。生成されたxmlを受け取り、それをJavaScriptの文字列変数に渡すことができます。xml入力値を変数に置き換えます。私の場合、必要なプロセスは1つだけですが、スイッチ機能を実行できます。単純なxmlPostリクエストを使用して、xml文字列をジオサーバーに渡すことができます。

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