KMZ を SHP(シェープファイル)に変換

Google Earth の KMZ を展開し、中の KML を .prj と .cpg 付きの ArcGIS Pro や QGIS 用シェープファイルに一度で変換します。ブラウザー内で処理され、アップロードされません。ポイント、ライン、ポリゴンと各フォルダーは別々のシェープファイルになり、フィールド名は10文字に短縮、色はフィールドと .qml スタイルで残ります。アイコンは除外、スキャン地図は位置情報付き画像になります。

うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。

要点

KMZ をシェープファイルに変換する理由

KMZ は Google Earth Pro の標準の保存形式で、官公庁、公共事業者、建設コンサルタントなども地図データを KMZ で配布しています。KMZ は KML を zip で圧縮したもので、アイコンや写真が同梱されていることもよくありますが、ArcGIS Pro や古い GIS ソフトではシェープファイルが求められます。通常は KMZ を解凍し、中の doc.kml を探してから、改めて変換する必要があります。この変換ツールはそれを一度に行います。KMZ をメモリ上で開き、中のすべての KML ファイルを読み込んで、ArcGIS Pro、QGIS、AutoCAD Map 3D にそのまま追加できるシェープファイルを書き出します。処理はすべて、QGIS も使っているライブラリー GDAL によってブラウザー内で行われるため、ファイルがアップロードされることはありません。

KMZ をシェープファイルに変換する方法

  1. .kmz ファイルをボックスにドロップするか、クリックして選択します。
  2. 地図上のプレイスマークを確認し、メートル単位が必要な場合は「出力の座標系」に UTM ゾーンなどの座標系を指定します。
  3. 「シェープファイルに変換」をクリックし、シェープファイルを含む .zip をダウンロードします。

変換で変わること

先に解凍する必要はない

KMZ はメモリ上で展開されます。メインの doc.kml とアーカイブ内のほかのすべての KML ファイルが読み込まれるため、データを複数の KML ファイルに分けた KMZ からも、そろったシェープファイル一式が得られます。中身はただの KML テキストなのに拡張子が .kmz になっているファイルを保存するソフトもありますが、このページはそれを検出し、KML として読み込みます。

ポイント、ライン、ポリゴンは分けられる

KML にはあらゆる種類のプレイスマークを混在させられますが、シェープファイルに入れられるジオメトリの種類は1つだけです。そのため、種類ごと、KML のフォルダーごとに1つのシェープファイルが作られ、たとえば Wells_points.shp と Pipes_lines.shp が1つの .zip にまとめられます。どのフォルダーにも入っていないプレイスマークは、それだけで1つのレイヤーになります。

アイコンは含まれず、オーバーレイは画像になる

KMZ に同梱されたアイコンや写真は地理的なフィーチャーではないため、シェープファイルには含まれません。写真を表示する説明文は HTML のテキストとして残り、254 文字で切り詰められます。グラウンドオーバーレイとして配置されたスキャン地図やドローン写真は、そのまま zip にコピーされ、それぞれに WGS84 のワールドファイル(.jgw または .pgw)、.prj、.aux.xml が付くため、QGIS や ArcGIS ではシェープファイルの下の正しい位置に表示されます。回転したオーバーレイは回転を保ちます。四隅を自由に指定したオーバーレイ(gx:LatLonQuad)は除外され、ページにその旨が表示されます。

色はフィールドと QGIS スタイルになる

シェープファイルは色を保存できないため、各プレイスマークのアイコン、線、塗りつぶしの色は、line_width、line_opac、fill_opac とともに icon_color、line_color、fill_color(#rrggbb)のフィールドとして書き出されます。各シェープファイルの横に .qml ファイルがあるため、QGIS ではレイヤーを追加した時点で各プレイスマークがそれぞれの色で表示されます。ArcGIS ではこれらのフィールドをシンボル設定に使えます。

フィールド名、説明文、座標

フィールド名は10文字に短縮されるため、「Description」は「Descriptio」になります。正確には10バイトまでで、日本語は UTF-8 で1文字3バイトなので3文字までになります(文字の途中では切りません)。254文字を超えるテキストは切り捨てられます。マイマップの ExtendedData はフィールドになり、ArcGIS が説明文に書き込む HTML の表は1行ごとに1つのフィールドに分けられます。KML は常に WGS84 なので、投影座標系を選ばない限り、シェープファイルには EPSG:4326 の .prj が付きます。テキストは UTF-8 で保存され、.cpg ファイルも付きます。

ファイル形式について

KMZ

KMZ は KML ファイルを zip で圧縮した形式で、アイコンや画像が一緒に入っていることもよくあります。 Google Earth は標準で KMZ として保存するため、Google Earth からエクスポートすると多くの場合この形式になります。

  • zip 内のメインファイルは、たいてい doc.kml です。
  • KMZ 内の画像やアイコンは地理データではないため、GeoJSON やシェープファイルなどに変換するときは含まれません。

Shapefile

Esri シェープファイルは、GIS で最も広く使われているベクター形式です。「シェープファイル」は実際には同じ名前のファイルの集まりで、 .shp にジオメトリ、.shx にインデックス、.dbf に属性テーブルが入り、任意の .prj に座標系、.cpg に文字コードが入ります。

  • 少なくとも .shp、.shx、.dbf が必要です。まとめて選択するか、1つの .zip にしてください。
  • フィールド名は10文字まで、テキスト値は254文字までです。
  • 1つのシェープファイルに入れられるジオメトリタイプは1種類だけです(ポイント、ライン、ポリゴンのいずれか)。
  • .prj ファイルがないと、座標系が不明になります。

よくある質問

zip にはどのファイルが入っていますか?

シェープファイルごとに、.shp(ジオメトリ)、.shx(インデックス)、.dbf(属性)、.prj(座標系)、.cpg(文字コード)が入っており、プレイスマークに色がある場合は .qml スタイルも付きます。まとめて保管してください。

変換結果は ArcGIS Pro で開けますか?

はい。ダウンロードしたファイルを展開して、.shp ファイルを追加してください。ArcGIS Pro には KMZ を読み込める KML To Layer ツールもありますが、保存先はジオデータベースになります。このページでは、誰にでもそのまま渡せる通常のシェープファイルが得られます。

Google Earth の高度は残りますか?

はい。高度付きの座標は、3D のシェープファイル(PointZ、PolylineZ、PolygonZ)として書き出されます。ただし、高さが地面からのものか海面からのものかは、シェープファイルには保存できません。

KMZ はアップロードされますか?

いいえ。KMZ の展開と変換はブラウザーが行い、お使いのコンピューターの外には何も送られません。上限はブラウザーのメモリで決まり、通常は 200 MB 程度までのファイルなら問題ありません。