GeoJSONからGoogle KMLへのコンバーター
GeoJSONベクターをGoogle KMLに変換することで、軽量のJSON座標配列がGoogle EarthおよびGoogle Maps向けに調整された構造化XMLドキュメントに翻訳されます。
フォーマットの比較と技術仕様
| 仕様 | GEOJSON | KML |
|---|---|---|
| MIMEタイプ | application/geo+json | application/vnd.google-earth.kml+xml |
| タイプ | geographic vector JSON | geographic XML notation |
| 圧縮 | none (JSON text) | XML text (KMZ when ZIP compressed) |
| 標準仕様 | IETF RFC 7946 | OGC KML 2.3 |
| マジックバイトヘッダー | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) |
フォーマットの概要と用途
地理的ベクターデータは、Web開発者やJavaScriptマッピングライブラリが自然に処理するため、GeoJSONを使用してキャプチャおよび共有されることがよくあります。ただし、Google EarthやレガシーなエンタープライズグローブアプリケーションなどのデスクトップGISソフトウェアでは、一般にKMLとして知られているKeyhole Markup Languageが必要です。これらのフォーマットを翻訳することで、フィールドリサーチ担当者や地図作成者は、カスタムスクリプトを記述することなく、Webでスクレイピングされた境界ポリゴン、ドローンのテレメトリポイント、および自治体の資産ルートを仮想地球儀内で表示できるようになります。 GeoJSONからKMLへのデータの移行は、オープンソースのWeb APIと消費者向けのマッピングツールとの間のギャップも埋めます。多くの都市計画担当者は、GeoJSONファイルを出力するLeafletまたはMapboxライブラリを使用してデータを収集します。ステークホルダーが3Dデスクトップ環境でそれらの正確なレイヤーを確認したい場合、ジオメトリタグ、スタイリング属性、およびメタデータプロパティをXMLノードに変換することで、アイコン、線の太さ、塗りつぶし色などの視覚要素が正しくレンダリングされるようになります。
技術仕様とコーデックの内訳
GeoJSONはapplication/geo+json MIMEタイプを使用し、プレーンテキストのJavaScript Object Notation内で地理的ポイント、ライン、ポリゴンを表します。バイナリマジックバイトは含まれず、代わりに標準のASCIIまたはUTF-8の括弧と「type」:「FeatureCollection」などのキーと値のペアに依存しています。逆に、Google KMLはapplication/vnd.google-earth.kml+xml MIME typeを利用し、<Placemark>、<Point>、<Polygon>などのXMLタグ内に空間特徴を構造化します。どちらのフォーマットもテキストレベルでネイティブに非可逆圧縮を使用しませんが、KMLファイルを標準のDEFLATE圧縮を使用してKMZアーカイブに圧縮し、重いベクターデータとローカル画像アイコンをまとめてバンドルすることができます。
OSとブラウザの互換性
両方のフォーマットは、Windows、macOS、Linux、iOS、Androidを含む最新のオペレーティングシステムでスムーズに読み込まれます。最新のWebブラウザは、標準のJavaScriptエンジンを使用してGeoJSON文字列をネイティブに解析しますが、Google KMLには、専用のパーサーや、Google Earth Proなどの専用のデスクトップ地球儀ソフトウェアが必要です。モバイルブラウザは、ヘルパーアプリケーションやサーバー側の事前レンダリングなしに、生のKMLファイルを直接表示することはできません。
💡 役立つ情報
何千もの複雑なポリゴンを含む大規模なデータセットを変換する場合は、KMLにエクスポートする前に、ソースのGeoJSONをより小さな地域ファイルに分割して、消費者向けマッピングアプリケーションでのメモリクラッシュを防ぎます。
フォーマットの比較と技術仕様
標準的な5メガバイトのGeoJSONベクターファイルは、1 Gbpsファイバー接続で約0.05秒、標準的な5Gモバイルネットワークで約0.4秒、通常の4G LTE接続で約1秒で転送されます。
よくある質問
品質を落とさずにGeoJSONをGoogle KMLに変換するにはどうすればよいですか?
両方のフォーマットが正確な数値の緯度と経度の値を使用してベクター座標を格納するため、この変換は厳密にロスレスです。ターゲットソフトウェアが非標準の属性を異なる方法で読み取る場合、カスタムスタイリングプロパティの手動マッピングが必要になる場合がありますが、翻訳プロセスでは座標の精度を変更せずにGeoJSONキーを対応するKML XML要素にマップします。
GeoJSONとGoogle KMLの違いは何ですか?
GeoJSONは、JSON構文に基づいて構築された軽量のテキストフォーマットであり、WebマッピングAPIやJavaScript処理用に特別に設計されています。Google KMLは、Google Earth用に設計されたXMLベースの言語であり、3D高度クランプ、カスタムカメラ視点、ネストされたフォルダー階層、埋め込みアイコンの組み込みサポートを提供します。