レイヤ → KML(Layer to KML) (3D Analyst)

サマリ

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

レガシレガシ:

旧バージョンでは、このツールは 3D Analyst ツールボックスにありました。

使用法

構文

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

KML に変換される、メモリ内のレイヤまたはディスクに保存されたレイヤ ファイル。

Feature layer
out_kmz_file

書き込み対象となる KML ファイル。このファイルは圧縮され、拡張子は *.kmz になります。ArcGIS Explorer、ArcGlobe、Google Earth などのあらゆる KML クライアントを使って読み取ることができます。

KML file
layer_output_scale

レイヤのエクスポート時の縮尺。あらゆる縮尺依存のレンダリングに対応するため、レイヤがエクスポート時の縮尺で表示されなければ、そのレイヤは作成された KML ファイルに含まれません。レイヤのシンボルはこの縮尺によって制御されます。

入力できるのは数字だけです。たとえば、縮尺として「20000」は入力できますが、「1:20000」や「20,000」は使用しないでください。

さらに、3D ベクトルとして表示されるレイヤ([単一コンポジット画像を作成] オプションを無効にしたポイント レイヤなど)をエクスポートしており、そのレイヤに縮尺依存のレンダリングが定義されていない場合は、このパラメータはエクスポートに必要がなく、1 などの任意の数値に設定できます。

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

エクスポート対象のエリアの表示範囲です。範囲矩形は、「右上がり」の形態で WGS84 座標系のスペース区切りの文字列として指定する必要があります。

Extent
image_size
(オプション)

出力 KML ドキュメントにおけるあらゆるラスタの垂直および水平の解像度を定義します。

Long
dpi_of_client
(オプション)

出力 KML ドキュメントにおけるあらゆるラスタのデバイスの解像度を定義します。

Long

コードのサンプル

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

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

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.LayerToKML_3d("bldg.lyr", "bldg.kmz", "1")
レイヤ → KML の例 2(スタンドアロン スクリプト)

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

'''*********************************************************************
Name: LayerToKML Example
Description: This 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 system modules
import arcpy
from arcpy import env

# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")

# Set environment settings
env.workspace = "C:/data"

try:
    # Use the ListFiles method to identify all layer files in workspace
    if len(arcpy.ListFiles("*.lyr")) > 0:
        for layer in arcpy.ListFiles("*.lyr"):
            # Set Local Variables
            composite = 'NO_COMPOSITE'
            pixels = 2048
            dpi = 192
            # Strips the '.lyr' part of the name and appends '.kmz'
            outKML = file[:4] + ".kmz"
            for scale in range(10000, 30001, 10000):
               #Execute LayerToKML
               arcpy.LayerToKML_conversion(layer, outKML, scale, composite, 
                                         '', pixels, dpi)
    else:
        arcpy.AddMessage('There are no layer files in '+env.workspace+'.')

except Exception as e:
    print e.message

環境

ライセンス情報

ArcView: 必須 3D Analyst
ArcEditor: 必須 3D Analyst
ArcInfo: 必須 3D Analyst

7/10/2012