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

サマリー

フィーチャまたはラスター レイヤーを含むマップを KML 形式 (.kmz ファイル) に変換します。 出力 KML には、Esri フィーチャのジオメトリ、ラスター、セル、ラスター シンボル、およびその他のプロパティの変換が出力されます。

ArcGIS での KML のサポートの詳細

使用法

  • 出力 .kmz ファイルは、.kml ファイルやその他の補足ファイルを含むアーカイブ ファイルまたは .zip ファイルです。 ArcGIS Earth および Google Earth を含む多くのアプリケーションが .kmz ファイルを読み取ることができます。

  • KML の外観は次の 2 つの方法で制御できます。

    • デフォルトでは、ポップアップ表示はレイヤーのすべての表示可能なフィールドで構成されます。レイヤーのカスタマイズされたポップアップを使用してポップアップ表示を設定することもできます。レイヤーのポップアップがカスタマイズされていない場合、KML のフィーチャをクリックすると、フィーチャ レイヤーの PopupInfo フィールドの値がポップアップ表示されます。これらの値には、数値やテキスト属性、およびテキスト フィールドに格納された HTML コードが使用できます。
    • レイヤー プロパティが設定されておらず、フィーチャクラスが特定の属性 (フィールド) を持っている場合は、フィールド プロパティが KML レイヤーの作成に使用されます。この KML レイヤーは [KML → レイヤー (KML To Layer)] ツールを使用して作成されたものであり、KML の作成方法を定義した属性が含まれています。属性から KML を作成する方法の詳細については、「KML 変換」をご参照ください。

  • 入力に縮尺依存の表示プロパティがある場合は、適切な [マップの出力スケール] パラメーター値を指定して、出力 .kmz ファイルのサイズを小さくします。

  • 入力マップは WGS84 に投影され、同様に、すべての .kmz ファイルがその座標系を使用する必要があります。 投影法でフィーチャとラスター セルを正確に配置できるようにするには、場合によっては地理座標系変換環境を指定する必要があります。 または、[投影変換 (Project)] ツールを使用し、KML への変換前に、有効な変換を使ってマップのレイヤーを WGS84 に再投影します。

  • タイル出力を作成するには、[マップの出力スケール] および [出力画像サイズ (ピクセル)] パラメーターを一緒に使用します。 たとえば、7000 x 5000 ピクセルの画像で、[出力画像サイズ (ピクセル)] パラメーターの値が 1000 ピクセルの場合、出力画像は 7 x 5 または 35 のサブイメージで構成されます。 [マップの出力スケール] パラメーターの値が 1 の場合、各サブイメージは 1000 x 1000 ピクセルになります。 [マップの出力スケール] パラメーターの値が 10 の場合、各サブイメージは 100 x 100 ピクセルになります。

  • 出力 KML に凡例をスクリーン オーバーレイとして含めるには、[凡例のレイアウト ソース] パラメーターの値を指定します。 マップ内のレイアウトに「凡例エレメント」が含まれている必要があります。

    KML でスクリーン オーバーレイになるのは、凡例エレメントのみです。 各凡例は、KML データの表示時にメイン KML フォルダー以下のサブフォルダーになります。

パラメーター

ラベル説明データ タイプ
入力マップ

KML に変換されるマップ、シーン、またはベースマップ。

Map
出力ファイル (KMZ)

圧縮され、拡張子 .kmz が付いた出力 KML ファイル。

File
マップの出力スケール
(オプション)

マップの各レイヤーをエクスポートするときの縮尺。

このパラメーターは、レイヤー表示または縮尺に依存したレンダリングなどの縮尺依存において重要です。 レイヤーが出力時の縮尺で表示されなければ、出力 KML に含まれません。 縮尺依存がない場合、1 などの任意の値が使用できます。

ラスター レイヤーの場合は、0 を設定してタイル化していない出力画像を作成することができます。 1 以上の値にすると、ラスターの出力解像度が決まります。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

入力できるのは数値だけです。たとえば、縮尺として「20000」は入力できますが、「1:20000」は使用できません。 カンマを小数点として用いる言語では、「20,000」も使用できます。

3D ベクターとして表示されるレイヤーをエクスポートしており、[単一コンポジット画像を作成] パラメーターのチェックがオンになっている場合は、フィーチャに縮尺依存のレンダリングがない限り、任意の数値を設定できます。

Double
単一コンポジット画像の作成
(オプション)

出力 KML に単一コンポジット画像または個別のレイヤーを含めるかどうかを指定します。

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

マップ内の各フィーチャ レイヤーを独立ラスター イメージに変換するか、またはフィーチャとして保存するかを指定します。 [単一コンポジット画像を作成] パラメーターをオンにした場合、このパラメーターは使用されません。

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

変換されるレイヤーの地理範囲。 この範囲内のフィーチャまたはラスター セルのみが出力 KML に出力されます。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。 このオプションは、アクティブなマップが存在する場合にのみ使用できます。
  • [範囲の描画] Draw Extent - 範囲は、マップまたはシーンに描画された四角形に基づきます。 このオプションは、プロジェクト ジオデータベースにフィーチャクラスを作成し、レイヤーをマップに追加します。 フィーチャクラスの座標系はマップと同じです。
    注意:

    このオプションは、[環境] ダイアログ ボックスでは使用できません。 範囲データ タイプを使用するツール パラメーターまたはツール ダイアログ ボックスの [環境] タブからのみ使用できます。

    注意:

    編集タブで編集を有効/無効にする編集オプションがオンの場合、範囲を描画するには [編集] リボン タブで編集を有効化する必要があります。

  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 ドロップダウン リストを使用して使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用して、ベースマップを除くすべてのアクティブなマップ レイヤーを組み合わせた範囲を取得します。 このオプションは、レイヤーを含むアクティブなマップが存在する場合にのみ使用できます。

    各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]Area from Selected Features - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] Area from Selected Features[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

  • [参照] 参照 - 範囲は、既存のデータに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲の座標と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲の座標と、必要に応じて座標系をクリップボードから貼り付けます。 クリップボードの値に座標系が含まれていない場合、マップの座標系が範囲に使用されます。
    注意:

    範囲の座標は、ArcPy Extent オブジェクトと同じ書式と順序 (x-min、y-min、x-max、y-max、空間参照) を使用して、クリップボードからコピーおよびクリップボードから貼り付けられます。

  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。
  • 手動入力した座標値 - 座標値は数値であり、アクティブなマップの座標系で表示する必要があります。
    注意:

    マップで、入力された座標と異なる表示単位が使用されることがあります。 基本方向 (N、S、E、W) を使用することはできません。 南と西の座標にはマイナス値の記号を使用します。

Extent
出力画像サイズ (ピクセル)
(オプション)

[マップーの出力スケール] パラメーターの値が 1 以上の場合のラスター レイヤーのタイルのサイズ。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Long
出力画像の DPI
(オプション)

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

Long
フィーチャを地表に固定
(オプション)

入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されるかどうかを指定します。

  • オン - 入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されます。 入力フィーチャに Z 値がない場合、フィーチャは必ず地面に固定されます。 これがデフォルトです。
  • オフ - フィーチャの Z 値は、出力 KML に維持されます。 KML クライアント内では、フィーチャは海面を基準に描画されます。
Boolean
凡例レイアウト ソース
(オプション)

KML 出力でスクリーン オーバーレイとして使用される凡例エレメントを含むレイアウトの名前。

String

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}, {layout})
名前説明データ タイプ
in_map

KML に変換されるマップ、シーン、またはベースマップ。

Map
out_kmz_file

圧縮され、拡張子 .kmz が付いた出力 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_COMPOSITE出力 KML には、独立した個別レイヤーが含まれます。 これがデフォルトです。 レイヤーがすべてラスターとして返されるか、またはベクターとラスターの混合として返されるかは、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
(オプション)

変換されるレイヤーの地理範囲。 この範囲内のフィーチャまたはラスター セルのみが出力 KML に出力されます。 範囲は、次のオプションを使用して指定できます。

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

map_output_scale パラメーターの値が 1 以上の場合のラスター レイヤーのタイルのサイズ。 このパラメーターは、ラスター レイヤー以外のレイヤーには作用しません。

Long
dpi_of_client
(オプション)

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

Long
ignore_zvalue
(オプション)

入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されるかどうかを指定します。

  • ABSOLUTEフィーチャの Z 値は、出力 KML に維持されます。 KML クライアント内では、フィーチャは海面を基準に描画されます。
  • CLAMPED_TO_GROUND入力フィーチャの Z 値が無視され、すべてのフィーチャが配置されて地表面の標高に固定されます。 入力フィーチャに Z 値がない場合、フィーチャは必ず地面に固定されます。 これがデフォルトです。
Boolean
layout
(オプション)

KML 出力でスクリーン オーバーレイとして使用される凡例エレメントを含むレイアウトの名前。

String

コードのサンプル

MapToKML の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.conversion.MapToKML("C:/Maps/Cities.mapx", "C:/OutputMaps/Cities.kmz")
MapToKML の例 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'

            # Run MapToKML	
            arcpy.conversion.MapToKML(map_file, outKML, scale, composite, 
                                      vector, '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no map files (*.mapx) in {}.'.format(arcpy.env.workspace))

関連トピック