レイヤー → KML (Layer To KML) (変換)

サマリー

フィーチャまたはラスター レイヤーを KML 形式 (.kmz または .kml ファイル) に変換します。 出力 KML には、Esri フィーチャのジオメトリ、ラスター、セル、ラスター シンボル、およびその他のプロパティの変換が出力されます。

ArcGIS での KML のサポートの詳細

使用法

  • このツールのデフォルト出力は、拡張子が .kmz で、.kml ファイルおよび他の補足ファイルを含むアーカイブまたは .zip ファイルです。 .kmz および ArcGIS Earth を含む多くのアプリケーションが Google Earth ファイルを読み取ることができます。

  • KML の外観は次の 2 つの方法で制御できます。

    • デフォルトでは、ポップアップ表示はレイヤーのすべての表示可能なフィールドで構成されます。レイヤーのカスタマイズされたポップアップを使用してポップアップ表示を設定することもできます。レイヤーのポップアップがカスタマイズされていない場合、KML のフィーチャをクリックすると、フィーチャ レイヤーの PopupInfo フィールドの値がポップアップ表示されます。これらの値には、数値やテキスト属性、およびテキスト フィールドに格納された HTML コードが使用できます。
    • レイヤー プロパティが設定されておらず、フィーチャクラスが特定の属性 (フィールド) を持っている場合は、フィールド プロパティが KML レイヤーの作成に使用されます。この KML レイヤーは [KML → レイヤー (KML To Layer)] ツールを使用して作成されたものであり、KML の作成方法を定義した属性が含まれています。属性から KML を作成する方法の詳細については、「KML 変換」をご参照ください。

  • 入力に縮尺依存の表示プロパティがある場合は、適切な [レイヤーの出力スケール] パラメーター値を指定して、出力 .kmz ファイルのサイズを小さくします。

  • 入力レイヤーは WGS84 に投影され、同様に、すべての .kml および .kmz ファイルがその座標系を使用する必要があります。 投影法でフィーチャとラスター セルを正確に配置できるようにするには、場合によっては地理座標系変換環境を指定する必要があります。 または、[投影変換 (Project)] ツールを使用し、KML への変換前に、有効な変換を使って入力レイヤーを WGS84 に再投影します。

  • アタッチメントのある入力フィーチャは、出力 .kmz ファイルに格納されます。 .kmz ファイル内のアタッチメントについては、次の条件に注意してください。

    • アタッチメントにより、出力ファイルのサイズは大幅に増加します。
    • KML クライアントで .kml ファイルを使用する場合、アタッチメントは KML ポップアップから利用できます。
    • アタッチメントを除外するには、ツールを実行する前に「アタッチメントの保持」環境設定を無効化します。
    • すべての KML クライアントがアタッチメントの表示を等しくサポートしているわけではありません。 一部の KML クライアント アプリケーションは、画像や PDF などのアタッチメントをより強力にサポートしています。

    出力が .kml ファイルの場合、アタッチメントは含まれません。

  • タイル出力を作成するには、[レイヤーの出力スケール] および [出力画像サイズ (ピクセル)] パラメーターを一緒に使用します。 たとえば、7000 x 5000 ピクセルの画像で、[出力画像サイズ (ピクセル)] パラメーターの値が 1000 ピクセルの場合、出力画像は 7 x 5 または 35 のサブイメージで構成されます。 [レイヤーの出力スケール] パラメーターの値が 1 の場合、各サブイメージは 1000 x 1000 ピクセルになります。 [レイヤーの出力スケール] パラメーターの値が 10 の場合、各サブイメージは 100 x 100 ピクセルになります。

  • フィールド ドメインの説明を転送環境がオンの場合、ドメインの説明が出力に転送されます。

パラメーター

ラベル説明データ タイプ
入力レイヤー

KML 形式に変換されるフィーチャ レイヤーまたはラスター レイヤー、あるいはグループ レイヤー。

Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File
出力ファイル (KML または KMZ)

出力 .kml ファイルまたは .kmz ファイル。 出力ファイルは、拡張子として .kmz を使用してアーカイブまたは圧縮ファイルを生成するか、.kml を使用して基本的な KML 形式ファイルを生成します。 出力 .kmz ファイルがデフォルトです。

出力 .kmz ファイルは、ラスター レイヤー、シンボルおよびその他のレイヤー プロパティ、アタッチメント、その他の高度なフィーチャをサポートします。 出力 .kml ファイルは、基本的な KML のシンボルおよびプロパティを使用します。

File; Workspace; KML Layer
レイヤーの出力スケール
(オプション)

出力ファイルの縮尺。 ラスター レイヤーの場合は、0 を設定してタイル化していない出力画像を作成することができます。 1 以上の値にすると、ラスターの出力解像度が決まります。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Double
単一コンポジット画像の作成
(オプション)

出力を単一コンポジット画像にするかどうかを指定します。 出力 .kmz ファイルがグラウンド オーバーレイ画像またはラスターをサポートしていないため、このパラメーターは、出力 KML に .kml ファイルを指定した場合のみ使用されます。

  • オン - 出力は、ソース レイヤーのラスター フィーチャまたはベクター フィーチャを表す、単一コンポジット画像となります。 ラスターは GroundOverlay としてテレイン上にドレープされます。 出力ファイルのサイズを縮小する場合に、このオプションを使用します。 このオプションを使用すると、.kml ファイルのフィーチャやレイヤーを個別に選択できません。 出力 .kmz ファイルのみが画像をサポートします。
  • オフにする - 入力レイヤーにベクター フィーチャがある場合、KML ベクターとして保持されます。
Boolean
範囲
(オプション)

変換されるレイヤーの地理範囲。 この範囲内のフィーチャまたはラスター セルのみが出力 KML に出力されます。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。 このオプションは、アクティブなマップが存在する場合にのみ使用できます。
  • [範囲の描画] Draw Extent - 範囲は、マップまたはシーンに描画された四角形に基づきます。 このオプションは、プロジェクト ジオデータベースにフィーチャクラスを作成し、レイヤーをマップに追加します。 フィーチャクラスの座標系はマップと同じです。
    注意:

    このオプションは、[環境] ダイアログ ボックスでは使用できません。 範囲データ タイプを使用するツール パラメーターまたはツール ダイアログ ボックスの [環境] タブからのみ使用できます。

    注意:

    編集タブで編集を有効/無効にする編集オプションがオンの場合、範囲を描画するには [編集] リボン タブで編集を有効化する必要があります。

  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 ドロップダウン リストを使用して使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用して、ベースマップを除くすべてのアクティブなマップ レイヤーを組み合わせた範囲を取得します。 このオプションは、レイヤーを含むアクティブなマップが存在する場合にのみ使用できます。

    各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]Area from Selected Features - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] Area from Selected Features[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

  • [参照] 参照 - 範囲は、既存のデータに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲の座標と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲の座標と、必要に応じて座標系をクリップボードから貼り付けます。 クリップボードの値に座標系が含まれていない場合、マップの座標系が範囲に使用されます。
    注意:

    範囲の座標は、ArcPy Extent オブジェクトと同じ書式と順序 (x-min、y-min、x-max、y-max、空間参照) を使用して、クリップボードからコピーおよびクリップボードから貼り付けられます。

  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。
  • 手動入力した座標値 - 座標値は数値であり、アクティブなマップの座標系で表示する必要があります。
    注意:

    マップで、入力された座標と異なる表示単位が使用されることがあります。 基本方向 (N、S、E、W) を使用することはできません。 南と西の座標にはマイナス値の記号を使用します。

Extent
出力画像サイズ (ピクセル)
(オプション)

[レイヤーの出力スケール] パラメーターの値が 1 以上の場合のラスター レイヤーのタイルのサイズ。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Long
出力画像の DPI
(オプション)

[単一コンポジット画像を作成] パラメーターがオンの場合の KML 出力のデバイス解像度。 このパラメーターと [出力画像サイズ (ピクセル)] パラメーターを使用して、出力画像の解像度を制御します。

このパラメーターは、ソース ラスターをリサンプリングしません。 入力ラスターについてスナップショットが取得され、単一の .png 画像として KML 出力に含まれます。

Long
フィーチャを地表に固定
(オプション)

入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されるかどうかを指定します。

  • オン - 入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されます。 入力フィーチャに Z 値がない場合、フィーチャは必ず地面に固定されます。 これがデフォルトです。
  • オフ - フィーチャの Z 値は、出力 KML に維持されます。 KML クライアント内では、フィーチャは海面を基準に描画されます。
Boolean

arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
名前説明データ タイプ
layer

KML 形式に変換されるフィーチャ レイヤーまたはラスター レイヤー、あるいはグループ レイヤー。

Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File
out_kmz_file

出力 .kml ファイルまたは .kmz ファイル。 出力ファイルは、拡張子として .kmz を使用してアーカイブまたは圧縮ファイルを生成するか、.kml を使用して基本的な KML 形式ファイルを生成します。 出力 .kmz ファイルがデフォルトです。

出力 .kmz ファイルは、ラスター レイヤー、シンボルおよびその他のレイヤー プロパティ、アタッチメント、その他の高度なフィーチャをサポートします。 出力 .kml ファイルは、基本的な KML のシンボルおよびプロパティを使用します。

File; Workspace; KML Layer
layer_output_scale
(オプション)

出力ファイルの縮尺。 ラスター レイヤーの場合は、0 を設定してタイル化していない出力画像を作成することができます。 1 以上の値にすると、ラスターの出力解像度が決まります。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Double
is_composite
(オプション)

出力を単一コンポジット画像にするかどうかを指定します。 出力 .kmz ファイルがグラウンド オーバーレイ画像またはラスターをサポートしていないため、このパラメーターは、出力 KML に .kml ファイルを指定した場合のみ使用されます。

  • COMPOSITE出力は、ソース レイヤーのラスター フィーチャまたはベクター フィーチャを表す、単一コンポジット画像となります。 ラスターは GroundOverlay としてテレイン上にドレープされます。 出力ファイルのサイズを縮小する場合に、このオプションを使用します。 このオプションを使用すると、.kml ファイルのフィーチャやレイヤーを個別に選択できません。 出力 .kmz ファイルのみが画像をサポートします。
  • NO_COMPOSITE入力にベクター フィーチャがある場合、KML ベクターとして保持されます。
Boolean
boundary_box_extent
(オプション)

変換されるレイヤーの地理範囲。 この範囲内のフィーチャまたはラスター セルのみが出力 KML に出力されます。 範囲は、次のオプションを使用して指定できます。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
image_size
(オプション)

layer_output_scale パラメーターの値が 1 以上の場合のラスター レイヤーのタイルのサイズ。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Long
dpi_of_client
(オプション)

is_composite パラメーターが COMPOSITE に設定されている場合の KML 出力のデバイス解像度。 このパラメーターと image_size パラメーターを使用して、出力画像の解像度を制御します。

このパラメーターは、ソース ラスターをリサンプリングしません。 入力ラスターについてスナップショットが取得され、単一の .png 画像として KML 出力に含まれます。

Long
ignore_zvalue
(オプション)

入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されるかどうかを指定します。

  • ABSOLUTEフィーチャの Z 値は、出力 KML に維持されます。 KML クライアント内では、フィーチャは海面を基準に描画されます。
  • CLAMPED_TO_GROUND入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されます。 入力フィーチャに Z 値がない場合、フィーチャは必ず地面に固定されます。 これがデフォルトです。
Boolean

コードのサンプル

LayerToKML の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで LayerToKML 関数を使用する方法を示しています。

import arcpy
arcpy.conversion.LayerToKML("buildings", "c:/outputKMZs/bldg.kmz")
LayerToKML の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで LayerToKML 関数を使用する方法を示しています。

# Description: The following stand-alone script demonstrates how to find 
#              all layer files in a given workspace and export each to 
#              a KML at the 1:10,000, 1:20,000, and 1:30,000 scale using
#              the LayerToKML tool.
import arcpy

arcpy.env.workspace = "C:/data"

# Set Local Variables
composite = 'NO_COMPOSITE'
pixels = 2048
dpi = 96
clamped = 'CLAMPED_TO_GROUND'

# Use the ListFiles method to identify all lyr and lyrx files in workspace
layers = arcpy.ListFiles("*.lyr*") 

if len(layers) > 0:
    for layer in layers:        
        # Strips the '.lyr(x)' part of the name and appends '.kmz'
        outKML = os.path.join(os.path.splitext(layer), ".kmz")
        for scale in range(10000, 30001, 10000):
            # Run LayerToKML
            arcpy.conversion.LayerToKML(layer, outKML, scale, composite, 
                                        '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))

関連トピック