住所を緯度経度に変換してみよう!
手元に住所データはあるけれど、緯度経度が分からないので地図サービス・GISツールにインポートできない。そんなとき、住所をもとに緯度経度に変換する方法をまとめました。
この記事を読んでわかること
- 住所を緯度経度に変換する方法
住所を緯度経度に変換
住所を緯度経度に変換することを、「ジオコーディング」「アドレスマッチング」などと呼びます。GoogleMapsなどの地図サービスでは、住所を入力すると当たり前のように該当地点にピンが立ちます。しかし実はその処理を行うには、裏側で住所と緯度経度の対応表を事前に用意して、住所をもとに緯度経度に変換する必要があります。そのため、ジオコーディングは日本中の住所と緯度経度の対応表を持っている者のみが行える専売特許的な技術なのです(GoogleMapsなどでは当たり前のようにこなしていますが、誰でも簡単にできる訳ではないのです)
ジオコーディングを行うためには、地図会社などが提供する有償サービスを使うか、下記に紹介する無償サービスを使う方法があります。当然のことながら有償サービスのほうが変換精度が高いため、目的に応じてどのサービスを使うか判断するとよいでしょう。
無償サービスの場合、「〇〇町1丁目2-3」の住所に対して「〇〇町1丁目」の真ん中の緯度経度が返ってくる(2-3まで特定できない)などの精度の限界がある場合が多いです。一方で有償サービスの場合、提供企業や契約プランによっては建物単位で正確に緯度経度を判定できるものもあります!
今回は「そこまで正確でなくてもよいから住所を緯度経度に変換したい」場合の変換方法をまとめます。
※今回とは異なるやり方をしたい、有償でよいから精度を上げたい、という場合は下記のジオコーディングサービス一覧の記事をご覧ください。
東大CSIS アドレスマッチングサービス
今回は、東京大学空間情報科学研究センター(略称:CSIS)が公開するアドレスマッチングサービスを使用します。正直なところ、無償とは思えないほどしっかりジオコーディングをこなしてくれます(いろんな場面で重宝しています)
先ほど「ジオコーディングは日本中の住所と緯度経度の対応表を持っている者のみが行える専売特許的な技術」と上で記載しましたが、このアドレスマッチングサービスは国が無償公開する住所データをもとにしています。国は地図会社ほど住所を正確にデータとして持っていないため、精度の点では有償サービスに劣ります。それでも国のデータ由来という点でCSISアドレスマッチングサービスへの安心感・信頼感があります。
それではさっそく、このツールを使って住所を緯度経度に変換してみましょう!
元データの準備
今回は以下のCSVファイルを例に説明をします。まずはこのような住所一覧が手元にあるとします。この住所を緯度経度に変換するのが目標です。
変換前の設定
CSISアドレスマッチングサービスにアクセスします。
https://geocode.csis.u-tokyo.ac.jp/geocode-cgi/geocode.cgi?action=start
設定画面が表示されます。細かい設定がいくつかありますが、特にこだわりがなければ下記のような設定を行いましょう。
「送信」を押すと変換が開始され、しばらく待つとCSVファイルがダウンロードされます。
変換後データの確認
ダウンロードされたCSVファイルの中身を見てみましょう。
元のCSVファイルに存在したA~C列に追加される形で、D列以降の情報が追加されたことが分かります。この場合ですとE列(fX列)が経度、F列(fY列)が緯度となります。無事、住所を緯度経度に変換することができました!
なお、それぞれの列は次の内容を意味しています。「細かいことは気にせず、緯度経度に変換できたならまずは可視化したい!」という方は読み飛ばしてください。
付随情報の意味
※より詳細な説明は公式FAQをご覧ください
- LocName
元の住所(今回の場合C列)を、このアドレスマッチングサービスの裏側にある”日本中の住所と緯度経度の対応表”と突き合せたとき、どう解釈したかを説明している列です。例えば1行目をみると「本郷7丁目3」という文字列を「本郷」の「七丁目」の「3番」の住所と理解したことが分かります。元々住所は表記ゆれが多い(本郷7丁目3番地、本郷7-3、本郷七丁目の三など、住所は人によって表記が様々)ため、処理の過程でどのように住所を解釈したかを振り返る際に使用します。 - fX列 経度
- fY列 緯度
- iConf列
類似地名が存在しているかを3~5の数値で示します。5であれば大丈夫(類似地名による緯度経度の誤変換の可能性が低い)と解釈します。 - iLvl列
どの住所階層まで緯度経度を特定できたかを-1~8までの数値で示します。数字が大きいほど該当地点を狭域に絞り込めたと解釈します。求める精度は目的によりけりですが、無償ツールであることを考えると「7:街区・地番レベルで特定成功」や「8:号・枝番レベルで特定成功」であれば十分精度が高い方だと言えるのではないでしょうか。
そもそも「住所階層」とは?という方はこちらをご覧ください。
まとめ
住所を緯度経度に変換することができました。緯度経度に変換したことで、様々な地図サービス・GISツールでの可視化が容易になります。
こちらの記事で、今回とは異なる方法で緯度経度への変換を行う方法を説明しています。
またこちらの記事で、GISツール「QGIS」で今回作成した緯度経度付きのCSVファイルを可視化する方法を説明しています。
ぜひあわせてご覧ください。
“住所を緯度経度に変換してみよう!” に対して3件のコメントがあります。
コメントは受け付けていません。