概要
このツールは、マップ ドキュメントを、Esri ジオメトリおよびシンボルの変換を保存する KML ファイルに変換します。 このファイルは ZIP 圧縮を使用して圧縮され、拡張子は *.kmz になり、ArcGIS Explorer、ArcGlobe、および Google Earth などの KML クライアントで読み込むことができます。
使用法
KML の外観は 2 つの方法で制御できます。
- HTML PopUp 設定、表示式や KMLSnippet のエイリアスなどのレイヤー プロパティが用いられる場合、これらは KML の作成に用いられます。
- レイヤー プロパティが設定されておらず、フィーチャクラスが特定の属性 (フィールド) を持っている場合は、フィールド プロパティが KML の作成に使用されます。 [KML → レイヤー (KML To Layer)] ツールで作成されたレイヤーには、KML の作成方法を定義する属性が含まれています。
マップに縮尺依存のレイヤー表示プロパティがある場合は、適切なマップの出力縮尺を選択すれば、出力 KMZ ドキュメントのサイズを縮小できます。
すべての KML ファイルおよび KMZ ファイルは、WGS84 座標系で作成されます。 WGS84 にレイヤーがない場合、レイヤーが正しく投影することを確認する必要があります。 投影法に変換が必要な場合、[投影変換 (Project)] ツールを使用すると、KML 変換の前にデータを再投影することができます。
地形上にドレープされた単一のラスター イメージを出力するには、[単一コンポジット画像を作成] オプションを使用します。
異なるラスター イメージとしてそれぞれのレイヤーを出力するには、[ベクターをラスターに変換] オプションを使用します。
構文
arcpy.conversion.MapToKML(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}, {ignore_zvalue})
パラメーター | 説明 | データ タイプ |
in_map_document | KML に変換するマップ ドキュメント。 | ArcMap Document |
data_frame | KML に変換するマップ ドキュメントのデータ フレーム。 | String |
out_kmz_file | 書き込み対象となる KML ファイル。 このファイルは圧縮され、拡張子は *.kmz になります。 ArcGIS Explorer、ArcGlobe、および Google Earth を含むあらゆる KML クライアントを使用してファイルを読み取ることができます。 | File |
map_output_scale (オプション) | マップへ各レイヤーをエクスポートするときの縮尺。 このパラメーターは、レイヤー表示または縮尺に依存したレンダリングなどの縮尺依存において重要です。 レイヤーがエクスポート時の縮尺で表示されなければ、そのレイヤーは作成された KML ファイルに含まれません。 縮尺依存がない場合、1 などの任意の値が使用できます。 3D ベクターとして表示されるレイヤーをエクスポートしており、is_composite パラメーターが NO_COMPOSITE に設定されている場合は、フィーチャに縮尺依存のレンダリングがない限り、任意の数値を設定できます。 入力できるのは数値だけです。たとえば、縮尺として「20000」は入力できますが、「1:20000」や「20,000」は使用できません。 | Double |
is_composite (オプション) |
| Boolean |
is_vector_to_raster (オプション) |
| Boolean |
extent_to_export (オプション) | エクスポート対象のエリアの表示範囲です。 範囲矩形は、「右上がり」の形態で WGS84 座標系のスペース区切りの文字列として指定する必要があります (xmin、ymin、xmax、ymax)。 | Extent |
image_size (オプション) | 返される画像のピクセル単位のサイズ。 出力 KML ドキュメントにおけるあらゆるラスターの垂直および水平の解像度を定義します。 このパラメーターと dpi_of_client パラメーターを使用して、出力画像の解像度を制御します。 | Long |
dpi_of_client (オプション) | 出力 KML ドキュメントにおけるあらゆるラスターのデバイスの解像度を定義します。 通常の画面解像度は 96 dpi です。 マップ内のデータが高解像度をサポートしており、KML にそれが必要な場合は、値を大きくします。 このパラメーターと [画像サイズ] パラメーターを使用して、出力画像の解像度を制御します。 | Long |
ignore_zvalue (オプション) |
| Boolean |
コードのサンプル
MapToKML の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで MapToKML 関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
MapToKML の例 2 (スタンドアロン スクリプト)
次の Python スクリプトは、スタンドアロン スクリプトで MapToKML 関数を使用する方法を示しています。
'''*********************************************************************
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)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい