マップ → KML(Map to KML) (3D Analyst)

サマリ

このツールは、マップ ドキュメントを、Esri ジオメトリおよびシンボルの変換を保存する KML ファイルに変換します。このファイルは ZIP 圧縮を使って圧縮され、拡張子は *.kmz になり、ArcGIS Explorer、ArcGlobe、および Google Earth などの KML クライアントで読み込むことができます。

レガシレガシ:

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

使用法

構文

MapToKML_3d (in_map_document, data_frame, out_kmz_file, map_output_scale, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client})
パラメータ説明データ タイプ
in_map_document

KML に変換するマップ ドキュメント。

Feature layer
data_frame

KML に変換するマップ ドキュメントのデータ フレーム。

Data frame
out_kmz_file

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

KML file
map_output_scale

マップ ドキュメントのエクスポート時の縮尺。あらゆる縮尺依存のレンダリングに対応するため、レイヤがエクスポート時の縮尺で表示されなければ、そのレイヤは作成される KML ファイルに含まれません。マップのシンボルはこの縮尺によって制御されるため、マップに定義済みの基準縮尺がある場合、このパラメータの設定時にはそれを考慮するようにしてください。

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

さらに、3D ベクトルとして表示されるレイヤだけを含むマップをエクスポートしており、縮尺依存のレンダリングが定義されていない場合は、このパラメータはエクスポート処理に必要がなく、1 などの任意の数値に設定できます。

Double
is_composite
(オプション)
  • COMPOSITE出力 KML ファイルには、このマップ内のすべてのフィーチャから作成された単一のラスタ イメージだけが含まれます。ラスタは KML GroundOverlay として地形上にドレープされます。出力 KMZ ファイルのサイズを縮小する場合にこのオプションを選択します。このボックスをオンにすると、KML のフィーチャやレイヤを個別に選択することができなくなります。また、次のパラメータ「is_vector_to_raster」は無視されます。
  • NO_COMPOSITEレイヤは個別に KML へ返されます。レイヤがすべてラスタとして返されるか、またはベクタとラスタの混合として返されるかは、次のパラメータ「is_vector_to_raster」によって決まります。
Boolean
is_vector_to_raster
(オプション)
  • VECTOR_TO_RASTERマップ内の各ベクタ レイヤを KML 出力の別のラスタ イメージに変換します。通常のラスタ レイヤも KML 出力に追加されます。個々の出力 KML ラスタ レイヤは選択可能で、一部の KML クライアントでは透過表示を調整できます。
  • VECTOR_TO_VECTORマップ内のベクタ レイヤを KML ベクタとして保存します。
Boolean
extent_to_export
(オプション)

エクスポート対象のエリアの表示範囲です。範囲矩形は、「右上がり」の形態で 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.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
マップ → KML の例 2(スタンドアロン スクリプト)

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

'''*********************************************************************
Name: MapToKML Example
Description: This script demonstrates how to find 
             all map documents 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 MapToKML tool.
'''

# Import system modules
import arcpy

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


# Use the ListFiles method to identify all layer files in workspace
if len(arcpy.ListFiles('*.mxd')) > 0:
    for mxd in arcpy.ListFiles('*.mxd'):
        # Set Local Variables
        dataFrame = 'Layers'
        composite = 'NO_COMPOSITE'
        vector = 'VECTOR_TO_VECTOR'
        pixels = 2048
        dpi = 96
        clamped = 'ABSOLUTE'
        for scale in range(10000, 30001, 10000):
           # Strips the '.mxd' part of the name and appends '.kmz'
           outKML = mxd[:-4]+'.kmz'
           #Execute MapToKML
           arcpy.MapToKML_conversion(mxd, dataFrame, outKML, scale, 
                                   composite, vector, '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no map documents (*.mxd) in '+env.workspace)


    

環境

ライセンス情報

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

7/10/2012