google map engin からマップデータを取り出して使おうと思ったときに引っかかったのでメモ
一行で解決策を述べると、拡張子をzipにすれば開く
google map enginでkmlをエクスポート いうボタンを押すと、なぜかkmzという形式でDLされる不思議。
で、このkmz、どうやって開くの?
メモ帳に直接突っ込んでも妙なコードしか出てこない
調べてみると、kmz は kmlをzipで圧縮したもの だそうな
ということで、mapdata.kmzをmapdata.zipに名前を変更して、適当な解凍ソフトで開くと
この通り
kmlファイルが出力されます
kmlはマークアップ言語の一種なので、使いたい部分を抜き出すようなパーサーを作れば、必要な情報だけ抜き出すことができます
xmlに変換するサービスもWeb上に転がっているので、xmlに慣れている人はそちらを使うのも良いかも
ちなみに
rubyだとこんな感じで書くと、位置と名称が取り出せます
#utf-8 require 'rexml/document' doc = REXML::Document.new(open("nara2.kml")) doc.elements.each('kml/Document/Folder/Placemark/')do |element| if(element.elements["Point/coordinates"]) print element.elements["Point/coordinates"].text end print ", " puts element.elements["name"].text end