WMS サービス
OGC(Open Geospatial Consortium)の WMS(Web Map Service)仕様は、Web で動的マップを提供し、使用するための国際仕様です。ArcGIS for Desktop でマップまたはイメージ サービスを公開するときに WMS ケーパビリティを有効にすることで、WMS サービスを ArcGIS for Server で公開できます。
マップをオンラインで公開し、さまざまなプラットフォームやクライアントに認識させたい場合には、WMS サービスが役立ちます。WMS 仕様をサポートするために構築されたクライアントは、サービスを表示して操作することができます。これまでに、v1.0.0、v1.1.0、v1.1.1、v1.3.0(最新バージョン)の 4 つのバージョンの WMS 仕様が発表されています。
クライアント アプリケーションは、サービスの URL にパラメータを追加することにより、WMS サービスを操作します。ArcGIS Server で公開された WMS サービスは、次のオペレーションをサポートします。
- サービスに関するメタデータのリクエスト(GetCapabilities)
- マップ イメージのリクエスト(GetMap)
- マップ内のフィーチャに関する情報のリクエスト(GetFeatureInfo(オプション))
- ユーザ定義スタイルのリクエスト(GetStyles)
- 凡例シンボルのリクエスト(GetLegendGraphic)
WMS サービスがすべてのオペレーションをサポートするとは限りませんが、少なくとも GetCapabilities および GetMap オペレーションを基本 WMS としてサポートし、オプションの GetFeatureInfo オペレーションを検索可能な WMS としてサポートしなければなりません。GetStyles および GetLegendGraphic オペレーションは共に、Styled Layer Descriptor (SLD) WMS サービスでのみ適用することができます。
WMS サービスが返すマップ イメージには実際のデータが含まれていませんが、GetFeatureInfo 操作によって属性のリクエストを実行できます。OGC 仕様に基づいてデータをベクタとして提供するには、WFS サービスを公開します。データをラスタ レイヤとして提供するには、WCS サービスを公開します。
WMS サービスの詳細については、OGC の Web サイトをご参照ください。ArcGIS での OGC サービスのサポートについては、Esri からもヘルプ トピックを提供しています。
WMS サービスの公開
WMS サービスを公開するには、次の 2 つの方法があります。
- WMS ケーパビリティを有効にしてマップ サービスを公開します。マップ サービスを公開するには、まず、マップ ドキュメントを作成する必要があります。
- WMS ケーパビリティを有効にしてイメージ サービスを公開します。イメージ サービスを公開するには、ラスタ データセットもしくはモザイク データセットのどちらか、あるいは、ラスタ データセットもしくはモザイク データセットを参照するレイヤ ファイルのいずれかが必要です。
マップ サービスまたはイメージ サービスを公開するときに、サービス エディタの [ケーパビリティ] タブで [WMS] チェックボックスをオンにして、WMS ケーパビリティを有効にします。WMS サービスを作成する手順の詳細については、「チュートリアル: WMS サービスの公開」をご参照ください。
注意:
-
マップ内のレイヤの数は、WMS サービスの最初の作成、または停止されているサービスの開始にかかる時間に直接影響します。サービス内のレイヤを削除または統合することにより、開始時間を短縮できることがあります。
-
WMS サービスは、使用可能なマップ キャッシュがあれば利用することができます。マップ キャッシュは、サービスの元の投影、レイヤの順序、レイヤの表示をリクエストする際にのみ使用されます。キャッシュ タイルは、クライアントがリクエストした縮尺に合わせてリサンプリングされますが、それには処理時間がかかり、画像の品質が低下します。WMS サービスに、キャッシュを使用しないと動的な描画に時間がかかる多くのレイヤまたは高度なシンボル表示がある場合に、キャッシュを使用する利点が最もよく発揮されます。少数のレイヤと単純なシンボルのみの場合には、キャッシュを使用しないほうがパフォーマンスが向上します。
キャッシュされていない地域にユーザがアクセスする場合、WMS サービスをオンデマンド キャッシュのマップ サービスで表示すると、キャッシュ内でタイルが作成されます。
-
WMS がモザイク データセットに基づく ArcGIS for Server のイメージ サービスから作成されている場合、クライアントはデータセットの特定のラスタを検索できます。この場合、WMS の GetMap リクエストに IMAGES パラメータを追加します。たとえば、IMAGES=1,2 と指定すると、イメージ サービスのカタログ テーブルでオブジェクト ID が 1 および 2 の画像がリクエストされます。
WMS サービスのプロパティの構成
WMS サービスのプロパティは、サービスの利用者がサービスの公開者への理解を深めることができるよう、ケーパビリティ ファイルに反映されます。システムによって生成されたケーパビリティ ファイルで WMS サービスを公開する際には(デフォルト)、WMS サービス プロパティを設定することをお勧めします。設定できる各 WMS サービス プロパティの詳細については、「利用可能な WMS サービス プロパティ」をご参照ください。また、WMS サービス プロパティの設定場所にアクセスする手順については、以下のトピックをご参照ください。
- Manager での WMS サービス プロパティへのアクセス
- ArcGIS for Desktop での WMS サービス プロパティへのアクセス
外部ケーパビリティ ファイルを使用した WMS プロパティの設定
メタデータを定義するもう 1 つの方法は、外部のケーパビリティ ファイルを使用することです。この方法では、デフォルト以外のフィーチャ タイプの投影法を追加できます。デフォルトでは、レイヤまたはフィーチャクラスの座標系と WGS84(EPSG 4326)が含まれます。詳細については、「WMS サービスでの外部ケーパビリティ ファイルの使用」をご参照ください。
WMS サービスのセキュリティ
ArcGIS Server WMS サービスのセキュリティは、その親のマップ サービスまたはイメージ サービスのセキュリティを制御することにより管理されます。Planners などの特定のロールに対してマップへのアクセスが拒否された場合、Planners は、SOAP、REST(Representational State Transfer)、または OGC(WMS など)のどのインタフェースを使用したとしても、マップにアクセスできなくなります。ArcGIS Server は、HTTP ベースの認証(基本およびダイジェスト)、、ArcGIS for Server によって管理されるトークンベースの認証など、さまざまな認証方式をサポートしています。
HTTP 認証
WMS インタフェース経由でのアクセスが想定されるサービスについては、HTTP 基本認証または HTTP ダイジェスト認証を使って保護する必要があります。ほとんどの WMS クライアント(Esri および非 Esri クライアント)は、広く使用されているこれらの標準認証方式を理解し、それらに対応します。
ArcGIS Server によって管理されるトークンベース認証
親のマップ サービスまたはイメージ サービスにおいて ArcGIS Server によって管理されるトークンベースの認証を使用することにより、WMS サービスを保護することもできます(ただし、推奨されていません)。トークンによって保護された WMS サービスにリクエストを直接送信する場合、トークン サービスから有効なトークンを取得し、トークン文字列を追加のパラメータとしてリクエストを送信することができます。つまり、トークンで保護された WMS サービスへのリクエストには、次の形式を使用しなければなりません。
http://<WMS サービスの URL>?<標準 WMS パラメータ>&token=<有効なトークン文字列>
ほとんどのサードパーティ WMS クライアントは、この方法で保護された WMS サービスにアクセスできません。しかし、この手法は JavaScript 用、Flex 用、および Silverlight 用の ArcGIS API を介して構築した WMS クライアントには使用することができます。
WMS サービスの使用
WMS サービスに接続するには、その URL を知っている必要があります。ArcGIS for Server で公開された WMS サービスの URL の形式は次のとおりです。
http://gisserver.domain.com:6080/arcgis/services/folder/service/service type(MapServer または ImageServer)/WMSServer?
マップ サービスとイメージ サービスの両方で WMS ケーパビリティが有効になっていることに注意してください。サービス タイプに対して 2 つのオプションがあるのはこのためです。
たとえば、「Japan」というフォルダに含まれている「Tokyo」というマップ サービスが「gisserver」というサーバ上のポート番号 6080 で実行されている場合、この WMS サービスの URL は次のようになります。
http://gisserver:6080/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
イメージ サービス IdahoImages が myServer サーバのポート番号 6080 で実行されている場合、WMS サービスの URL は次のようになります。
http://gisserver:6080/arcgis/services/IdahoImages/ImageServer/WMSServer?
一般的な WMS クライアント
WMS サービスの最も単純なクライアントは Web ブラウザです。WMS リクエストは HTTP を通じて送信することができ、レスポンスまたは例外はブラウザを通じて返されます。WMS サービスは、GetCapabilities、GetMap、GetFeatureInfo、GetStyles、GetLegendGraphic の複数のオペレーションをサポートします。クライアントは URL のパラメータを通じてこれらのオペレーションを呼び出し、WMS サービスからメタデータ、マップ、フィーチャ情報、シンボル、凡例シンボルを取得することができます。これらのオペレーションとパラメータの詳細については、OGC WMS 仕様をご参照ください。
Esri が提供している WMS クライアントの一部を以下に示します。
- ArcGIS for Desktop
- ArcGIS API for JavaScript、Flex、Silverlight
- ArcGIS Viewer for Flex
- ArcGIS Viewer for Silverlight
- ArcGIS Explorer Desktop
WMS サービスの凡例情報の表示
WMS サービスは、サービスのレイヤのシンボルに関する情報を返すように設定することができます。クライアントは、この情報を利用して凡例を構築することができます。デフォルトでは、ArcGIS for Server で公開する WMS サービスは、凡例情報を返すことができるように設定されています。この設定は、[マップ ドキュメントからレイヤ名を使用する] プロパティを使用して無効にできます。詳細については、「利用可能な WMS サービス プロパティ」をご参照ください。
ArcMap で WMS レイヤの凡例情報を表示するには、コンテンツ ウィンドウでレイヤを右クリックして、[WMS 凡例をマップに追加] を選択します。