マップ → KML (Map To KML) (変換)

概要

マップをジオメトリとシンボル体系を含む KML ファイルに変換します。出力ファイルは ZIP 圧縮を使用して圧縮され、拡張子は *.kmz になり、ArcGIS Earth および Google Earth などの KML クライアントで読み込むことができます。

ArcGIS での 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 に単一コンポジット画像または個別のレイヤーを含めるかどうかを指定します。

  • COMPOSITE出力 KML には、マップ内のすべてのフィーチャを単一のラスター イメージに合成する単一のイメージだけが含まれます。ラスターは KML GroundOverlay として地形上にドレープされます。このオプションは、出力 KML ファイルのサイズを縮小します。このオプションを選択すると、KML のフィーチャやレイヤーを個別に選択することができなくなります。
  • NO_COMPOSITEKML には、独立した個別レイヤーを含まれます。これがデフォルトです。レイヤーがすべてラスターとして返されるか、またはベクターとラスターの混合として返されるかは、is_vector_to_raster パラメーターによって決まります。
Boolean
is_vector_to_raster
(オプション)

マップ内の各ベクター レイヤーを独立ラスター イメージに変換するか、またはベクター レイヤーとして保存するか指定します。

is_composite パラメーターが COMPOSITE に設定されている場合、このパラメーターは無効になります。

  • VECTOR_TO_IMAGEベクター レイヤーが KML 出力の独立ラスター イメージに変換されます。通常のラスター レイヤーも KML 出力に追加されます。個々の出力 KML ラスター レイヤーは選択可能で、一部の KML クライアントでは透過表示を調整できます。
  • VECTOR_TO_VECTORベクター レイヤーが KML ベクターとして保存されます。これがデフォルトです。
Boolean
extent_to_export
(オプション)

エクスポート対象のエリアの表示範囲です。範囲矩形は、WGS84 座標系のスペース区切りの文字列として左下および右上の座標 (x-min、y-min、x-max、y-max) を指定します。

  • MAXOF - すべての入力の最大範囲が使用されます。
  • MINOF - すべての入力に共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • [レイヤー名] - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • [座標のスペース区切りの文字列] - 指定した文字列の範囲が使用されます。座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
image_size
(オプション)

[マップの出力スケール] パラメーターの値が 1 以上に設定された場合のラスター レイヤーのタイルのサイズです。このパラメーターはラスター レイヤーにのみ効果を発揮します。

Long
dpi_of_client
(オプション)

出力 KML ドキュメントにおけるあらゆるラスターのデバイスの解像度です。通常の画面解像度は 96 dpi です。マップ内のデータが高解像度をサポートしており、KML にそれが必要な場合は、値を大きくします。このパラメーターと [出力画像サイズ (ピクセル)] パラメーターを使用して、出力画像の解像度を制御します。デフォルト値は 96 です。

Long
ignore_zvalue
(オプション)

フィーチャを地表に固定するかどうかを指定します。

  • CLAMPED_TO_GROUND フィーチャの Z 値が優先され、フィーチャが地表に固定された状態で KML が作成されます。フィーチャはテレイン上にドレープされます。この設定は、Z 値を持たないフィーチャに使用されます。これがデフォルトです。
  • ABSOLUTEKML 作成時にフィーチャの Z 値を使用します。KML クライアント内では、フィーチャは海面を基準に描画されます。
Boolean

コードのサンプル

MapToKML (マップ → KML) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MapToKML_conversion("cities.mapx", "cities.kmz")
MapToKML (マップ → KML) の例 2 (スタンドアロン スクリプト)

次の 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: はい

関連トピック