ExcelとGoogle Mapsの相互連携


2020/08/23

少しだけアップデートしました(ほぼ3年ぶり)。

◯Windows 64bitに対応

動作確認(単体アプリケーション永続版)

Excel 2019(32bit) + Windows 10(64bit)

Excel 2013(32bit) + Windows 10(32bit)

◯不要なメニュは非表示

 

このアプリは全面改訂の予定ですので、アップデートはこのバージョンではもうないです(^^)

アプリはGoogle APIの課金制に対応するためにアクセス制限をかけています。

データ作成中に住所検索が使えなくなったり、住所がQUERY_OVER_LIMITと表示されたりするするのは、アクセス上限に引っかかった結果です。

Google Maps APIの日付は、アメリカの太平洋標準時が基準になっています。
日本の場合は16時でリセットされます。このタイミングで再度データ作成してみてください。

全面改訂後はGoogle APIの使用は廃止の予定です。

 


Exif(ジオタグ)はこちらへ移転しました
「Excel & Google Maps & StreetView」はこちらへ移転しました
TSPソルバーはこちらへ移転しました
「ExcelとGoogle Mapsでルート検索」はMy Mapsが充実したので廃止します

このExcelアプリはGoogleMapsと相互にデータをやり取りするものです。

●地図をクリックして地点データをExcelに表示。

●Excelに登録したデータ(住所、緯度・経度)をクリックして地図移動。

●Google MapsにはExcelの行を示す数字付きマーカーで表示

表示数に制限はありません

マーカーの色はExcelの文字色で表示

一部VBAをDLL化してましたが、どうも不具合が出るようなので元に戻しました。

 

保存したデータGoogle EarthやMy Maps(マイマップ)で使えます。

位置データを持った外部CSVファイルを読み込めば、その場所をGoogleMapsで表示できます。

GMapBook.xlsmのダウンロード2020/08/23 update

こんな感じ。



地図をクリックして地点データをExcelに表示

Excelをクリックして登録したデータで地図移動

登録したものでなくても、住所のセルなどに新規に入力してクリックすれば移動します。


Excelのワークシート

動作に必要なのは、1行目に「緯度・経度・標高・住所」という単語を持つ4つの列です。

順不同で、他の列が挿入されていてもかまいません。

もし存在しない場合は、地図を開く時にワーニングが出ます。

「座標列(10進)」というのは、あってもなくてもかまいません。あればそこにデータを挿入します。

「名称」、「メモ」列も任意です。ここにデータがあればKMLやCSVファイル作成時に反映されます。

メモの記述ではHTMLも可です。改行なんかが必要な場合は<br/>などをお使いください。


vba-map41

データを複数選択して表示する場合、マーカーの色は文字の色と同じになります。カテゴリー分けするような場合に使います。

文字の色が黒の場合マーカーの色は白にしています。Earthの画面が暗色系なのでそうしています。

CSVやKMLで保存するとGoogle EarthMy Maps(マイマップ)で使用できます。

KMLならグーグルマップEarthMyMaps(マイマップ)で同じ色のマーカーを使えます。

KMLもCSVもExcelのブックと同じ場所に保存されます。


データの作り方

【地図からデータを拾う場合】

地図上でクリックしてください。

その位置の緯度・経度・標高・住所がセットされます。

vba-map-excel2

こういう所をクリックしたらどうなるか…というと。

vba-map-seaclick

住所はありませんので、住所フィールドに「ZERO_RESULTS」というのが入り、 緯度・経度・標高(というか海抜)データは普通にセットされます

【ワークシートにデータを貼り付けて使う場合】

住所やランドマーク名からデータを採取します。

地図を開いておきます。

住所やランドマーク名を入力して、その行をクリックします。

vba-map-excel5

その場所に移動して、他のデータを補完します。


位置を修正する場合

緯度・経度のデータがあるなら、行をクリックすればその位置に移動します。

vba-map-excel4

赤いマーカーをドラッグして移動させます。

修正されたデータがセットされます。

vba-map-excel4-1

地図の移動は住所より緯度・経度が優先されます。マーカーのドラッグにより住所が変わるのはちょっと….という方は、

住所を一旦別列に保存しておき、修正後再度戻すようにしてください。


データの追加

通常、地図をクリックすれば、データは最後尾へ追加されていきます。

途中にデータを追加したい場合は、行を挿入してください。

地図表示時は、右クリックは使えませんので地図を閉じるか、メインメニュで挿入してください。

vba-map-excel5

地図上でクリック。

途中の空白行にデータがセットされます。

vba-map-excel6-1


データの削除

通常のExcel操作と同じです。


1行目に「緯度・経度・標高・住所」の列が見つからないか、存在しない場合

excel7

地図を開くとき、以下のようなダイアログが出ます。

列記号を入力します。

経度なら「B」といった記号ですが、列の順番が違う場合は適宜変更してください。

vba-map-excel7-1

仕様では、その列に「経度」がセットされます。


Next

改訂版

2つのアプリに分かれます。

1:地図から位置情報を取得・編集するExcelアプリ

背景地図はopemstreetmap.orgと独自タイルサーバーの2通りから取得

 

 

2:収集したデータを使って分類・分析するExcelアプリ

独自タイルサーバーと連携することでExcelで収集したデータと他のDBデータやGISモジュールと連携させることもできるようにする予定。タイルサーバーのプラットフォームはラズベリーパイやJetsonを想定。

 


 

5 Comments on ExcelとGoogle Mapsの相互連携

  1. はじめまして。
    熊本の小野と申します。
    今回、御社のGmapと言うサイトを見つけて、DLした上で使わせていただきました。
    大変素晴らしいシステムでだと思います。

    実は私は「地域マップ」と言うサイトを運営してまして、地域内の様々な店舗情報をGoogleMap上で配信したいと考えています

    。(一部運用しています)

    御社のGmap簡単に地図から座標の抽出ができるので重宝していますが、残念な事にKmlに変換ができません。
    そこで、地理院のExcelからKmlに変換するために、「地理院マップシート」(http://renkei2.gsi.go.jp/renkei/130326mapsh_gijutu/ind

    ex.html)を利用してKmlに変換しています。

    出来れば御社の「Gmap」と地理院の「地理院マップシート」を一緒にした

    ような物ができないかと模索しています。
    もし、このような事が出来るExcelフォーマットを開発して頂けるものなら、開発費用はどれくらいになるのでしょうか。
    お忙しいところ、申し訳ありませんが、よろしくお願いいたします。

    • WisteriaHillの管理人です。
      ご返事遅れてすいません。
      早速ですが、私、地理院マップシートなるものを存じませんでした。
      ので、これから参照してみて、詳細をご返事させていただきます、少々お時間くださいませ。
      なお、当サイトでは基本、地図データはkml/kmz形式で保存するようにするのが方針ですので
      ボリュームが適当なら費用を頂戴することはありません。
      ただ、これは時間がかかると判断した場合は、仕様をご提示したうえで、Lancers経由でお受けすることになるかと思います。
      どうぞよろしくお願いいたします。

      ご不明は点やご要望があれば遠慮なくおっしゃってください(^^)。

  2. はじめまして。
    高知の小松と申します。
    GoogleMapの航空写真から耕作放棄地等の分布図作成を検討しています。
    質問ですが、ExcelVBA経由でGoogleMapに多角形を描画できるでしょうか?
    やはりGISなどの導入が必要でしょうか。
    ご存知でしたら教えてほしいです。

    • WisteriaHill管理人のFです。
      可能性で言うなら、多角形でも直線・自由曲線・円でも描画可能です。
      あ、円は多角形で近似したものですが。
      ただ、カスタマイズする必要はあります。
      もしどうしても必要ということでしたら、以下のメールアドレスでお願いします。
      コメント欄では、ご返事しにくい場合もございます。

      memopainter@wisteriahill.sakura.ne.jp

      よろしくお願いします。

Leave a Reply

Your email address will not be published.


*