KML (Keyhole Markup Language) は、ArcGIS Earth や Google Earth など、アプリケーション内の地理フィーチャを表すために使用される XML ベースのファイル形式です。KML により、マップまたはグローブ上にポイント、ライン、ポリゴンを描画し、それらを他のユーザーと共有することができます。KML を使用して、テキスト、ピクチャ、ムービー、またはユーザーがフィーチャをクリックしたときに表示される他の GIS サービスへのリンクを指定することもできます。多くの KML クライアント アプリケーションは無償であり、ユーザーにとってわかりやすいナビゲーション環境を提供します。
ArcGIS Server での KML の機能
ArcGIS Server では、マップやデータをさまざまな方法で KML として共有することができます。
- マップ サービスとイメージ サービスは、REST (Representational State Transfer) を通じて KML ネットワーク リンクを公開します。
- Manager または Services Directory を使用して、独自の KML ネットワーク リンクを作成することができます。
- マップ レイヤーを検索する、あるいは REST を通じてジオプロセシングまたはジオコーディング操作を実行する場合は、結果を KML として取得することができます。
このような場合、KML は動的に生成されるため、KML を表示するユーザーにはサーバーからの最新のマップとデータが常に表示されます。電子メールで送信するか、ファイル サーバー上に保存できる静的 KML ドキュメントを生成したい場合は、ArcGIS Desktop の [マップ → KML (Map to KML)] ツールと [レイヤー → KML (Layer To KML)] ツールを使用することができます。
KML を返すためのマップ サービスとイメージ サービスの構成
マップとイメージを動的 KML として共有するには、ArcGIS Desktop を使用して、それらをサービスとして公開するだけです。マップ サービスとイメージ サービスはどちらも KML を返すことができます。これらのサービスをサーバーに公開するときには、KML ケーパビリティがデフォルトで有効になっています。
サービスを公開する前に、少し準備作業が必要になります。マップ サービスでは、まず、KML として利用できるようにしたいレイヤーが含まれたマップ ドキュメントを準備する必要があります。このマップ ドキュメントでは、KML に反映される特定のラベリング、レンダリング、シンボル、および HTML ポップアップ ウィンドウのプロパティを指定することができます。3D プロパティは、ArcGlobe で設定し、レイヤー ファイルとしてマップ ドキュメントにインポートする必要があります。
イメージ サービスには、ラスター データセット、モザイク データセット、またはラスター データセットかモザイク データセットを参照するレイヤー ファイルが必要です。レイヤー ファイルを使用して特定のレンダラーを定義し、イメージ サービスを希望どおりに表示させることもできます。
KML と REST
すべてのマップ サービスとイメージ サービスでは、REST を使用して KML ネットワーク リンクを公開します。簡単に言うと、REST はアクセス可能な一連の URL を通じてサービスに関する情報を公開するための手段です。Services Directory を使用して、ネットワーク リンクへの URL を調べることができます。Services Directory は、サーバー上の REST エンドポイントを操作するのに役立つアプリケーションです。URL は、ArcGIS Earth または KML ネットワーク リンクをサポートする他のクライアントに追加できる *.kmz ファイルをポイントします。
デフォルトのネットワーク リンクを使用したくない場合は、Manager または Services Directory を使用して、独自のネットワーク リンクを生成することができます。REST、KML ネットワーク リンク、および ArcGIS Server によるそれらの操作については、「KML としてのサービスの表示」をご参照ください。
サーバー上で提供されるサービスの表示
Services Directory を通じて、サーバー上のすべてのマップ サービスとイメージ サービスのフットプリントを表示することもできます。さらに、サービスの位置と説明を表示するフットプリント KML ネットワーク リンクにアクセスできます。このフットプリント ネットワーク リンクは、サーバー上で利用可能なサービスを他のユーザーに示すためのガイドとして使用することができます。
ジオコーディング、ジオプロセシング、および検索の結果の KML
マップ サービスは、ジオプロセシング、ジオコーディング、検索操作の結果を KML として返すことができます。これらのサービスはクライアント アプリケーションで使用することができ、解析時に REST URL に直接入力して使用することもできます。この方法により、アプリケーションやユーザーはオンライン ジオデータベースから情報を選択して KML 形式で取得することができます。
KML サービスのオペレーション
KML サービスに組み込まれたオペレーションを使用すると、KML クライアントでサーバーに対するさまざまなリクエストを実行できます。マップと画像を公開するときには、[別々のイメージ] オペレーション、[単一のイメージ] オペレーション、および [ベクター] オペレーションがデフォルトで有効になります。
- [別々のイメージ] により、KML クライアントは、サービスの各レイヤーに対して、KML グラウンド オーバーレイなどの個別の画像を返すように要求することができます。たとえば、KML クライアントを通じて KML サービスを見ている場合に、サービス内の各レイヤーの透過表示を調整できます。
- [単一のイメージ] により、KML クライアントは、サービスのすべてのレイヤーに対して、単一コンポジット画像を KML グラウンド オーバーレイとして要求することができます。これは、マップ サービスのマップ イメージのエクスポート オペレーションとよく似ています。
- ベクターにより、KML クライアントは、サポートされるすべてのレイヤーからそれぞれのジオメトリ タイプとして個別のフィーチャを返すように要求することができます。これには、ポイント、ライン、ポリゴンを含めることができます。
ArcGIS Desktop の [サービス エディター] の [KML] タブで、これらのオペレーションの 1 つを無効にすることができます。
サポートされている KML 機能
KML サービスでサポートされる機能のリストを次に示します。
- KML 2.2 互換の KML の生成
- REST を通じた KML の自動提供
- KML Regions を使用した、キャッシュされたマップ サービスの REST 経由での表示
- イメージ サービスでの KML の利用
- REST を通じたサービス フットプリントの KML としての利用
- ほとんどの ArcMap ラベリング機能のサポート
- ラベルを無効にする機能
- ArcMap の [レイヤー プロパティ] ダイアログ ボックスの [HTML ポップアップ] タブで指定した形式 (KML フィーチャの説明への変換)