GoogleマイマップのKMLファイルをCSVファイルに変換

GoogleマイマップからダウンロードしたKMLファイルを、CSV形式に変換するWindows用アプリを作りました。

スポンサーリンク

Googleマイマップをご存知ですか?

Googleマップは多くの方が利用していると思いますが、マイマップという結構便利な機能がGoogleにはあります。

こんな感じで、地図上にポイントを置くことができます。
googleマイマップで作成したサンプル地図
Googleマップにもそういった機能があったかと思いますが、ちょっと便利なのでもう少しマイマップの説明をしていきます。

CSVファイルをGoogleマイマップへインポート

GoogleマイマップはCSVファイルを取り込むことができます。

項目名は自由なので、↓こんな感じでエクセルで店舗リストを作成します。
CSVファイルをエクセルで作成

これをCSV形式で保存してマイマップに取り込むと、冒頭のような地図が簡単に作成できます。

位置マークを付けるにはCSVデータの中に住所を入れておく必要があります。

Googleマイマップ上でデータ編集

マイマップに取り込んだデータは一覧表示することができますし、その場で修正を加えることもできます。
googleマイマップ データ表示

どちらかというとビジネス向きの機能かもしれませんね。そのためか無料でも利用できますが、有料版のプロに比べて制限がきつめになっています。

とまあ非常に便利なのですが一つだけ困ったことが...

マイマップ上でデータの修正ができるのは良いのですが、修正を続けていくとマイマップと手元のエクセルデータに差異が蓄積されていってしまいます。

マイマップだけで利用するデータなら問題はないのですが、エクセルデータとしても必要となると修正が二度手間になります。

GoogleマイマップのデータをCSV化したい

マイマップにはデータのエクスポート機能があるのですが、KMLという形式のみです。

KMLファイルはGoogle Earthに取り込むことができるようです。

でも、エクセル形式とは言わないまでも、せめてCSV形式でないと使い勝手が悪いです。

KMLしかないので、何とかできないものかとググっては見たものの、都合の良いものは見つかりません。(KMLをCSV形式に変換してくれるWebサイトはありました)

しょうがないので、自前でKMLをCSVに変換する仕組みを考えます。

KMLはこんな形式です。
KMLファイルをテキストエディターで開いたところ

XML形式?で書かれているようです。

じゃあ何とかなるかな~と安易な気持ちで取り掛かったものの...

KMLからCSVに変換するアプリを作りました

いつも通り行き当たりばったりのクソコードですが。

いいんですコードは見えませんからね。

使い方はアプリを起動して、マイマップからダウンロードしたKMLファイルをドラッグ&ドロップするだけ。

KMLファイルをCSV 形式に変換するソフトウェア

レイヤーもタブで表示できるようにしてあります。

それぞれのタブごとにCSV出力できるようになっています。

ついでにCSVの編集ツールも付けちゃいました。エクセルでCSVを編集すると緯度,経度などの桁の多い数値だと丸められてしまうからです。このツールではすべて文字列として扱うようにしています。

※マイマップからエクスポートする時の注意点※

マイマップからエクスポートする際は、以下図のように「KMLファイルにエクスポートします」を指定してください。

KMLをエクスポートするときの設定

ダウンロード

Windows7, VB2010Expressで開発しています。
.NET Framework 4環境であれば動くと思います。
ご使用に当たっては自己責任でお願いします。
自分でも使っているのでパソコンを壊すようなことはないと思いますが。

バージョン1.2

2017/08/04追加

これまでのバージョンでは、データの変換エラーが発生すると強制終了するようになっていました。自分が使うものだからという割り切りの仕様だったのですが、あまりにも使い勝手が悪いので利用者の方からもご指摘を受けました。

そこで次のように修正したバージョンを公開します。

【変更点】
1.マイマップデータの先頭の項目(名前)に改行が入っているとエラーが発生する。
エラーにならないように改行に対応しました。

2.エラーが発生しても、エラーが起きる直前までを変換表示するようにしました。
表示された行の次の行でエラーが発生していると目星をつけることができます。

“KmlToCsvGe_12.zip” をダウンロード KmlToCsvGe_12.zip – 4574 回のダウンロード – 21 KB

バージョン1.1

2017/06/11追加

Googleマイマップの仕様変更があったようで、KMLファイルの書式が一部変わっていました。分かり得る範疇で新フォーマットに対応させました。

バージョン1.0

初期バージョン

スポンサーリンク
アドセンス(PC)
アドセンス(PC)
この記事が気に入ったら
いいね!してくれると嬉しいです
こんな記事も読まれてます
スポンサーリンク
アドセンス(PC)

『GoogleマイマップのKMLファイルをCSVファイルに変換』へのコメント

  1. 名前:桐生 投稿日:2018/03/01(木) 18:05:52 ID:35fec0c6d 返信

    はじめまして。バージョン1.2を使用してみたくダウンロードボタンを押してみたのですが、「失敗-ネットワークエラー」でダウンロードすることができませんでした。
    現在は公開されていないのでしょうか?それともこちら側の問題でしょうか?是非使用してみたいです。よろしくお願いいたします。

    • 名前:ゆうぱぱ 投稿日:2018/03/01(木) 22:10:12 ID:2945235f4 返信

      桐生さんへ

      はじめまして、ゆうぱぱです。
      先ほどテストしてみましたが、問題なくダウンロードできました。
      ブラウザを変えるなどして、もう一度お試しただけないでしょうか?
      よろしくお願いします。

      • 名前:桐生 投稿日:2018/03/02(金) 10:22:44 ID:28d242520 返信

        ゆうぱぱ様
        ご返信ありがとうございます。他のブラウザで試してみました。
        Firefox → 「安全な接続ではありません」
        IE → 「このページは表示できません」
        Chromeは最初の「ネットワークエラー」でした。
        ファイアウォールが邪魔しているようだったので無効にしましたが、やはり上手くいきませんでした。そのため、iPhone でダウンロードして、PCにメール送信しました。
        プログラムは問題ありませんでした。今後利用させていただきたいと思います。
        有用なプログラムをありがとうございました。

        • 名前:ゆうぱぱ 投稿日:2018/03/03(土) 01:13:03 ID:40bc9ea29 返信

          桐生さんへ

          いろいろお試しいただいてありがとうございます。
          その結果を見ると「プロキシサーバーではじかれているのかな?」と感じます。

          ダウンロード出来て良かったです。
          今後ともよろしくお願いします。

  2. 名前:kiriki 投稿日:2019/02/05(火) 17:13:16 ID:7b8400607 返信

    はじめまして。KMLファイルを開いたら、各地の名前の項目しか抽出されていませんでした。各地の電話や住所は抽出出来ないのでしょうか?バージョン1.2をwindows7で使用しました。宜しくお願い致します。

    • 名前:ゆうぱぱ 投稿日:2019/02/05(火) 23:47:29 ID:1e115c4b7 返信

      kirikiさんへ
      「サンプルデータからマイマップを作成→KMLでダウンロード→アプリで開く」という手順で正常動作することを確認しました。

      念のためサンプルデータを調整しました。
      サンプルデータを調整したものに入れ替えてあるので、もう一度アプリをダウンロードしてお試しください。

  3. 名前:ai 投稿日:2019/07/09(火) 21:33:45 ID:327d462ad 返信

    はじめまして。
    こちらのアプリを初めて使用させていただきました。
    kirikiさん同様各地の名前の項目しか抽出されないのですが
    googlemap 側の仕様が変わってしまったということでしょうか?
    お忙しい所申し訳ありませんがよろしくお願いいたします

    • 名前:ゆうぱぱ 投稿日:2019/07/10(水) 22:30:18 ID:2e087ad8a 返信

      aiさんへ
      以下の手順で動作確認しました。

      当ページより「KmlToCsvGe_12.zip」をダウンロード
      上記ファイルを解凍

      Googleマイマップを開き、新しい地図を地図名「テスト20197010」で作成

      解凍したファイルの中の”アダチムセン.csv”をマイマップにインポート
      マイマップにレイヤーを追加
      “ジョーシン.csv”をインポート

      --これでGoogleマイマップ上に、アダチムセンとジョーシンンの店舗が表示されます。

      「KML/KMZにエクスポート」を実施
      ・「地図全体」
      ・「KMZではなくKMLにエクスポートします。サポート...」にチェック

      上記設定でダウンロード

      “テスト20190710.kml”というファイル名でダウンロードできました。

      このkmlを当アプリで読み込みましたところ、全ての項目が表示されました。
      CSV出力でも全ての項目が出ました。

      2台のPCで(Win7Pro,Win10Pro)試しましたが、どちらも正常に動作しました。
      勤務先の業務でも当アプリを利用していますが問題は出ていません。

      kirikiさんの時もそうだったのですが、当方の環境では不具合の再現ができないため、対応方法が分からない状況です。