概要
フィーチャまたはラスター レイヤーを、Esri ジオメトリおよびシンボルの変換を保存する KML ファイルに変換します。このファイルは ZIP 圧縮を使用して圧縮され、拡張子は *.kmz になり、ArcGIS Earth、ArcGlobe、および Google Earth などの 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 ピクセルになります。
構文
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 Earth、ArcGlobe およびGoogle Earth を含むあらゆる KML クライアントを使用して読み取ることができます。 | File |
layer_output_scale (オプション) | ラスター レイヤーの場合は、0 を設定してタイル化していない出力画像を作成することができます。1 以上の値にすると、ラスターの出力解像度が決まります。このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。 | Double |
is_composite (オプション) | 出力を単一コンポジット画像にするかどうかを指定します。レイヤーがラスターである場合、このパラメーターにはいずれのオプションも選択できます。いずれの場合も表示は同一になります。
| Boolean |
boundary_box_extent (オプション) | エクスポート対象のエリアの表示範囲です。範囲矩形を、WGS84 座標系のスペース区切りの文字列として、左下および右上の座標 (xmin、ymin、xmax、ymax) の形式で指定します。
| Extent |
image_size (オプション) | [layer_output_scale] パラメーターの値が 1 以上に設定されている場合のラスター レイヤーのタイルのサイズ。このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。 | Long |
dpi_of_client (オプション) | [is_composite] パラメーターが COMPOSITE に設定されている場合の KML 出力のデバイス解像度。このパラメーターを [image_size] パラメーターと組み合わせて使用して、出力画像の解像度を制御します。 このパラメーターには、ソース ラスターをリサンプリングする機能はありません。すべての入力ラスターについてスナップショットが取得され、単一の *.png 画像として KML 出力に含まれます。 | Long |
ignore_zvalue (オプション) | 入力フィーチャの Z 値を無効化するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで LayerToKML 関数を使用する方法を示しています。
import arcpy
# "buildings" represents a layer in your map
arcpy.LayerToKML_conversion("buildings", "c:/outputKMZs/bldg.kmz")
次の 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: はい