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

サマリー

フィーチャまたはラスター レイヤーを、Esri ジオメトリおよびシンボルの変換を保存する KML 形式 (.kmz または .kml ファイル) に変換します。

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

使用法

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

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

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

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

  • すべての .kml ファイルおよび .kmz ファイルは、WGS84 座標系で作成されます。 WGS84 に入力レイヤーがまだ存在しない場合に、入力レイヤーが正しく投影することを確認します。 入力の投影法に変換が必要な場合は、[投影変換 (Project)] ツールを使用して、KML 変換の前にデータを再投影します。

  • アタッチメントのある入力フィーチャは、出力 .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 形式に変換されるフィーチャ、ラスター レイヤー、またはレイヤー ファイル (.lyrx)。

Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File
出力ファイル (.kmz または .kml)

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

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

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

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

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

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

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

エクスポート対象のエリアの表示範囲です。 範囲ボックスを (WGS84 座標系で) 定義するか、範囲を定義するレイヤーまたはデータセットを選択します。

  • [デフォルト] - すべての関連する入力の最大範囲に基づく範囲とします。これがデフォルトです。
  • [現在の表示範囲] - 範囲がデータ フレームまたは表示範囲と同じになります。アクティブなマップが存在しない場合、このオプションは使用できません。
  • [以下の指定に一致] - この範囲は、指定された最小および最大範囲値に基づきます。
  • [参照] - 範囲は、既存のデータセットに基づきます。
Extent
出力画像サイズ (ピクセル)
(オプション)

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

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

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

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

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

入力フィーチャの Z 値を無効化するかどうかを指定します。

  • オン - 該当するフィーチャの Z 値が無効化され、テレイン上にドレープされます。 この設定は、Z 値を持たないフィーチャに使用されます。 これがデフォルトです。
  • オフ - 該当するフィーチャの Z 値が適用されます。 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 形式に変換されるフィーチャ、ラスター レイヤー、またはレイヤー ファイル (.lyrx)。

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

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

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

File
layer_output_scale
(オプション)

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

Double
is_composite
(オプション)

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

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

エクスポート対象のエリアの表示範囲です。 範囲矩形は、WGS84 座標系のスペース区切りの文字列として左下および右上の座標 (x-min、y-min、x-max、y-max) を指定します。

  • 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 クライアント内では、フィーチャは海面を基準に描画されます。
  • CLAMPED_TO_GROUND該当するフィーチャの Z 値が無効化され、テレイン上にドレープされます。 この設定は、Z 値を持たないフィーチャに使用されます。 これがデフォルトです。
Boolean

コードのサンプル

LayerToKML (レイヤー → KML) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.conversion.LayerToKML("buildings", "c:/outputKMZs/bldg.kmz")
LayerToKML (レイヤー → KML) の例 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))