概要
マップをジオメトリとシンボル体系を含む KML ファイルに変換します。出力ファイルは ZIP 圧縮を使用して圧縮され、拡張子は *.kmz になり、ArcGIS Earth および Google Earth などの KML クライアントで読み込むことができます。
使用法
KML の外観は次の 2 つの方法で制御できます。
- デフォルトでは、ポップアップ表示はレイヤーのすべての表示可能なフィールドで構成されます。レイヤーのカスタマイズされたポップアップを使用してポップアップ表示を設定することもできます。レイヤーのポップアップがカスタマイズされていない場合、KML のフィーチャをクリックすると、フィーチャ レイヤーの PopupInfo フィールドの値がポップアップ表示されます。これらの値には、数値やテキスト属性、およびテキスト フィールドに格納された HTML コードが使用できます。
- レイヤー プロパティが設定されておらず、フィーチャクラスが特定の属性 (フィールド) を持っている場合は、フィールド プロパティが KML レイヤーの作成に使用されます。この KML レイヤーは [KML → レイヤー (KML To Layer)] ツールを使用して作成されたものであり、KML の作成方法を定義した属性が含まれています。属性から KML を作成する方法の詳細については、「KML 変換」をご参照ください。
マップに縮尺依存のレイヤー表示プロパティがある場合は、適切なマップの出力縮尺を選択すれば、出力 KMZ ドキュメントのサイズを縮小できます。
すべての *.kml ファイルおよび *.kmz ファイルは、WGS84 座標系で作成されます。WGS84 にレイヤーがまだ存在しない場合に、レイヤーが正しく投影することを確認します。投影法に変換が必要な場合、[投影変換 (Project)] ツールを使用すると、KML 変換の前にデータを再投影することができます。
地形上にドレープされた単一のラスター イメージを出力するには、[単一コンポジット画像を作成] パラメーターを使用します。
異なるラスター イメージとしてそれぞれのレイヤーを出力するには、[ベクターをラスターに変換] パラメーターを使用します。
タイル出力を作成するには、[マップの出力スケール] および [出力画像サイズ (ピクセル)] パラメーターを一緒に使用します。たとえば、7000 x 5000 ピクセルの画像で、[出力画像サイズ (ピクセル)] パラメーターの値が 1000 ピクセルの場合、出力画像は 7 x 5 または 35 のサブイメージで構成されます。[マップの出力スケール] パラメーターの値を 1 に設定すると、各サブイメージは 1000 x 1000 ピクセルになります。[マップの出力スケール] パラメーターの値を 10 に設定すると、各サブイメージは 100 x 100 ピクセルになります。
構文
arcpy.conversion.MapToKML(in_map, out_kmz_file, {map_output_scale}, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client}, {ignore_zvalue})
パラメーター | 説明 | データ タイプ |
in_map | KML に変換するマップ、シーン、またはベースマップ。 | Map |
out_kmz_file | 出力 KML ファイル。このファイルは圧縮され、拡張子は .kmz になります。ArcGIS Earth および Google Earth を含むあらゆる KML クライアントを使用してファイルを読み取ることができます。 | File |
map_output_scale (オプション) | マップへ各レイヤーをエクスポートするときの縮尺。 このパラメーターは、レイヤー表示または縮尺に依存したレンダリングなどの縮尺依存において重要です。レイヤーが出力時の縮尺で表示されなければ、出力 KML に含まれません。縮尺依存がない場合、1 などの任意の値が使用できます。 ラスター レイヤーの場合は、0 を設定してタイル化していない出力画像を作成することができます。1 以上の値にすると、ラスターの出力解像度が決まります。このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。 入力できるのは数値だけです。たとえば、縮尺として「20000」は入力できますが、「1:20000」は使用できません。カンマを小数点として用いる言語では、「20,000」も使用できます。 3D ベクターとして表示されるレイヤーをエクスポートしており、is_composite パラメーターが NO_COMPOSITE に設定されている場合は、フィーチャに縮尺依存のレンダリングがない限り、任意の数値を設定できます。 | Double |
is_composite (オプション) | 出力 KML に単一コンポジット画像または個別のレイヤーを含めるかどうかを指定します。
| Boolean |
is_vector_to_raster (オプション) | マップ内の各ベクター レイヤーを独立ラスター イメージに変換するか、またはベクター レイヤーとして保存するか指定します。 is_composite パラメーターが COMPOSITE に設定されている場合、このパラメーターは無効になります。
| Boolean |
extent_to_export (オプション) | エクスポート対象のエリアの表示範囲です。範囲矩形は、WGS84 座標系のスペース区切りの文字列として左下および右上の座標 (x-min、y-min、x-max、y-max) を指定します。
| Extent |
image_size (オプション) | [マップの出力スケール] パラメーターの値が 1 以上に設定された場合のラスター レイヤーのタイルのサイズです。このパラメーターはラスター レイヤーにのみ効果を発揮します。 | Long |
dpi_of_client (オプション) | 出力 KML ドキュメントにおけるあらゆるラスターのデバイスの解像度です。通常の画面解像度は 96 dpi です。マップ内のデータが高解像度をサポートしており、KML にそれが必要な場合は、値を大きくします。このパラメーターと [出力画像サイズ (ピクセル)] パラメーターを使用して、出力画像の解像度を制御します。デフォルト値は 96 です。 | Long |
ignore_zvalue (オプション) | フィーチャを地表に固定するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで MapToKML 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MapToKML_conversion("cities.mapx", "cities.kmz")
次の Python スクリプトは、スタンドアロン スクリプトで MapToKML 関数を使用する方法を示しています。
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Use ListFiles to identify all map files in workspace
files = arcpy.ListFiles('*.mapx')
if len(files) > 0:
for map_file in files:
# Set Local Variables
composite = 'NO_COMPOSITE'
vector = 'VECTOR_TO_VECTOR'
pixels = 2048
dpi = 96
clamped = 'ABSOLUTE'
for scale in range(10000, 20000, 30000):
# Strips the '.mapx' part of the name and appends '.kmz'
outKML = map_file[:-5]+'.kmz'
#Execute MapToKML
arcpy.MapToKML_conversion(map_file, outKML, scale, composite,
vector, '', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no map files (*.mapx) in {}'.format(arcpy.env.workspace))
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい