KML としてのサービスの表示

公開された ArcGIS Server マップ サービスまたはイメージ サービスは、KML(Keyhole Markup Language)ネットワーク リンクとしても利用することができます。つまり、ArcGIS Explorer、ArcGlobe、Google Earth など、KML を表示できるアプリケーションであれば、ArcGIS Server サービスを利用することができます。

ArcGIS Server は REST(Representational State Transfer)を使用して、一連のエンドポイントまたは URL 経由でサービスに関する情報を公開します。ユーザがサービスを KML として利用するには、KML を返す適切な REST URL を参照するだけです。さらに、パッケージ済みの KML ネットワーク リンク ドキュメントの形式で高度にカスタマイズされた KML コンテンツを作成する Manager ユーザをサポートするために、ArcGIS Server は REST 以外の URL も公開します。

KML ネットワーク リンクの概要、およびマップ サービス、ジオコード サービス、ジオプロセシング サービス、イメージ サービスとのやり取り

KML ネットワーク リンクは、Web 経由で動的 KML コンテンツを表示するための手段です。KML ネットワーク リンクは、更新間隔などの振舞いプロパティに関する詳細を設定することができ、圧縮された KML(KMZ)ファイル内に埋め込むことができます。これ以降は、ネットワーク リンク情報が含まれた KML/KMZ ファイルをネットワーク リンク ドキュメントと呼ぶことにします。

マップ サービスやイメージ サービスの REST エンドポイントを通じて提供されるデフォルトの KML ネットワーク リンクは、ArcGIS Server サービスをグランド オーバーレイとして表示します。つまり、グローブのサーフェスにドレープされるイメージとして表示します。サービスがサポートされる座標系(WGS84、WGS 1984 Web メルカトル、またはその他の円筒座標)のキャッシュ マップ サービスである場合、グランド オーバーレイは Regions を使用している場合にも返されます。Regions は階層型のイメージを提供し、パフォーマンスの最適化に推奨されます。ArcGIS Server イメージ サービスは完全にキャッシュすることができないため、Regions を使って共有することはできません。

アクセス可能な REST KML ネットワーク リンクには、この他に、マップ サービス レイヤの検索操作、ジオコード アドレスおよびリバース ジオコーディド操作、送信されたジオプロセシング ジョブの結果があります。これらは、元のサービス ソース ドキュメントやラスタ グランド オーバーレイ(ジオプロセシング サービスのみ)のように、シンボル表示されたベクタを返します。

マップ サービスでは、カスタム KML ネットワーク リンクを生成することもできます。カスタム KML ネットワーク リンクは、Services Directory や Manager を通じて、または KML クライアントでの手動操作により作成することができます。この手法では、デフォルトの REST エンドポイントを通じて提供されるたった 1 つのグランド オーバーレイ イメージではなく、ラスタ エレメントとベクタ エレメントの組み合わせを KML に追加することができます。たとえば、マップ サービスにおいて建物のフットプリントを立ち上げたい場合は、カスタム KML ネットワーク リンクを生成する必要があります。この作成手順の詳細については、「KML として公開するためのマップの作成」および「KML ネットワーク リンクの管理」をご参照ください。

特定のサービスの URL を検索する方法

REST URL は、ArcGIS Server の Services Directory を使って簡単に検出することができます。Services Directory は ArcGIS Server に含まれているアプリケーションであり、URL など、サービスに関する REST 関連の情報を参照するのに役立ちます。Services Directory は、[スタート] メニューから直接起動するか、またはブラウザを開いて http://<Web サーバ名>/<インスタンス名>/rest/services にアクセスします。リンクを取得するには、サービスへのリンクをクリックして、[表示:Google Earth] を右クリックし、[ショートカットのコピー] をクリックします。

デフォルトの REST マップ サービスおよびイメージ サービス エンドポイントの URL は、http://<Web サーバ名>/<インスタンス名>/rest/services/<サービス名>/<サービス タイプ>/kml/<サービス>.kmz のように、各要素から直接構築されます。ArcGIS Server の作成時に公開者によってさまざまな名前が定義され、サービス タイプは MapServer と ImageServer のどちらかになります。

次に、REST を使って ArcGIS Server サービスに KML ネットワーク リンクとして接続する URL の例を示します。

カスタム KML ネットワーク リンク ドキュメントを生成するための MapService REST URL は、デフォルトの MapService REST エンドポイントと同じ Services Directory ページに配置されます。その URL は前と同じパターンに従いますが、最後に「generateKML.kmz」が追加されます。このリンクを開くと、特定のネットワーク リンク プロパティを定義できるページが表示されます。[KML の作成] をクリックすると、仮想ディレクトリにコピーすることで公開できるカスタム ネットワーク リンク ドキュメントが作成されます。

さらに、マップ サービス レイヤ リンクを選択し、[検索] 操作を選択すると、クエリ レイヤ ページが表示されます。

フォーマットとして KML を選択すると、ネットワーク リンク ドキュメントに貼り付けることができるネットワーク リンク URL が作成されます。

http://myServer/ArcGIS/rest/services/M_Portland_FGDB/MapServer/7/query?
text=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=
esriSpatialRelIntersects&where=&returnGeometry=true&outSR=&outFields=&f=kmz

管理者権限を使用して、ArcCatalog で [マップ サービス プロパティ] ダイアログ ボックスにアクセスし、[ケーパビリティ] タブで非 REST KML サービスへの URL を直接調べることができます。この URL を使用して、KML クライアントでカスタム KML ネットワーク リンクを手動で構築することができます。

Manager を使ってカスタム KML ネットワークを構築すると、KMZ ファイルが仮想ルート ディレクトリに自動的にコピーされ、一般ユーザがアクセスできる http://<Web サーバ名>/<インスタンス名>/kml で公開されます。ブラウザでこの URL にアクセスすると、サーバへのカスタム KML ネットワーク リンクがすべて表示されます。

KML ネットワーク リンク ドキュメントへの URL を取得したら、Web サイトなどの一般ユーザがアクセスできる場所で公開し、KML をすばやく簡単に開けるようにします。


7/10/2012