分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
KMZ
画像やアイコンごと 1 ファイルにまとめられた KML です。
KMZ
KMZ はコンテナです。誰か別のものが符号化した流れを、中に収めておく外殻です。 地図のために使われます。
拡張子は .kmz、正式名称は Zipped KML です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。
Keyhole が作った形式です。 仕様は OGC KML 2.3 です。
古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。
仕様書がそのまま公開されているので、中身を推し量るのではなく文書を読んで実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。ただし「仕様が公開されている」ことと「使用料が要らない」ことは別の話です。中でコーデックを包んでいる形式では、特許のライセンスは仕様書が答えていない別の問題として残ります。
KMZ ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。
KMZ ファイルはディレクトリをまるごと保存します。名前も、フォルダーも、そのあいだの構造も。メールの添付でフォルダーの代わりが務まるのはそのためです。
Google EarthとQGISが読めますし、同じ種類のプログラムならたいてい読めます。
ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。
これを読めるブラウザーはありません。
これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。
KMZ は、開いて手を入れるために作られています。作業が続いているあいだはこの形式でファイルを持ち、完成したものが必要になるたびに、ここから書き出してください。
KMZ は普通の ZIP アーカイブで、一つの KML 文書と、その文書が参照するすべて ── カスタムの目印用アイコン、写真、地表オーバーレイの画像、ときにはモデル ── を含みます。.zip に名前を変えれば、どんなアーカイブツールでも開けます。これは裏技ではなく、この形式がそう規定されているだけです。
中の KML は慣例として doc.kml と呼ばれ、アーカイブのルートに置かれます。ほかのすべては相対パスで参照されながらその隣のフォルダーの中にあり、それがパッケージ全体を、単体の KML には決してない形で持ち運びやすくしています。
自分の機械にある画像を参照する KML は、ほかの誰の機械でも何も表示しないからです。地図がカスタムアイコンや吹き出しの中の写真、オーバーレイを使った瞬間から、そのファイルは自己完結でなくなり、共有すると欠けたパーツと、何も説明のない地図になります。
パッケージ化はこれを完全に解決します。すべてが一緒に移動し、相対パスはそのまま解決され、受け取った側は一つのファイルを開くだけです。Google Earth がまさにこの理由で既定として KMZ を選んでいて、まだ画像を一枚も持たない地図であっても、それが正しい既定です。あとで一枚追加されるからです。
KML は冗長な XML で、とくに座標のリストは非常に冗長なテキストです。ZIP 化するとたいてい大きなデータセットは五分の一に、ときには十分の一になり、それは画像を考慮する前の話です。
メールで送る、あるいはリンクの向こうに置くファイルにとってこれは重要です。編集するファイルとしては重要ではありません。展開し、KML をテキストエディタか Google Earth で作業して、また詰め直してください。どちらの向きでも何も失われません。圧縮はこの入れ物がしていることのすべてだからです。
三つの状況があります。KML は読めるが KMZ は読めないツール。これは、そうあるべきよりも多く GIS のユーティリティやウェブビューアーの間で見られます。一括編集 ── 二千個の目印の説明文を一括置換するのはテキスト操作であり、生のファイルが必要です。そして診断です。地図が何も表示しないとき、画像が実際にパッケージに入っているのか、単に参照されているだけなのかを知る必要があります。
最後のものがいちばん役に立ちます。アーカイブを開き、フォルダーの中身を見て、KML が求めているものと照らし合わせてください。欠けたアイコンやオーバーレイはすぐに見つかり、Google Earth の中からは見えない種類の問題を説明してくれます。
パッケージ化はローカルのファイルを守りますが、遠隔にあるものには何もしません。URL からオーバーレイを取ってくる KML や、ネットワークリンクでライブデータを取得する KML は、そのサーバーが存在し続けることに依存し続けます。それを元にした KMZ は、供給元がなくなれば何も表示しない数キロバイトになります。
もう一つの欠落は、説明用の吹き出しの中のフォントと書式で、これは HTML です。受け取った側が持っていないフォントで整えられた吹き出しや、ウェブ上の画像を指す吹き出しは、ほかのウェブページと同じように劣化します。地図がオフラインで、しかも永続的に機能しなければならないなら、必要なものはすべてアーカイブの中のファイルでなければなりません。
KML とそのアセットフォルダーをまとめて ZIP にし、KML をアーカイブのルートに置いて、結果を .kmz に名前変更してください。これが全工程です。特別なツールもマニフェストも要りません。
正しくしておく価値のある点が二つあります。フォルダーを囲むのではなく中身を ZIP にすること。そうしないと KML の中のすべてのパスにディレクトリの階層が一段増えて何も解決しなくなります。そして相対パスをそのままにしておくこと。KML の中の参照が、アーカイブの構造が一致すべき対象で、フォルダーの配置は見た目の問題ではありません。
Google Earth ── デスクトップでも、モバイルでも、ブラウザー版でも。Google My Maps は直接インポートでき、これが共有された地図がウェブに載る普通の道です。QGIS は分析作業のために読み込みますが、たいていの本格的な GIS ソフトウェアはまず GeoJSON やシェープファイルへの変換を求めます。
開かないのは単体のブラウザーやメールクライアントのプレビュー、一般的なファイルビューアーです。すでに Google Earth を使っていない相手に KMZ を送るのは、ファイルと説明の両方を送ることになり、サポートのやり取りになる前に知っておく価値があります。My Maps のビューへのリンクを送るほうがいいことも多いです。
| 拡張子 | .kmz |
|---|---|
| メディアタイプ | application/vnd.google-earth.kmz |
| 公開元 | Keyhole |
| 仕様 | OGC KML 2.3 |
Google Earth が本来の居場所で、デスクトップでもモバイルでもブラウザーでも使えます。ウェブに載せたいなら Google My Maps が直接インポートでき、分析作業には QGIS が読み込みます。単体のブラウザーで開けるものはありません。
KMZ は KML と、それが参照するすべてのアイコン、写真、オーバーレイ画像を含む ZIP アーカイブです。単体の KML がローカルのファイルを指していると、ほかの機械では何も表示されません。これが Google Earth が既定で KMZ を書き出す理由です。
はい ── .zip に名前を変えれば、どんなアーカイブツールでも開けます。これは回避策ではなくこの形式の定義そのもので、地図の画像が実際にパッケージの中にあるかどうかをいちばん早く確かめる方法でもあります。
KML とそのアセットフォルダーをまとめて ZIP にし、KML をアーカイブのルートに置いたまま、結果を .kmz に名前変更してください。フォルダーではなく中身を ZIP にすること。そうしないと KML の中の相対パスが解決しなくなります。
パッケージ化がカバーするのはローカルのファイルだけです。KML が URL から取ってくるもの ── 遠隔のオーバーレイ、説明の吹き出しの中の画像、ネットワークリンク ── はそのサーバーに依存し続けます。オフラインで使う地図なら、すべてのアセットをアーカイブの中に入れる必要があります。
かなり小さくなります。KML は冗長な XML で、座標のリストは非常によく圧縮されるので、大きなデータセットは画像を考慮する前の段階で日常的に五分の一以下になります。