マップ → KML(Map to KML) (3D Analyst)
サマリ
このツールは、マップ ドキュメントを、Esri ジオメトリおよびシンボルの変換を保存する KML ファイルに変換します。このファイルは ZIP 圧縮を使って圧縮され、拡張子は *.kmz になり、ArcGIS Explorer、ArcGlobe、および Google Earth などの KML クライアントで読み込むことができます。
旧バージョンでは、このツールは 3D Analyst ツールボックスにありました。
使用法
-
出力 KMZ ファイルはまだ存在しません。
-
マップに縮尺依存のレンダリング設定がある場合、適切なマップの出力スケールを選択すれば、出力 KMZ ドキュメントのサイズを縮小できます。
-
地形上にドレープされた単一のラスタ イメージを出力するには、[単一コンポジット画像を作成] オプションを使用します。
-
異なるラスタ イメージとしてそれぞれのレイヤを出力するには、[ベクタをラスタに変換] オプションを使用します。
構文
パラメータ | 説明 | データ タイプ |
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 (オプション) |
| Boolean |
is_vector_to_raster (オプション) |
| Boolean |
extent_to_export (オプション) | エクスポート対象のエリアの表示範囲です。範囲矩形は、「右上がり」の形態で WGS84 座標系のスペース区切りの文字列として指定する必要があります。 | Extent |
image_size (オプション) |
返されるイメージのピクセル単位のサイズ(オプション)。出力 KML ドキュメントにおけるあらゆるラスタの垂直および水平の解像度を定義します。 | Long |
dpi_of_client (オプション) |
出力 KML ドキュメントにおけるあらゆるラスタのデバイスの解像度を定義します。 | Long |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードでマップ → KML 関数を使用する方法を示しています。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
次の 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)