WMS サービスでの外部ケーパビリティ ファイルの使用

外部ケーパビリティ ファイルを使用すると、WMS サービスのケーパビリティ ファイルを完全に制御できるようになるため、次のような操作が可能になります。

外部ケーパビリティ ファイルを使用すると柔軟性が向上しますが、外部ケーパビリティ ファイルを扱うには OGC WMS 仕様についてある程度、理解している必要があります。

このトピックでは、外部ケーパビリティ ファイルを使用するように WMS サービスを設定するための手順と、外部ケーパビリティ ファイルが役立つユースケースを示します。

注意: WMS サービスに外部ケーパビリティ ファイルを使用する場合は、OGC の DTD または XML スキーマに対してケーパビリティ ファイルを整合チェックする必要があります。また、ケーパビリティ ファイルと公開されている WMS サービスのソース マップ ドキュメントを同期させる必要もあります。

外部ケーパビリティ ファイルを使用するための WMS サービスの構成

外部ケーパビリティ ファイルを使用するように WMS サービスを構成するには、WMS ケーパビリティ ファイルが少なくとも 1 つは必要です。新規にファイルを作成することも可能ですが、多くの場合、システム生成ケーパビリティ ファイルをテンプレートとして使ったほうが簡単です。(デフォルトでは、サービスを起動するたびに、一連のシステム生成ケーパビリティ ファイルが ArcGIS Server 出力ディレクトリに作成されます。それらのケーパビリティ ファイルは、サービスの停止時に削除されます。)

WMS サービスで異なるバージョンの WMS プロトコル(1.0.0、1.1.0、1.1.1、1.3.0 など)をサポートしたい場合は、サポートする WMS のバージョンごとにケーパビリティ ファイルを作成する必要があります。必要なケーパビリティ ファイルをすべて作成したら、それらに共通の接頭辞(「capabilities」 など)と 3 桁のバージョン番号からなる名前を付けます(「capabilities100」、「capabilities110」、「capabilities111」、「capabilities130」 など)。すべてのケーパビリティ ファイルを URL からアクセス可能な共通フォルダに配置します。次の手順に従って、ケーパビリティ ファイルを使用するようにサービスを構成します。

ArcGIS Server Manager の手順

手順:
  1. Manager で [サービス] タブをクリックします。
  2. サービスを選択して [編集] アイコンをクリックします。
  3. [ケーパビリティ] タブをクリックします。
  4. [ケーパビリティ] のリストで [WMS] を探します。[WMS] のチェックボックスがオンになっていることを確認し、テキスト部分をクリックします(オフにしないよう注意してください)。一部のプロパティが表示されます。
  5. [外部ケーパビリティ ファイルを使用] を選択します。
  6. [場所と接頭辞を指定] ボックスに、ケーパビリティ ファイルを配置したフォルダの URL とそれらに使用した共通接頭辞を入力します(たとえば、共通接頭辞として「capabilities」を使用し、ファイルを C:\Inetpub\wwwroot\<インスタンス名>\wms に配置した場合は、「http://<サーバ名>/<インスタンス名>/wms/capabilities」と入力します)。
  7. [保存] をクリックします。

ArcCatalog の手順

手順:
  1. サービスが実行中の GIS サーバへの管理者接続を作成します。
  2. サービスを検索し、サービスが稼動している場合は停止します。
  3. サービスを右クリックし、[サービス プロパティ] をクリックします。
  4. [ケーパビリティ] タブをクリックします。
  5. [ケーパビリティ] のリストで [WMS] を探します。チェックボックスがオンになっていることを確認し、[WMS] のテキスト部分をクリックします(オフにしないよう注意してください)。一部のプロパティが表示されます。
  6. [外部ケーパビリティ ファイルを使用] を選択します。
  7. [場所と接頭辞を指定] ボックスに、ケーパビリティ ファイルを配置したフォルダの URL とそれらに使用した共通接頭辞を入力します(たとえば、共通接頭辞として「capabilities」を使用し、ファイルを C:\Inetpub\wwwroot\<インスタンス名>\wms に配置した場合は、「http://<サーバ名>/<インスタンス名>/wms/capabilities」と入力します)。
  8. [OK] をクリックしてサービスを再開します。

ユース ケース 1: 空間参照系(SRS/CRS)の追加

問題: ArcGIS Server で作成した WMS サービスは多くの空間参照系をサポートしますが、ケーパビリティ ファイルに示されているのは、そのうちの 2 つである EPSG 4326(すべての WMS サービスによって要求される)とサービスを公開したデータ フレームの空間参照だけです。サポートされている空間参照系であれば、どれを使用したとしても WMS サービスにマップをリクエストすることは可能ですが、一部の WMS クライアントはリクエストされた空間参照がケーパビリティ ファイルに存在しない場合にエラーを返します。ArcMap などのクライアントでは、空間参照系の切り替えはケーパビリティ ファイルに指定されたものに限られます。

解決策: 外部ケーパビリティ ファイルを使って WMS サービスを公開することにより、WMS サービスのケーパビリティに空間参照系を追加して、WMS クライアントにそれらを認識させることができます。

手順: 具体的な例については、ArcGIS Server ブログの「WMS サービスのケーパビリティ ファイルへの空間参照系の追加」をご参照ください。

ユース ケース 2: OnlineResource タグの構成による WMS リクエストのリダイレクト

問題:WMS サービスのケーパビリティ ファイルに含まれている OnlineResource タグは、最初の接続を確立した後、GetCapabilities、GetMap、および GetFeatureInfo リクエストの送信先をクライアントに知らせます。通常、OnlineResource タグには WMS サービスと同じ URL が含まれていますが、リバース プロキシが関与する場合、またはユーザが WMS リクエストのタイプごとにリクエストを異なるサーバに送信したい場合には、OnlineResource を構成する必要があります。

解決策: 外部ケーパビリティ ファイルを使って WMS サービスを公開することにより、WMS リクエストのタイプごとに OnlineResource タグに異なる URL をポイントさせることができます。

手順:

  1. 先の「外部ケーパビリティ ファイルを使用するための WMS サービスの構成」セクションの手順に従って、外部ケーパビリティ ファイルを使って WMS サービスを公開します。
  2. テキスト エディタで、バージョン 1.3.0 の外部ケーパビリティ ファイル(例: capabilities130.xml)を開きます。
  3. すべての <OnlineResource> タグを探します。このタグは 4 つあるはずです。1 つは WMS サービス自体に対するもので、残りの 3 つは 3 種類の WMS リクエスト(GetCapabilities、GetMap、GetFeatureInfo)に対するものです。
  4. <OnlineResource> の xlink:href 属性を WMS リクエストの送信先となる URL に設定します。変更内容を保存します(xlink:href 属性は 4 つの <OnlineResource> タグごとに異なる値に設定できます)。
  5. 外部ケーパビリティ ファイルの他のバージョン(1.0.0、1.1.0、1.1.1 など)を対象に、ステップ 2 ~ 4 を繰り返します。
  6. URL を使って外部ケーパビリティ ファイルにアクセスし、変更内容が正しく保存されていることを確認します。

これらの作業を行った後、WMS サービス、その親のマップ サービスまたはイメージ サービスを再開する必要はありません。クライアントからの接続を更新すれば十分です。

注意:4 種類の WMS リクエストすべてに同じ URL が使用され、それが WMS サービスの URL ではない場合、外部ケーパビリティ ファイルを使用する必要はありません。この場合は、ArcCatalog または Manager を通じて共通の OnlineResource タグを設定し、システムによって生成されたケーパビリティ ファイルを使って WMS サービスを公開します。

ユース ケース 3: WMS ケーパビリティ ファイルでのレイヤ情報の構成とカスタマイズ

問題:WMS ケーパビリティ ファイルは、WMS サービスと WMS クライアント間の唯一の接続であり、この接続を通じてサーバは情報を提供し、クライアントはそれを使用します。WMS 仕様では、サービス自体に加えて、サービス内の各レイヤを説明するプロパティを(ケーパビリティ ファイルの xml タグを使って)多数定義していますが、システムによって生成されるケーパビリティ ファイルを使って ArcGIS Server 経由で WMS サービスを公開する場合、それらのレイヤ プロパティの多くは追加したり構成したりできません。

解決策: 外部ケーパビリティ ファイルを使って WMS サービスを公開することにより、サービス内の WMS レイヤごとにメタデータ情報を構成およびカスタマイズできます。

例:ここでは、WMS サービスのケーパビリティ ファイルに WMS レイヤのメタデータを追加する方法を示します。このメタデータには、アブストラクト、キーワード、標準形式でのメタデータへの URL リンク、属性だけでなく、フィーチャ データへの URL リンクが追加されることもあります。


7/10/2012