Skip To Content

チュートリアル: WPS サービスの公開と利用

複雑度: 初心者データ要件: 独自データの使用 目的: WPS サービスを ArcGIS Server に公開して、Web ブラウザーで利用します。

OGC (Open Geospatial Consortium) の WPS (Web Processing Service) 仕様は、Web 上で地理空間処理を提供および実行するための国際仕様です。WPS ケーパビリティを有効にしてジオプロセシング サービスを公開すると、データは WPS をサポートする任意のクライアントからアクセスできるようになります。WPS を扱うのが初めてで、このチュートリアルに取り組む前に WPS について詳しく知りたい場合は、「WPS サービス」をご参照ください。

このチュートリアルでは、WPS クライアントからアクセス可能なジオプロセシング サービスを、ArcGIS Server に公開する手順について説明します。これを行うには、ArcGIS Desktop でツールを準備し、ツールを実行して正常な実行結果を取得した後、WPS ケーパビリティを有効にしてジオプロセシング結果を公開する必要があります。

チュートリアルを始める前に

ArcGIS Server 10.8.1 以降では、ArcGIS Pro または ArcGIS Desktop から Web ツールまたはジオプロセシング サービスを公開できます。ArcGIS Server 10.8 以前のバージョンでは、ArcGIS Desktop から WPS 対応のジオプロセシング サービスのみを公開できます。

ArcGIS Pro からの WPS サービスの公開

WPS サービスを構成する前に、解析を ArcGIS Server に公開する必要があります。サーバーがフェデレートされている場合は、解析を Web ツールとして公開します。サーバーが単一コンピューターによる配置の場合は、ジオプロセシング サービスとして公開します。Web ツールとして公開する場合は、「Web ツールの作成と共有のクイックツアー」をご参照ください。ジオプロセシング サービスとして公開する場合は、「ジオプロセシング サービスの作成と共有のクイックツアー」をご参照ください。Web ツールまたはジオプロセシング サービスを公開した後、次の手順に従って WPS サービスを構成します。

  1. ArcGIS Server Manager へのサイン イン
  2. デフォルトの [サービス] タブで、公開したサービスのリンクを見つけてクリックします。
  3. [ケーパビリティ] タブで [WPS] チェックボックスをオンにします。

    [WPS] オプションをオンにすると、WPS サービスのプロパティが表示されます。[名前 (Name)][概要 (Abstract)][題名 (Title)] などのプロパティを構成できます。

ArcGIS Desktop での WPS サービスの公開

ArcGIS Pro からの公開と異なり、サーバー接続を介して Web ツールまたはジオプロセシング サービスとしてのみ、解析を公開できます。ただし、WPS サービスを公開後に ArcGIS Server Manager で構成できるだけでなく、公開プロセスの実行中に構成することもできます。公開手順の詳細を次に示します。

ArcGIS Desktop でのジオプロセシング ツールの準備

ジオプロセシング サービスには 1 つ以上のタスクが含まれます。タスクはジオプロセシング ツールと同様に、パラメーターを受け取って結果を返します。タスクは、サーバー上で処理を実行して結果を返すルーチンを表すための ArcGIS Server のクライアントで使用される用語です。たとえば、土地利用と標高のデータに基づいて、集水域を定義するジオプロセシング ツールを作成することができます。このツールを WPS ケーパビリティを有効にして公開することで、WPS に準拠した Web 上のアプリケーションでタスクとして利用することができます。

ジオプロセシング ツールを作成する際の注意事項については、「ModelBuilder によるジオプロセシング タスクのオーサリング」をご参照ください。

ツールの実行

ツールを公開する前に、まずツールを実行し、ジオプロセシングの正常な実行結果を [結果] ウィンドウで取得する必要があります。このためには、次の手順に従います。

  1. [カタログ] ツリーで、ジオプロセシング ツールをダブルクリックします。
  2. 該当するパラメーター値を入力し、[OK] をクリックしてツールを実行します。

    ツールの実行が成功したら、[結果] ウィンドウが表示されます。

結果の公開

ツールが正常に実行された後、ジオプロセシング ツールをジオプロセシング サービスとして公開できます。この処理の間に、WPS ケーパビリティを有効にして、ジオプロセシング サービス (および、それに伴うタスク) を OGC WPS に準拠させます。

  1. ジオプロセシングの結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。
  2. [サービスとして共有] ウィンドウで、[サービスを公開] を選択します。[Next (次へ)] をクリックします。
  3. [サービスを公開] ダイアログ ボックスで、[ArcGIS Server に接続] チェックボックス ArcGIS Server の追加 をオンにして、サーバーへの接続を作成します。
  4. [ArcGIS Server サーバーの追加] ウィンドウで、[GIS サービスを公開する] を選択します。[Next (次へ)] をクリックします。
  5. [サーバーの URL] に接続先の ArcGIS Server サイトの URL を入力します (例: http://gisserver.domain.com:6080/arcgis)。
  6. [サーバー タイプ] ドロップダウン リストから、[ArcGIS Server] を選択します。

    公開プロセス中に、サービス定義ファイルが作成されローカルのディスクに一時的に保存されます。公開プロセスが完了すると、サービス定義がサーバーにアップロードされ、ローカル ファイルは削除されます。このチュートリアルでは、デフォルトのステージング フォルダーを使用して操作を続けます。

  7. [ユーザー名][パスワード] を入力します。[完了] をクリックします。
  8. [サービスを公開] ウィンドウで、サービスの新しい名前を入力します。120 文字を超える名前や、英数字とアンダースコア (_) 以外の文字が含まれた名前を使用することはできません。[Next (次へ)] をクリックします。

    デフォルトでは、ArcGIS Server のルート フォルダー (root) にサービスが公開されます。サービスはルート フォルダー以下のサブディレクトリに整理することができます。

    サービスを公開するフォルダーを選択するか、サービスを格納するフォルダーを作成します。[Continue] をクリックします。
  9. サービス エディターが表示されます。[サービス エディター] を使用して、ジオプロセシング サービスでユーザーが実行できる操作を選択し、サーバーがジオプロセシング サービスを公開する方法を調整します。[ケーパビリティ] タブをクリックします。
  10. デフォルトでは、ジオプロセシングが有効になっています。[WPS] を選択します。
  11. [サービス エディター] の左側のウィンドウで、[WPS] をクリックします。このパネルを使用して、WPS サービスのプロパティを構成する方法を選択します。WPS サービスのプロパティを設定することで、クライアントがサービス公開者の意図を理解しやすくなります。
    • [URL] フィールドには、クライアントが WPS サービスへのアクセスに使用する URL が表示されます。URL の形式は、http://gisserver.domain.com:6080/arcgis/services/folder/service/GPServer/WPSServer のようになります。
      メモ:

      WPS サービスの URL をコピーして保存します。この URL は、このチュートリアルの別の手順で必要になります。

    • システムが生成したケーパビリティ ファイルを使用して WPS サービスを構成する場合は、デフォルトの [以下にサービス プロパティを入力] オプションを使用します。[Name][Title][OnlineResource] フィールドは自動的に設定され、変更する必要はありません。必要に応じて、リストにあるフィールドを使用してその他のプロパティを設定します。詳細については、「利用可能な WPS サービス プロパティ」をご参照ください。
    • WPS サービスを構成して外部のケーパビリティ ファイルを使用する場合は、[外部のケーパビリティ ファイルを使用] を選択します。このオプションを使用する場合は、WPS ケーパビリティ ファイルをあらかじめ作成しておく必要があります。
    • [名前空間 (Namespace)] および [接頭辞 (Prefix)] は、WPS プロセスを区別するための一意のプロパティです。これらは自動的に設定され、変更する必要はありません。
    ヒント:

    [サービス エディター] を使用してジオプロセシング サービスのプロパティを設定する方法については、「ジオプロセシング サービスの設定: 一般」をご参照ください。サービスの最適な実装方法については、「サービスのチューニングと構成」をご参照ください。

  12. [マップの分析] ボタン 統計情報の更新 をクリックします。結果を WPS サービスとしてサーバーに公開できるかどうかが検証されます。
    ヒント:

    WPS サービスを構成するときに表示領域を広くするには、[サービス エディター] の上部にある [折りたたみ] ボタン 折りたたみ をクリックします。

  13. [準備] ウィンドウの [エラー] セクション エラー に表示されるエラーを修正します。この修正は、結果を WPS サービスとして公開する前に実行する必要があります。さらに必要であれば、警告メッセージと情報メッセージに従って問題を修正し、サービスのパフォーマンスと外観を改善します。これらの問題の解決の詳細については、「GIS リソースの解析」をご参照ください。
    メモ:

    サーバーが確実にデータを認識して使用できるように、フォルダーとジオデータベースを ArcGIS Server サイトに登録することができます。以下の手順を続ける場合、未登録のフォルダーまたはジオデータベースからツールが参照するデータはすべて、公開時にサーバーにコピーされます。これは、サーバーがサービスで使用されているすべてのデータにアクセスできることを保証するための予防的な処置です。フォルダーまたはジオデータベースを ArcGIS Server サイトに登録する手順の詳細は、「ArcGIS Desktop または ArcGIS Pro を使用したデータの ArcGIS Server への登録」をご参照ください。

  14. 必要に応じて、[サービス エディター][プレビュー] プレビュー をクリックします。Web で表示したときに、ツール ダイアログ ボックスがどのように表示されるかをプレビューできます。
  15. ジオプロセシング モデル内のエラーを修正したら、[公開] 公開 をクリックします。

WPS サービスの取得と説明

公開した WPS サービスは、WPS 1.0.0 をサポートする任意のクライアントで使用できます。WPS サービスの最も単純なクライアントの 1 つは Web ブラウザーです。HTTP 経由で情報をリクエストすることができ、レスポンスや例外はブラウザーを通じて返されます。

Web ブラウザーから WPS サービスにアクセスするには、以下の手順に従います。

  1. Web ブラウザーを開きます。
  2. 以下のセクションに示すように、GetCapabilities および DescribeProcess リクエストを実行します。

ケーパビリティの取得

このリクエストは、サービスを通して利用できるすべてのメタデータとプロセスを GML 形式で返します。GetCapabilities 操作を使用するには、WPS サービスの URL をコピーしてアドレス バーに貼り付け、URL の末尾に「?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities」を追加します。

URL の例: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities

URL の例: https://gisserver.domain.com/webadaptor//services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=GetCapabilities

DescribeProcess

DescribeProcess リクエストのレスポンスには、特定のプロセスの詳細情報が含まれます。基本的には、プロセスの一意の識別子と、プロセスに対する必須またはオプションの入力/出力パラメーターの識別子、タイプ、およびスキーマを表します。この情報は、WPS クライアントが以降の Execute リクエストを発行して、実際の地理空間処理を実行するために必要です。DescribeProcess 操作を使用するには、WPS サービスの URL をコピーしてアドレス バーに貼り付け、URL の末尾に「?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess」を追加します。

URL の例: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess&Identifier=output_feature_layer

URL の例: https://gisserver.domain.com/webadaptor/services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=DescribeProcess&Identifier=output_feature_layer

WPS サービス プロセスの実行

Web 上で地理空間処理を実行するには、WPS クライアントから WPS サービスに Execute リクエストを送信します。通常、Execute リクエストは WPS プロセスの各入力/出力パラメーターの値または参照を含み、プロセスの結果を WPS サービスに返す方法も指定します。Execute リクエストのレスポンスには空間処理の結果が埋め込まれ、最新の空間処理ジョブの結果を返すように構成できます。

一般的に、Execute 操作は WPS クライアントで HTTP POST リクエストを通して呼び出されます。URL の例: https://gisserver.domain.com:6443/arcgis/services/my_wps/GPServer/WPSServer、または同等の URL の例: https://gisserver.domain.com/webadaptor/services/my_wps/GPServer/WPSServer?Service=WPS&Version=1.0.0&Request=Execute&Identifier=SampleProcessId に送信される Execute リクエストのサンプルを以下に示します。

<wps:Execute xmlns:wps="http://www.opengis.net/wps/1.0.0" service="WPS" version="1.0.0" language="en-US">
   <ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">SampleProcessId</ows:Identifier>
   <wps:DataInputs>
      <wps:Input>
         <ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Input_String</ows:Identifier>
         <wps:Data>
            <wps:LiteralData dataType="xs:string">abcdefg</wps:LiteralData>
         </wps:Data>
      </wps:Input>
   </wps:DataInputs>
   <wps:ResponseForm>
      <wps:ResponseDocument storeExecuteResponse="true" lineage="true" status="false">
         <wps:Output schema="http://www.w3.org/TR/xmlschema-2/#string" asReference="false">
            <ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Output_String</ows:Identifier>
         </wps:Output>
      </wps:ResponseDocument>
   </wps:ResponseForm>
</wps:Execute>

WPS リクエスト操作とそのパラメーターについては、OGC WPS 1.0.0 仕様をご参照ください。Esri では「オープン スタンダード」の Web ページで、ArcGIS における OGC サービスのサポートに関する詳細情報も提供しています。