うさみ日記

東京都日野市からまいりました宇佐見直人です。

住所から緯度経度を大量に取得する話。google spreadsheetとgoogle apps scriptでズバーン!といこう。


1.新しいスプレッドシートを作る
 Google Sheets: Free Online Spreadsheets for Personal Use
 を開いて右下のプラスボタンをクリックして、新しいシートを作る

2.メニュー欄の「ツール」→「スクリプトエディタ」をクリックして以下を記入

function getLocation(address) {
var requestUrl = "https://maps.googleapis.com/maps/api/geocode/json?address=" + address; // Google Geocoding API
var result = JSON.parse( UrlFetchApp.fetch(requestUrl) );
if ( result['status'] === 'ZERO_RESULTS' ) { return 'No Result.' }
var location = result['results'][0]['geometry']['location'];
return [ [ location['lat'] , location['lng'] ] ];
}

JSONですね。
Why Japanese people!!

3.スプレッドシートに値と式を記入!
 スプレッドシートのA列に、緯度経度を取得したい住所をコピペして
 B1には

=getLocation(A1)

 と記入。

 するとどうでしょう。
 B1とC1のセルに緯度と経度が自動的にドーンと表示されます!
 なんということでしょう!
 なんと素晴らしいことでしょう!

上記の手順で、緯度経度の取得ができます。

エラーになった住所も、再度トライすると緯度経度取得できたりするので、
要チェックです。


もっと詳しい話はこの辺の本を読んで解決するか
ぐぐってください。

精度どうなの?という話

数千件やって数十件しかチェックしてないけど、
その範囲ではかなり正確に取れてました
(建物名と住所がある元データから確認した。)

google maps apiを使ったよそのサービスよりも
正確に取れてると思う。

しかもapiを使ってるサービスは件数の上限がありがちだけど、
これは繰り返しやると何千件でも取得できる。
(とはいえやり過ぎるとなんかあるかもしれないけど)

出典元

【GAS】住所から緯度経度を取得する - Qiita
この記事が出展元です。
QiitaというサイトのOUIEAさんというアカウント。
神です。

なんというか、
いままでもっと不便なツールを使ってたので、
これはほんとうに助かりました。
QIITAすごい。
そしてこの方すごいです。

パクリかうさみこの野郎!
と言われそうですが、
オリジナルをわかりやすい手順に落としてみたので、
かんべんしてください。

もちろん、元記事冒頭の

たまに、大量な住所情報から緯度経度が欲しかったりしますよね…
え、しない?

に対してはもう両手をあげてするするするする!っつったよ。

どうでもいい話

「あれ?緯度経度ってどっちがどっちだっけ?
 35とかのほうが緯度?軽度?
 139とかのほうが緯度?軽度?」
と思ったら、
細川たかしさんの「北緯50度」という歌を歌いましょう。

涙、黒髪、えりあし、おくれ毛、
小指、くちびる、思えばつらい
波はデッキの上から落ちる
北緯50度 カムチャッカ沖だ

ああ!そうそう、
北緯50度で北方領土くらいで、
東京あたりは35度くらいだったわ!
と、思い出しましょう。



■PC関係だとこんな記事が読まれてます
プリンタのジョブを消す。「印刷ジョブが消せない!」「プリンタが削除できない!」と言う時の対処方法。 - うさみ日記
卓上名札あるいはセミナー用席札のテンプレートをパワーポイント用に作った - うさみ日記
「Internet Explorerは動作を停止しました」の対策、一通りのまとめ。 - うさみ日記

■このブログではこんな記事が読まれています
いじりやすい人になんでいじりやすいのか聞いてみたけどよくわかんなかったので考えてみた。 - うさみ日記
豚丼定食(豚丼、根菜のみそ汁、水菜のシーザーサラダっぽいサラダ)。おてがるレシピ。 - うさみ日記
英語の勉強をLang-8で始めてみた話。 - うさみ日記