レイヤー → 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 への変換および 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 ピクセルになります。

構文

LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
パラメーター説明データ タイプ
layer

KML に変換されるフィーチャ、ラスター レイヤー、またはレイヤー ファイル (*.lyrx)。

Layer
out_kmz_file

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

File
layer_output_scale
(オプション)

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

Double
is_composite
(オプション)

出力を単一コンポジット画像にするかどうかを指定します。

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

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

Extent
image_size
(オプション)

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

Long
dpi_of_client
(オプション)

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

メモ:

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

Long
ignore_zvalue
(オプション)
  • ABSOLUTEKML を作成するときにフィーチャの Z 値を使用します。KML クライアント内では、フィーチャは海面を基準に描画されます。
  • CLAMPED_TO_GROUNDフィーチャ内の Z 値を無効にし、フィーチャを地面に固定して KML を作成します。フィーチャはテレイン上にドレープされます。Z 値を持たないフィーチャでは、この設定を使用します。これがデフォルトです。
Boolean

コードのサンプル

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

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

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

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック