GoogleMapのインポートに使うKMZ/KML/CSVファイルの仕様

全国版 サウナマップ

ちょっと前に全国版サウナマップを公開しました。
で、作ったはいいけど、今後はメンテナンスも含めていろいろとバージョンアップを考えなくてはなりません。

GoogleMAPのマイマップを作るための最新のファイルの形式についてまとまっているサイトがなかなか見つからないので、2018年1月8日時点の備忘録として残します。


GoogleMAPへのインポートは、以下のファイル形式が利用できる。
CSV
TSV
KML
KMZ
GPX
XLSX
Google スプレッドシート
Google ドライブまたは Google フォトに保存された写真
KML(KMZ を zip 解凍したファイル)の最大サイズは 5 MB
KMZ含む、その他のファイルの最大サイズは 40 MB

■GoogleMap マイマップインポート仕様 KMLファイルについて
KMLファイルは、三次元地理空間情報の表示の管理などを目的とした情報をXMLで記述したファイル。
GoogleMapからエクスポートする場合は、KMLファイルかKMZファイルのいずれかとなる。

・KMLファイル(Max5MB)
マイマップがインポートするのは、KMLファイル内にある最初の 10 件のレイヤと、2,000 件の対象物のみ。

KMLファイルはテキストエディタで開くことができる。
文字コードは「UTF-8」。

記述方法は
整理番号,場所の名前,説明,経度,緯度,標高
2,サウナ北欧,,141.905265,43.491793,0
の順番となる。
「説明」はMAXで全角4,000文字まで。

KMLフォーマット内のタグはXHTML基準?
改行は<br>
リンクは特別な記述なし。URLのみ記載すればOK。
(ABC WebSiteにリンク)というような記載は不要。
<strong>,<b>などの装飾系は使えない模様。

この「テストサウナマップ」のkmlファイルの中身は

みたいな感じかな。

手動でのKML編集はGoogle Fusion Tables http://www.google.com/fusiontables/ がいいらしい。
KMLをインポートして各種編集が可能。

「Googleマップ KML/CSV相互変換」http://tool.stabucky.com/gmap_kml2csv.htm
も便利で参考になる。

・KMZファイル(Max40MB)
KMZファイルはメインのKMLファイルとアイコンなどをZIPにまとめたもの。
“doc.kmz”の拡張子である “kzm” を “zip” に変更するとZIPの圧縮ファイルとして展開できる。
ZIPの中には、doc.kmlファイルと”images”などのフォルダの中にpngなどが入る。

詳しい情報はGoogleの”KML(Keyhole Markup Language)“に記載がある。

■GoogleMap マイマップインポート仕様 CSVファイルについて
KMLファイルは作るのがちょっと大変なので、CSVファイルを使うともっと容易にインポートができる。
GoogleMap以外のシステムの連携&インポートをするならCSVを使ったほうが良いと思われる。

CSVの作り方はわりと簡単。
フォーマットはあまり決まっていなく、以下のような感じでOK。

施設名,住所,電話番号,定休日,サウナ温度,水風呂温度,サウナイキタイ
サウナ・センター大泉,東京都台東区下谷2-4-7,03-3876-0016,年中無休,90度,12~16度,https://sauna-ikitai.com/saunas/1706
天空のアジト マルシンスパ,東京都渋谷区笹塚1-58-6,03-3376-5225,年中無休,90度,18度,https://sauna-ikitai.com/saunas/1873
スカイスパYOKOHAMA,神奈川県横浜市西区高島2-19-12,045-461-1126,年中無休,85度,16度,https://sauna-ikitai.com/saunas/2215
武蔵小山温泉 清水湯,東京都品川区小山3-9-1,03-3781-0575,月曜日,90度,20度,https://sauna-ikitai.com/saunas/2009


・1行目は項目。項目は任意で、わりと自由に設定できる。
・2行目以降は各データ。列の名前は64文字以下にする必要があり、特殊文字”<>{}|は使用できない。
・インポートできるのは2,000件まで。

CSVのサンプルは以下の通り。
CSV


CSVファイルをインポートするときに、GoogleMap上で「目印を配置する列の選択」の操作をする。
「地図上に目印を配置する場所を示す列(住所や緯度/経度のペアなど)をファイルから指定してください。すべての列がインポートされます。」
ということで、今回は「住所」を指定する。

次に「マーカーのタイトルとして使用する列」を選択する。
「目印のタイトルとして使用するデータの列(場所やユーザーの名前など)を選択してください。」
ということで、今回は「施設名」を選択する。

インポートが終わったら、アイコンを「均一スタイル」に設定し、ラベルを「施設名」にする。
アイコンはあらかじめインポートしてあった、温泉マークを選択。

サンプルとして作った「テストサウナ」マップ。

運用がまだ決まっていませんが、ちょっとずつ試行錯誤してみましょう。