【Map/Tips】住所で位置を検索すると位置がずれる。そんな時に便利なGeocoding.jp【Google Maps】

位置がずれてる!!

公園プロジェクトをやっていて、とても困ったのが、300以上ある公園の住所はわかっているんですが、それをGoogle マイマップに読み込んで位置を特定しようとすると、そこに公園がない!ってことでした。

例えば、寺子屋公園 小平市小川町一丁目936番地5 っていうのがあります。これを素直にGoogle マイマップに読み込んで住所で、場所を特定すると、こんなにずれてます。

なぜずれるのかは、不明ですが、番地や枝番までは、あまり正確に検索できなそうです。

原因をいろいろ検索してみたけど、そもそも住所はエリアを示すので、住所の代表点を示していたり、Google検索は枝番をはしょったりしてしまうようです。

正確な位置にピンをうつには、Map上で修正するしかなさそうです。

簡単な場所特定

実は、Google Mapにも登録されているので、これ、Google mapで素直に検索すると、出てきます。

こういう所は、ある程度探せるのですが、例えば、上水公園で検索すると

Google Mapにも登録されているので、検索できますね。

ってこれ小金井じゃん!(笑)

という風になります。

こういう時は、場所の名前と、「小平市」とか住所のヒントを与えてあげると、「上水公園 小平市」といれると、このように出てきます。(ちょっと違うんだけどね)

「上水公園 たかの台」だと、多機能トイレが検索されます(笑)

面白いですよね。って そこではないのですが・・・

やっぱり緯度経度がいる!

Google マイマップにデータを変えて読み込んだりしようとすると、位置情報が、住所でやると毎回 Map上で修正しなければならないということになって面倒です。

それには緯度経度がいるんですが、緯度経度って、地図系などによっていろいろあるんですよね。

GISのための測地成果、測地系、楕円体、投影座標系、EPSGコードのまとめ - 自然環境保全のための周辺技術
(2018.3.22追記) JGD2011のEPSGコードを追加しました。GISを利用する際に、最初にして最大の壁である測地系やら投影座標系についてまとめました。 測地成果 測地系 楕円体 投影座標系 EPSGコード 測地成果2011 JGD2011 GRS80楕円体 緯度経度 6668 UTM座標系 6688〜669...
Google Maps APIで緯度経度を元にプロットしたマーカーの位置がずれる(測地系変換)
某社のAPIから取得した物件データの緯度経度を元にGoogle Map上にプロットするだけの簡単なお仕事……と思っていたら物件が川のど真ん中に浮かんでおります。 完全にズレテーラ。 物件データに記録されている緯度経度がおそらく「日本測地系」いうやつなんだろうなと思いつつ、一応確認しておこうかとサポートに連絡した...

GISでは昔からこれがあって、めんどくさい。それとこのGoogleが何を使っているのかとか、考えたくないですし。。

で、とても便利なWebサービスを見つけました。

Geocoding.jpというサイトです。

Geocoding - 住所から緯度経度を検索

これも、上のGoogle mapの検索と同様に、例えば、花5第3児童公園 小平市 で検索すると、緯度: 35.732665 経度: 139.509857 とGoogleマップで使っている緯度経度をちゃんと返してくれます。

こちらは、API(WebのGet Postという方法と同じ使い方で、データだけもらう方法)もあって、XMLで返してくれます。Google全体に言えることですが、文字コードはUTF-8にする必要があります

これを、APIで叩くと、(cURLとかのコマンドでうったり、Chromeなら、Restletなどを使うと便利)

>curl GET http://www.geocoding.jp/api/?q=花5第3児童公園 小平市
そうすると、こういうのが、かえってきます。
HTTP/1.1 200 OK
date: Wed, 17 Jan 2018 02:47:49 GMT
via: 1.0 localhost (squid/3.1.23)
x-cache-lookup: MISS from DCMV-KPXY04:8080
server: Apache
vary: Accept-Encoding,User-Agent
x-cache: MISS from DCMV-KPXY04
content-type: text/xml; charset=utf-8
connection: close

<?xml version="1.0" encoding="UTF-8" ?> 
<result> 
 <version>1.2</version> 
 <address>花5第3児童公園 小平市</address> 
 <coordinate> 
  <lat>35.732665</lat> <lng>139.509857</lng> 
  <lat_dms>35,43,57.592</lat_dms> 
  <lng_dms>139,30,35.483</lng_dms> 
 </coordinate> 
 <open_location_code>8Q7XPGM5+3W</open_location_code> 
 <url>http://www.geocoding.jp/?q=%E8%8A%B1%EF%BC%95%E7%AC%AC%EF%BC%93%E5%85%90%E7%AB%A5%E5%85%AC%E5%9C%92%E3%80%80%E5%B0%8F%E5%B9%B3%E5%B8%82</url> 
 <needs_to_verify>no</needs_to_verify> 
 <google_maps>花5第3児童公園 小平市</google_maps> 
</result>

この中に、ちゃんと緯度経度の情報が入っていますね。

<lat>35.732665</lat> <lng>139.509857</lng>

しょっとScript書いてもある程度できますね。

ちなみに、Google App Scriptあたりで、書いてまわしたりできるのですが、Geocoding.jpさんでは10秒に1回程度のアクセスを推奨されています。サーバー負荷にならないように、利用するのが良さそうです。

APIを使ってScriptでXMLを取る方法などもいつか紹介します。その時は、Google Map APIを直接使う方法かな?

とは、いいつつも・・全部できない

こういう風にして、ほとんどの場所が特定はできていくのですが、見つからないところもあったり、Google Mapに入ってないと出てこなかったり。。 と、まぁ、そもそもGoogle Mapに入ってたら、公園マップなんかやらなかったのですが。。

そもそも住所のピンの位置がずれているのが多くて当初困りました。

公園マップは、樋口さんが10日間かかって、のべ160㎞、チャリを漕いで、場所を特定して、それでも、未特定のところは、図書館に行って、ゼンリンの住宅地図から探したり。。いろいろな手段で特定していきました。

やっぱり人が確認することが、まだまだ必要なんですねぇ。

スポンサーリンク
スポンサーリンク




スポンサーリンク




フォローする

スポンサーリンク
スポンサーリンク




PHP Code Snippets Powered By : XYZScripts.com