Googleには、良くも悪くも振り回される。というわけで、Google Earth/MapとKML/KMZファイルに関して、解決済み1件と未解決2件の話題。
イメージオーバーレイのKMZファイルがうまく開けない
たとえば、正式2万分1地形図の画像を、イメージオーバーレイとしてGoogle Earthに追加。すると、下のスクリーンショットのように、Google Earth上に正式2万分1地形図を重ね合わせることができる。
そして、この状態をKMZファイルで出力(名前を付けて場所を保存)。保存したKMZファイルを開けば、どのコンピュータでもこの状態を再現できる、はずである。しかし、KMZファイルを開くと、けっこうな頻度で次のスクリーンショットのような現象に遭遇する。
結論からいえば、イメージオーバーレイとして読み込む画像のファイル名を半角英数字にすれば(つまり、日本語を使わなければ)、この現象は回避できる。
では、なぜファイル名に日本語(2バイト文字)を使うと、上記のようなことが起きてしまうのか?KMZファイルというのは、圧縮ファイルらしい。KMZファイルの拡張子をzipにすると解凍することができ、その仕組みがわかる。解凍後のフォルダをみると、<doc.kml>というKMLドキュメントと、<files>という名前のフォルダができている。このフォルダにイメージオーバーレイの画像が格納されているのだけれど、画像のファイル名に日本語を使った場合、次のスクリーンショットのようなことになってしまうようだ。
つまり、KMZファイルに圧縮する過程で、画像のファイル名が文字化けしてしまうらしい。一方、KMLドキュメント(doc.kml)における画像ファイルへのリンクは文字化け前の正しいファイル名を参照しているので、結果的にリンク切れを起こしていることになる。画像のファイル名が半角英数字であれば、文字化けは起こりえないので、こうした現象も起きない。
なお、埼玉大学の谷謙二先生による記事「Google Earth 5.0で、4.3で作ったイメージオーバーレイが表示されない」を読んで、問題点に気づくことができました。
イメージオーバーレイのKMZファイルとGoogleマップのマイプレイス
上記のようなイメージオーバーレイを、Googleマップ上でも表示したい。というわけで、作成したKMZファイルをGoogleマップのマイプレイスにインポート。ファイルをアップロードすると、アップロード中の表示が消えアップロードが完了したようにみえるが、何も起きない。いや、正確には、接続中のくるくるが続いているのだけれど、がまんできずにこれを書いている(笑)。当然ながら、Googleマップ上にイメージオーバーレイ(正式2万分1地形図)は表示されていない。解決方法不明。
統計地図のKMLファイルとGoogleマップのマイプレイス
MANDARAで作成した統計地図は、KMLファイルとして保存し、Google Earthに読み込むことができる。下図は、茨木市の小地域別人口の統計地図。(ちなみに、こんなところに茨木市の飛び地があるんですね。知らなかった。)
このKMLファイルを、Googleマップのマイプレイスにインポートすると、以下のようなことになる。
部分的な地域(私の環境の場合、21地域)しか表示されず、左下の<次へ>をクリックすると、別の地域が表示されるという仕様(笑)。えっと、一枚の地図でみたいのですが・・・。これも、解決方法不明。
ただし、今回の検証で用いたKMLファイルは、MANDARAのバージョン8.08で作成したものなので、最新版(バージョン9.34)だと話が違うかもしれない。また、ArcGISやQGISで作成したケースも検証する必要がありそうだ。これらはまた別稿で・・・。
ちなみに、なぜGoogleマップのマイプレイスであーだこーだやってるかというと、Google Earthが使えないコンピュータ環境下でGoogle Earthを使ってできることを疑似体験させるために、マイプレイスが使えるのではないか、と考えたから。結論としては、マイプレイス、使えない・・・。