By
茜丸@昼勤務 on 9月 25th, 2009

新宿近辺を逆ジオコーディング
かなーり昔に、緯度経度から住所や郵便番号が引けたら便利だよねということで、逆ジオコーディングできるサービスを利用して、Google Earth上でそれを実現するKMLを作りました。そもそも、一般の人にとって逆ジオコーディングってなんぞや?というのが当たり前であって、自分もそうでした。通常、住所を緯度経度に変換することをジオコーディングと呼びますが、逆引きをするものを逆ジオコーディングといい、どちらも精度は同じっぽい。
ですが、中心点の住所が知りたいのだといっても、住所は緯度経度と違い、寸分違わぬほど精密にはできていないので、その区画が所属する住所が記されます。結果、スクリーンショットのような図になるわけです。
さて、そのスクリーンショットの不格好な図なのですが、今回、Google Maps APIに装備された逆ジオコーディングAPIを使いました。しかしこれ、なんだか変です。いや、もちろん出てきた結果を人間が判断すれば良いのですが、異様に使いにくい。なんでこんな仕様にしたのかというくらいに使いにくい。APIのパラメータで指定できるようにしておけばよいのにと思うほどに使いにくい。あと、名前空間が付いていますので、これも処理しておく必要があります。また、mspaintで作ったしょっぱい赤いセンターマーカーをスクリーンオーバーレイで配置していますので、邪魔だったら消してください。いちおうスクリーンオーバーレイをど真ん中に配置するおさらいを!
<ScreenOverlay>
<name>Marker</name>
<Icon>
<href>http://virtual.haru.gs/revgeo/target.gif</href>
</Icon>
<overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<rotationXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<size x="-1" y="-1" xunits="pixels" yunits="pixels"/>
</ScreenOverlay>
その検索結果なのですが、
こんな具合に出力されます。今回は面倒くさかったのでやりませんでしたが、レスポンスデータの中にAccuracyというものが含まれているのですが、これをもとにフィルタリングしてXSLT処理をしなければこうなってしまうわけです。ただまだフィルタリングの勉強をしていない自分はこれをまだ手を付けていません。よって、出力結果より人間の目でチョイスが必要です。
また、出力形式なのですが、XMLの他にJSON形式だけでなく、KML形式もあるというので喜び勇んでリクエストパラメータで
KMLを指定してみました。がっかりですよこれ・・・・なにこれ・・・という具合にKMLの様式に沿っているかのように見えて、実のところ全く沿っていません。Google本家でこれやっちゃまずいんじゃないのかなと。せっかくXSLT処理せずダイレクトにパラメータ渡して、ダイレクトにKMLを頂くという手法ができるかと思ったのですが。
とりあえず、まぁ、それなりに使える&世界レベルで住所をかなりの精度で引っ張れるということで、アップロードをしておきます。ということで他に何かないかと調べてみたら、前回と異なり結構逆ジオコーディングサービスが増えていることに気が付きました。これらを使えばもっとマシなジオコーディングKMLが作れるかも?
- Yahoo Local Search API – 一番使えそう。リクエストは1日50,000件なので、余裕です。
- Finds.jp ジオコーディングサービス – 独立行政法人農研機構によるもの。他にもAPIがあって、なかなかアグレッシブ。
- ジオどす – 京都エリア限定のジオコーディングサービス。確かに独特の地名呼称が多いですからね。
- FoneroSearch – 公衆無線LAN Foneroのスポット検索用
- GeoPoint API – シリウステクノロジー提供の無償のリバースジオコーダAPI。携帯向けに提供しているようです。
- invgeocoder – 個人が提供しているもの。前回つくったものはここのサービスを利用。現在ブログ落ちてる?
- 逆ジオコーディングAPI:試験中 – 日本国内限定のリバースジオコーダ。
- 逆ジオコーディングAPI – nanocode.jpで提供されているAPI。携帯向けのようだ。
- ktailab APIs - リバースジオコーダというより、それをベースにした携帯向けAPI提供。たくさんあります。
- クネヒト逆ジオコーディングAPI – 現在非公開だそうで。
- AlpsLab標高API – ALPS提供のターゲットの標高をしるAPI。住所もわかります。極めてシンプル!!
とまぁ、たくさん見つかりましたが、一番スマートでAPIしていて使いやすいのは、Yahooでしょう。GoogleのAPIが一番使いにくい。この手のパイオニアなので、もうちょっと洗練して欲しいところです。特にKML出力はしっかりして欲しいのと、パラメータ実装をして欲しい(日本なんていう漠然とした位置情報なんていりません)。
Download – Google Maps API Reverse Geocoding KML
逆ジオコーディングをしよう
2009年9月29日 5:59 PM
[...] 逆ジオコーディングサービス増えてた! | GE Maniacs geocoding [...]
2009年12月9日 11:01 AM
[...] 逆ジオコーディングサービス増えてた! | GE Maniacsジオどす – 京都エリア限定のジオコーディングサービス。確かに独特の地名呼称が多いですからね。 FoneroSearch – 公衆無線LAN Foneroの [...]
2010年1月11日 7:48 PM
[...] 逆ジオコーディングサービス増えてた! | GE Maniacs旅行・観光の情報はこのブログ » ホットペッパー 京都の徹底研究 より: 2009年12月9日 11:01 AM. [...] 逆ジオコーディングサービス増えて [...]
2010年1月29日 12:13 PM
[...] 逆ジオコーディングサービス増えてた! | GE ManiacsStart uga_filter: 旅行・観光の情報はこのブログ » ホットペッパー 京都の徹底研究 Start uga_in_feed Ending uga_in_feed: Start uga_track_user Start uga_get [...]
2010年3月25日 11:15 AM
[...] 逆ジオコーディングサービス増えてた! | GE ManiacsGE Maniacsジオどす – 京都エリア限定のジオコーディングサービス。確かに独特の地名呼称が多いですからね。 FoneroSearch – 公衆無線LAN [...]