KML を GeoPackage(GPKG)に変換
Google Earth や マイマップ の KML・KMZ ファイルを、QGIS や ArcGIS Pro 用の1つの GeoPackage(.gpkg)に変換します。KML の各フォルダーがレイヤーになり、ポイント、ライン、ポリゴンが混在するフォルダーはタイプごとのレイヤーに分かれます。ExtendedData の列は名前を省略せずにフィールドになります。処理はブラウザー内で行われ、アップロードされません。
うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。
要点
- 入力: KML (.kml)。出力: GeoPackage (.gpkg)。
- ファイルはアップロードされません。処理はお使いのブラウザー内、ご自身の端末で行われます。
- ファイルサイズ: 固定の上限はありません。非常に大きなファイルは端末のメモリーによって制限されます。
- 最新のブラウザー(Chrome、Edge、Firefox、Safari)が必要です。パソコン、タブレット、スマートフォンで使え、インストールは不要です。
- 無料、登録不要です。
KML を GeoPackage に変換する理由
Google Earth、マイマップ、多くの現地調査アプリは KML や KMZ でデータを共有しますが、KML は表示のための形式です。型付きのフィールドも空間インデックスもなく、あらゆる種類の図形が1つのファイルに混在します。QGIS や ArcGIS Pro でデータを編集、スタイル設定、分析するなら、GeoPackage に移すほうが適しています。GeoPackage は多くのレイヤーを収められる1つの SQLite ファイルで、長いフィールド名や特殊文字もそのまま保持でき、QGIS の標準形式でもあります。このページは、QGIS の土台でもあるオープンソースのライブラリ GDAL を使って KML・KMZ をブラウザー内で開き、各フォルダーをジオメトリタイプ別に分けた GeoPackage のレイヤーとして書き出します。マイマップ の列とプレイスマークの色もフィールドになります。シェープファイルと違ってフィールド名の10文字制限はなく、まとめて管理しなければならない付属ファイルもありません。KML がお使いのコンピューターの外に出ることはありません。
KML を GeoPackage に変換する方法
- .kml または .kmz ファイルをボックスにドロップするか、クリックして選択します。複数のファイルをまとめてドロップすることもできます。
- 地図でプレイスマークを確認します。必要なら UTM ゾーンなどの投影座標系を指定します。
- 「GeoPackage に変換」をクリックし、.gpkg を QGIS や ArcGIS Pro で開きます。
変換で変わること
フォルダーとジオメトリタイプごとに1レイヤー
KML のフォルダーにはピン、パス、ポリゴンを混在させられますが、QGIS や ArcGIS Pro でスタイルを設定したり編集したりしやすいのは、ジオメトリタイプが1つだけのレイヤーです。タイプが1つだけのフォルダーは、フォルダー名の付いた1つのレイヤーになります。タイプが混在するフォルダーは、同じ .gpkg 内の Folder_points、Folder_lines、Folder_polygons になります。分割されたレイヤーはステータス行に表示されます。
ExtendedData、説明、色はフィールドになる
マイマップ の列は名前を省略せずにテキストフィールドになり、QGIS や ArcGIS の型付き SchemaData フィールドは整数・小数の型を保ちます。ArcGIS から書き出した KML では、代わりに各説明の中にフィールド名と値の HTML の表があることがよくあります。その表の各行がそれぞれフィールドになります。各プレイスマークのアイコン、線、塗りつぶしの色は、line_width、line_opac、fill_opac とともに icon_color、line_color、fill_color(#rrggbb)のフィールドとして残り、データ定義のシンボル設定に使えます。
座標系
KML は常に WGS84 の経度・緯度なので、初期設定ではレイヤーは EPSG:4326 で保存されます。長さや面積をメートルで測りたい場合は、UTM ゾーンなどの投影座標系を選んでください。すべてのレイヤーが再投影され、GeoPackage には新しい座標系が記録されます。
トラック、高度、オーバーレイ
Google Earth の GPS トラック(gx:Track)はラインになり、高度は Z 値として保持されます。スキャンした地図など、KMZ 内の画像オーバーレイはベクターの GeoPackage には入れられないため、ワールドファイルと .prj 付きの画像として隣に書き出され、QGIS で地図上に配置されます。アイコン、ラベル、ネットワークリンクは変換されません。
ファイル形式について
KML
KML(Keyhole Markup Language)は Google Earth や Google マイマップで使われる XML 形式で、2008 年から OGC 標準にもなっています。 ジオメトリのほか、スタイル、アイコン、フォルダー、HTML の説明文も保持できます。
- 常に WGS84 の経度・緯度で、高度は省略できます。
- フォルダーでプレイスマークをまとめ、変換時には各フォルダーを個別のレイヤーにできます。
- スタイル(色、線の太さ、アイコン)は KML と Google Earth に固有のものです。
GeoPackage
GeoPackage は 2014 年に策定された、SQLite をベースにした OGC のオープン標準です。QGIS の標準形式で、 複数のレイヤー、任意の座標系、長いフィールド名を1つのファイルに収められます。
- 1つのファイルに、複数のベクターレイヤーやテーブル、ラスタータイルを入れられます。
- シェープファイルと違い、フィールド名に10文字の制限がありません。
- 各レイヤーの座標系をファイル内に保存するため、別の .prj は不要です。
- シェープファイルの .shp や .dbf と違い、レイヤーごとの 2 GB のサイズ制限がありません。
よくある質問
KML はアップロードされますか?
いいえ。GDAL が WebAssembly としてブラウザー内で動作し、GeoPackage はお使いのコンピューター上で書き出されます。
ArcGIS Pro で GeoPackage を開けますか?
はい。ArcGIS Pro は GeoPackage を直接読み込んで編集できます。カタログ ウィンドウで .gpkg を追加し、レイヤーを地図にドラッグしてください。QGIS では、.gpkg をレイヤーパネルにドラッグし、必要なレイヤーを選びます。
シェープファイルではなく GeoPackage を使う理由は?
GeoPackage は5つではなく1つのファイルで、すべてのレイヤーをまとめて保持し、10文字を超えるフィールド名や254文字を超えるテキストもそのまま残せます。æ、ü、é などの文字も文字コードのファイルなしで保存できます。取引先や古いソフトでシェープファイルが必要な場合は、KML をシェープファイルに変換するツールをお使いください。
GeoPackage を KML に戻せますか?
QGIS で .gpkg を開き、Export → Save Features As で KML を選びます。ウェブ地図用に GeoPackage から GeoJSON を作るなら、GeoPackage を GeoJSON に変換するツールをお使いください。