KML (Keyhole Markup Language) は、地理データと関連コンテンツを格納する XML ベースの形式です。 この形式は、公式の OGC (Open Geospatial Consortium) 標準です。 組織では、KML 形式を使用して、地理データを GIS 以外のユーザーと共有します。 この形式は、簡単にオンラインで配信し、無料のアプリケーションで表示できます。
KML 形式を使用するファイルの拡張子は .kml または .kmz です。 .kmz 拡張子は、圧縮バージョンの .kml ファイルを示します。 どちらのファイル タイプも同様の方法で機能し、表示することができます。
KML では、ポイント、ライン、ポリゴン、ラスター画像などのエレメントの組み合わせがサポートされています。 1 つのファイルに、さまざまなタイプのフィーチャと画像を含めることができます。 この形式には、グラフィックス、ピクチャー、属性、HTML などの関連コンテンツも含まれます。
ジオプロセシング ツールを使用して、マップ レイヤーを KML に、KML をジオデータベースに変換できます。 これにより、.kml または .kmz ファイルに含まれる地理データを表示、編集、解析することができるようになります。 ArcGIS Pro では、KML 2.0 および 2.1 仕様のすべてのフィーチャがサポートされています。 ただし、時系列アニメーション、写真オーバーレイ、スキーマ タグなど、KML 2.2 で導入された機能は、現在サポートされていません。
KML の用語
一般的な KML 用語の定義を次の表に示します:
| 用語 | 説明 |
|---|---|
パス | ライン フィーチャ。 |
プレースマーク | クリックするとポップアップ情報が表示されるポイント フィーチャまたは、ポイント、ライン、ポリゴン フィーチャの場所。 |
ポリゴン | ポリゴン フィーチャ。 |
グラウンド オーバーレイ | 通常、地表にジオリファレンスおよびドレープされたラスターまたは画像。 グラウンド オーバーレイの例としては、航空画像や画像に変換されたフィーチャ レイヤーやマップが挙げられます。 |
スクリーン オーバーレイ | ロゴ、凡例、ピクチャーなどのマップや画面のグラフィックス。 スクリーン オーバーレイは地理表示の一部ではありませんが、情報の表示に便利です。 |
タグ | KML は XML ベースの形式であるため、その構造はさまざまなタグを基盤にしています。 たとえば、.kml ファイル内の各ポイント フィーチャは、<Placemark> タグの中にあります。 <Placemark> タグには、ポイントの情報を格納する <Name>、<Snippet>、<Description> などのサブタグや、X、Y、Z 座標を格納する <Point> サブタグがあります。 |
KML からの変換
[KML → レイヤー (KML To Layer)] ツールは、*.kml ファイルまたは *.kmz ファイルを、ソース KML ファイルおよびレイヤー ファイルのすべてのフィーチャと画像を含むファイル ジオデータベースに変換する場合に使用します。ソース KML の色とシンボルは、変換後も維持されます。 変換された ArcGIS データには、KML のフィーチャと画像のデータおよびシンボルだけでなく、ポップアップ情報、スニペット、その他の属性など、KML のその他のプロパティも含まれます。 この変換の実行後は、KML ファイルからの地理データを他の GIS データと同様に編集、分析、マップできます。
[KML → ジオデータベース (KML to Geodatabase)] ツールは、.kml または .kmz ファイルを適切なポイント、ポリライン、またはポリゴン出力に変換する場合に使用します。 [KML → レイヤー (KML To Layer)] ツールと比べて、このツールでは、拡張データ ノードの KML 属性をフィーチャクラス属性フィールドにインポートする操作がサポートされています。
KML への変換
[レイヤー → KML (Layer To KML)] ツールは、マップ レイヤーを KML に変換する場合に使用します。 このツールが作成する KML ファイルは、レイヤーを変換した時点でのデータのスナップショットになります。 KML を作成したら他のユーザーと共有できます。共有したユーザーは、Google Earth などのアプリケーションで、その KML を表示できます。
[レイヤー → KML (Layer To KML)] ツールを実行する前に、レイヤーをシンボル表示して特定のプロパティを設定し、特定のデータ属性を変更します。 変換時に、表示される属性フィールド、透過表示、ラベル、ポップアップ表示、シンボルなど、レイヤーのさまざまな側面やプロパティが KML に適用されます。 レイヤー プロパティとデータ属性を設定すると、期待どおりのわかりやすい、正しい形式の KML を作成することができます。 以下で特に指定していない限り、レイヤーを KML に変換するときのルールは「What You See is What You Get - 見たものが、そのまま手に入るもの」です。 次の表に、KML に変換するレイヤーに対して準備できる内容を示します:
| プロパティ | 説明 |
|---|---|
レイヤー名 | ArcGIS のレイヤーは KML のフォルダーになります。 レイヤー名は KML のフォルダー名として使用されます。 ![]() |
レイヤーの説明 | レイヤーの説明は、フォルダーのポップアップ表示コンテンツとして使用されます。 |
レイヤーのシンボル | レイヤーのシンボルは KML のシンボルとして使用されます。 フィーチャ レイヤーの場合、すべての ArcGIS シンボルが KML でサポートされる訳ではありません。 一般的なルールとして、単純なシンボルしかサポートされないことを考慮に入れてください。 ライン フィーチャの場合、基本的な色とライン幅のプロパティを持つ単純なシンボルだけがサポートされます。ダッシュや矢印、マルチレベルやレイヤー化されたシンボルなど、高度なエフェクトはサポートされません。 ポイント フィーチャは、現在のシンボルをエクスポートし、*.png ファイルを使用してそのシンボルを表示します。 3D シンボルとその他の複雑な識別子はサポートされていません。 ポリゴン フィーチャの場合、単純な外枠の付いた単純な色の塗りつぶしだけがサポートされます。パターン、ハッチング、グラデーションの塗りつぶしはサポートされません。ポリゴンの境界には、ラインと同じ規則が適用されます。 フィーチャにシンプルなシンボル以上のものが必要な場合は、[レイヤー → KML (Layer To KML)] ツールの [単一コンポジット画像の作成] パラメーターを使用して、シンボル表示されたフィーチャを、複雑なシンボルを維持しているラスター イメージに変換します。 |
フィーチャ名 | ラベルをオンにすると、レイヤーのラベル フィールドまたは式が KML のフィーチャ名に使用されます。 ラベルをオンにしないと、レイヤーの表示フィールドまたは式が名前に使用されます。 いずれのレイヤー プロパティも設定しない場合、Name フィールドの値が名前に使用されます。 |
フィーチャ ラベル | レイヤー ラベルが有効な場合、レイヤー ラベル フィールドまたは式が各 KML フィーチャの名前に使用され、ラベルが有効になります。 注意:ポイント フィーチャのみでラベルが作成されます。 ラインまたはポリゴン フィーチャでは、重心を作成したりラベルを作成したりして、ラベル効果を利用することができます。 |
フィーチャ スニペット | 既存のフィールドのエイリアスを KMLSnippet に変更して、フィーチャのスニペットを設定できます。 また、フィーチャ レイヤーの Snippet フィールドの値を KML の各フィーチャのスニペットとして使用することもできます。 |
フィーチャのポップアップ表示 | デフォルトでは、ポップアップ表示はレイヤーのすべての表示可能なフィールドで構成されます。 レイヤーのカスタマイズされたポップアップを使用して、KML フィーチャのポップアップ表示を設定することもできます。 レイヤーのポップアップがカスタマイズされていない場合、KML のフィーチャをクリックしたときに、フィーチャ レイヤーの PopupInfo フィールドの値がポップアップ表示されます。 これらの値には、数値やテキスト属性、およびテキスト フィールドに格納された HTML 形式のコードが使用できます。 |
フォルダーとサブフォルダー | フォルダー構造を KML のレイヤーとフィーチャに割り当てることができます。 レイヤーに FolderPath という名前のフィールドがあり、このフィールドに複数のレベルの値が入力されている場合、このフィールドの値は KML フォルダーとサブフォルダーを定義するために使用されます。 FolderPath フィールドの最初のレベルは、他のフォルダーを含むルート フォルダーになります。 このフィールド内では、フォルダーとサブフォルダー間のパスの区切り文字をスラッシュ (/) にする必要があります。 レイヤーに FolderPath フィールドがない場合は、グループ レイヤーを使用してフォルダーとサブフォルダーの構造を定義できます。 [レイヤー → KML (Layer To KML)] ツールへの入力としてグループ レイヤーを指定し、KML のグループ レイヤー構造を取得します。
|
3D フィーチャの標高 | フィーチャ レイヤーが Z 対応でジオメトリーに Z 値を持つ場合、KML は 3D で作成されます。 また、レイヤーに 3D 表示効果 (基準高度または立ち上げなど) が適用されている場合、これらの 3D 効果は出力 KML で維持されます。 これらのレイヤー効果が適用されていない場合、3D 効果を制御するためにフィールド属性が使用されます。 詳細については、次の「3D の作成」セクションをご参照ください。 |
3D KML の作成
3D 空間 (サーフェスの一番上またはフローティング) のフィーチャの配置とプロパティを制御するために、次に示すフィールド属性 (タイプはすべて整数) が使用されます。
注意:
KML は WGS84 座標系と、計測単位にメートルを使用します。 KML の作成時、すべての標高値はメートルと想定されます。
3D 変換のレイヤー プロパティ
| フィールド | 値 | 説明 |
|---|---|---|
AltMode | 0 または -1 | 値が 0 の場合、高さが絶対値の KML 設定に設定されます。これは、フィーチャが Z 対応である場合に使用する必要があります。 値が -1 の場合、地球表面を基準としてフィーチャを配置します。 |
Base | 任意の数値 | 任意の数値を使用できます。 この値は、相対配置 (AltMode=-1) とともに使用される場合、地球表面からのフィーチャの高さを制御します。 注意:フィーチャの Z 値が 100 で、地球表面が 100 より高い地理エリアにある場合、絶対設定にするとフィーチャは地球表面より下に配置されます。 |
Extruded | 0 または -1 | 値が 0 の場合、立ち上げは設定されません。-1 の場合、立ち上げ効果が適用されます。 フィーチャの立ち上げを行うと、側面がポリゴンから地表面に続くブロックのようなポリゴンが作成されます。 |
次の画像の緑色のポリゴン (OID 3 および 4) は、標高 (Z 値) のないフィーチャで、赤とグレーのフィーチャには標高値があります。 Z 値を持つフィーチャにも持たないフィーチャにも、同様の効果を適用できます。 たとえば、立ち上げた緑色のポリゴン (OID 3) は、Z 値を持たず、次のフィールドが設定されます。AltMode = -1、Base = 25、Extruded = -1。 立ち上げた赤色のポリゴン (OID 2) は、Z 値が 1300 で、次のフィールドが設定されます。AltMode = 0、Base = 0、Extruded = -1。 赤のフィーチャ (OID 2) は標高値があるため、その位置は絶対値で設定され、立ち上げだけが使用されます。

注意:
[レイヤー → KML (Layer To KML)] ツールの [フィーチャを地表に固定] パラメーターは 3D 設定に優先し、すべてのフィーチャが地球表面にドレープされます。 このパラメーターは、地表面より低い Z 値を持つフィーチャから KML を作成する場合や、3D 効果が必要ない場合に便利です。 また、Clamped フィールドに -1 を設定して、オプション パラメーターを使用した場合と同じ効果をフィーチャごとに与えることもできます。

