FUN YOU BLOG

kmz拡張子ってどうやって開くの?への解決法

[f:id:alfe1025:20150227144908p:plain]

google map engin からマップデータを取り出して使おうと思ったときに引っかかったのでメモ

一行で解決策を述べると、拡張子をzipにすれば開く

====

google map enginでkmlをエクスポート いうボタンを押すと、なぜかkmzという形式でDLされる不思議。

[f:id:alfe1025:20150227144845p:plain]

で、このkmz、どうやって開くの? メモ帳に直接突っ込んでも妙なコードしか出てこない

調べてみると、kmz は kmlをzipで圧縮したもの だそうな ということで、mapdata.kmzをmapdata.zipに名前を変更して、適当な解凍ソフトで開くと

この通り [f:id:alfe1025:20150227144811p:plain] kmlファイルが出力されます

kmlはマークアップ言語の一種なので、使いたい部分を抜き出すようなパーサーを作れば、必要な情報だけ抜き出すことができます

xmlに変換するサービスもWeb上に転がっているので、xmlに慣れている人はそちらを使うのも良いかも

ちなみに

rubyだとこんな感じで書くと、位置と名称が取り出せます

|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 ||<