KML として公開するためのマップの作成
ユーザがマップに KML としてアクセスする可能性がある場合は、特定のデザイン パターンに従う必要があります。このトピックには、KML の特定の機能を利用できるように ArcMap ドキュメントを準備するためのヒントも含まれています。たとえば、ユーザが KML サービスを表示してポイントをクリックしたとき、ポップアップ ウィンドウには何が表示されるでしょうか。あるいは、KML Regions を使用する高性能なサービスを作成するにはどうすればよいでしょうか。ここでは、サービスの公開に先立ち、マップの作成段階で準備する必要があるものの例を示します。
マップに追加できるもの
マップにはベクタ レイヤとラスタ レイヤの両方を追加することができます。これらのフィーチャ タイプで設定したラベルは、KML にも含まれます。
サービスを公開した後は、クライアントが実際のベクタ フィーチャを取得できるのか、それともマップのラスタ化された画像を表示できるのかを選択することができます。同様に、マップ内のラベルがラスタ化されるか、グローブ上で平らに表示されるか、またはグローブ上で立ち上がり、ユーザがマップを回転させたときに回転するか(ビルボード ラベルとも呼ばれます)を指定することもできます。
ラベルの操作
マップ内のラベルは KML に変換されます。ラベル テキストは、ArcMap および ArcGlobe の [レイヤ プロパティ] ダイアログ ボックスの [ラベル] タブで選択したフィールドに基づきます。
すべてのフィールドを無効にすると、ラベル テキストは主フィールドに基づきます(主フィールドの詳細については、ArcGIS ヘルプの「フィールド プロパティ、エイリアス、テーブル表示オプションの概要」をご参照ください)。
KML でサポートされるラベル効果は、サイズと色のみです。影やハローなどのラベル効果は KML に変換できません。フィーチャに適用できるラベルは 1 つだけです。
説明とスニペットの設定
説明とスニペットは、KML で属性情報を提供するための 2 つの方法です。スニペットとは、何か(タイトルなど)を説明する短いテキストです。説明はそれよりも長い記述で、テキスト、リンク、ピクチャ、その他のメディアを含んでいることがあります。
説明は、フィーチャをクリックしたときに表示される情報提供用のポップアップ ウィンドウに表示される内容を決定します。スニペットは、コンテンツ ウィンドウに表示されるテキストを定義します。説明とスニペットは、フィーチャ、レイヤ、データ フレーム、およびネットワーク リンクのレベルで適用できます。
スニペットの設定
デフォルトでは、スニペットの表示は無効になっています。この設定を変更するには、ArcGIS Server Manager で KML ネットワーク リンクを公開するときに、[デフォルトの KML スニペットの振舞いを抑制する] のチェックを外します。これにより、スニペットが定義されている場合は、それが使用されるようになります。スニペットが定義されていない場合は、説明の最初の 2 行が使用されます。
スニペットの使用を選択すると、それらはデータ内のフィールドから取得されます。スニペットに表示されるフィールドを選択するには、[レイヤ プロパティ] ダイアログ ボックスの [フィールド] タブで、KMLSnippet エイリアスを割り当てます。このエイリアスを割り当てることができるフィールドは 1 つだけです。
説明の設定
説明の設定は、ネットワーク リンク、データ フレーム、レイヤ、個々のフィーチャのどれに適用するかによって異なります。
-
ネットワーク リンクの説明を構成できるのは、サービスをネットワーク リンクとして公開するときだけです。
-
データ フレームの説明は、[データ フレーム プロパティ] ダイアログ ボックスの [一般] タブの [説明] ボックスに含まれている内容に基づきます。
-
レイヤの説明は、[レイヤ プロパティ] ダイアログ ボックスの [一般] タブの [説明] ボックスに含まれている内容に基づきます。
-
個々のフィーチャの説明は、ArcMap および ArcGlobe で [レイヤ プロパティ] ダイアログ ボックスの [HTML ポップアップ] タブで指定した XSL スタイルシートによって設定されます。<ArcGIS インストール ディレクトリ>\Styles\HTMLPopup に、サンプルのスタイルシートがいくつか用意されています。
XSL スタイルシートでは、フィーチャ属性値を使用して、ポップアップ ウィンドウを HTML で構築することができます。たとえば、モデル パラメータを定義するための属性値を使用して、KMZ を返すジオプロセシング タスク結果へのリンクを作成することができます。これにより、KML ブラウザ環境で実際の GIS にアクセスできます。また、属性値をクエリ パラメータとして使用し、同じような方法でレイヤ クエリの結果にリンクすることもできます。さらに、フィーチャ内の属性によって参照されるイメージまたは Flash ビデオを表示することもできます。つまり、Web 上のあらゆる HTML コンテンツにリンクすることができます。
クエリまたはジオプロセシング タスクからの KML は、すべてのフィールドが返される場合にのみポップアップ ウィンドウを使用します。一部のフィールドしか返さない場合、スタイルシートが存在しないフィールドを参照しているために予想外の振舞いにつながることがあります。すべてのフィールドが返されない場合は、フィールド名と属性値からなる単純な HTML テーブルが返されます。
長く複雑な説明は、KML クライアント アプリケーションのパフォーマンスを低下させる可能性があります。パフォーマンスを重視する場合は、長い説明を避けてください。説明を短くするために、同じ内容の Web ページへの単純なリンクを追加することを検討してください。
フィーチャ密度が非常に高く、スタイルシートが複雑な場合は、フィーチャごとにスタイルシートが適用され、パフォーマンスが低下することがあります。
フィーチャの立ち上げ
Z オフセットや立ち上げフィーチャなどの 3D 属性を持つフィーチャクラスを公開する場合は、ArcGlobe でフィーチャクラス レイヤのプロパティを編集し、フィーチャクラスをレイヤ ファイルとして保存した後、そのレイヤ ファイルを ArcMap ドキュメントに追加する必要があります。
たとえば、人口密度属性を持つポリゴン フィーチャクラスがあると想定します。このフィーチャクラスを、人口密度の高いポリゴンほど飛び出して(立ち上がって)見えるように、3D KML で表示したいと考えます。これを実行するには、ArcGlobe でそのフィーチャクラスの立ち上げプロパティを設定し、フィーチャクラスをレイヤ ファイルとして保存した後、そのレイヤ ファイルを ArcMap ドキュメントに追加します。ArcMap では標高エフェクトや立ち上げエフェクトは表示されませんが、公開した KML では 3D 表示されます。
このプロセスの詳細については、「チュートリアル: KML サービスの公開」をご参照ください。
凡例の設定
KML サービスのレイヤを説明する凡例を提供することができます。ArcGIS for Server は、マップ ドキュメントのレイアウト ビューで凡例を検索します。凡例が検出されると、それらは KML に埋め込まれます。
凡例は動的であり、マップ フィーチャのいずれかのシンボルまたはマップの縮尺(縮尺範囲が設定された凡例の場合)を変更したときに更新されます。凡例をグラフィックに変更すると KML に埋め込まれなくなるので注意してください。
凡例はそれぞれ KML においてスクリーン オーバーレイとして表示されます。つまり、ユーザがマップの画面移動やズームを行っても画面上に表示されたままとなります。ユーザは、候補値のフォルダから凡例が画面上に配置される場所を選択することができます(たとえば、北、北西、または西)。
このマップを KML 専用に使用する場合、ArcMap のレイアウト ビューにおける凡例の位置について心配する必要はありません。