KML (Keyhole Markup Language) は、地理データと関連コンテンツを格納するための XML ベースの形式で、OGC (Open Geospatial Consortium) の公式標準です。 KML は簡単にインターネットで配信して、多くの無料アプリケーションで表示できるため、非 GIS ユーザーと地理データを共有するための一般的な形式になっています。 KML ファイルのファイル拡張子は、*.kml または *.kmz (圧縮された KML ファイル用) のいずれかです。
KML は、ポイント フィーチャ、ライン フィーチャ、ポリゴン フィーチャ、およびラスター画像で構成することができます。 KML には、グラフィックス、画像、属性、HTML などの関連するコンテンツも含めることができますが、ArcGIS のデータセットは通常、同じ種類の要素ごとに構成されています (たとえば、ポイント フィーチャクラスにはポイントのみが含まれ、ラスターにはセルまたはピクセルのみが含まれ、フィーチャは含まれません)。 1 つの KML ファイルには、画像の他、さまざまな種類のフィーチャを含めることができます。
ジオプロセシング ツールを使用して、マップ レイヤーを KML に変換し、KML を ArcGIS ジオデータベースに変換することができます。そのため、任意の KML ファイルに含まれている地理データを表示、編集、および解析することができます。 KML 2.0 および 2.1 仕様のフィーチャは、すべてサポートされています。 KML 2.2 仕様の新しい機能 (タイム アニメーション、写真オーバーレイ、スキーマ タグなど) は、現在サポートされていません。
KML の用語
用語 | 説明 |
---|---|
KMZ | 圧縮された KML ファイル。 KMZ ファイルは、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 (Layer To KML)] ツールは、マップ レイヤーを KML に変換する場合に使用します。 このツールが作成する KML は、レイヤーを変換した時点でのデータのスナップショットになります。 KML を作成したら他のユーザーと共有できます。共有したユーザーは、Google Earth や ArcGIS Explorer などのアプリケーションで、その 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 を設定して、オプション パラメーターを使用した場合と同じ効果をフィーチャごとに与えることもできます。