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

サマリー

フィーチャまたはラスター レイヤーを、Esri ジオメトリおよびシンボルの変換を保存する KML ファイルに変換します。 このファイルは ZIP 圧縮を使用して圧縮され、拡張子は *.kmz になり、ArcGIS EarthArcGlobe、および Google Earth などの KML クライアントで読み込むことができます。

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

使用法

  • 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 ドキュメントなどのアタッチメントをより強力にサポートしています。

  • タイル出力を作成するには、[レイヤーの出力スケール] および [出力画像サイズ (ピクセル)] パラメーターを一緒に使用します。 たとえば、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
出力ファイル

出力 KML ファイル。 このファイルは圧縮され、拡張子は *.kmz になります。 ArcGIS EarthArcGlobe、および Google Earth を含むあらゆる KML クライアントを使用してファイルを読み取ることができます。

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

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

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

出力を単一コンポジット画像にするかどうかを指定します。 レイヤーがラスターである場合、このパラメーターにはいずれのオプションも選択できます。いずれの場合も表示は同一になります。

  • オン - 出力 KML ファイルは、ソース レイヤーのラスター フィーチャまたはベクター フィーチャを表す、単一コンポジット画像となります。 ラスターは KML GroundOverlay として地形上にドレープされます。 出力 KMZ ファイルのサイズを縮小する場合に、このオプションを使用します。 このオプションを使用すると、KML のフィーチャやレイヤーを個別に選択できなくなります。
  • オフ - レイヤーにベクター フィーチャがある場合、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

出力 KML ファイル。 このファイルは圧縮され、拡張子は *.kmz になります。 ArcGIS EarthArcGlobe、および Google Earth を含むあらゆる KML クライアントを使用してファイルを読み取ることができます。

File
layer_output_scale
(オプション)

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

Double
is_composite
(オプション)

出力を単一コンポジット画像にするかどうかを指定します。 レイヤーがラスターである場合、このパラメーターにはいずれのオプションも選択できます。いずれの場合も表示は同一になります。

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

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

  • 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

# "buildings" represents a layer in your map
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):
            # Execute LayerToKML
            arcpy.conversion.LayerToKML(layer, outKML, scale, composite, 
                                        '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック