タグ: 逆ジオコーディング を抽出しています。
Total: 3

久しぶりの逆ジオコーディング研究 (Yahoo! と Google)

ブログ | 2010/9/9 01:26
Yahoo! と GoogleのAPIで比較するサイトを作ってみた。
http://lab.9wash.com/rg/

  • どちらも進化してた。
  • Yahoo!も住所文字列が区切れてた。
  • Googleは、幹線道路上でもかなり住所を拾えるようになったけれど、必ずでもない。
  • Yahoo!は、jsonpでも取れる。Googleは、jsonまで。
  • Googleは、世界標準を指向しているので、日本の住所を拾うのにあれこれソースが長くなる。海外は強いけれど。(上記サイトで、住所の下に登場するJSONというリンクをクリックすると、返ってくる配列が見られます。)
  • Googleの方は、何番地何号まで出るところもある。
▼追記 2010/9/10 00:34
やっぱり、Yahoo!のリバースジオコーダは、住所が細かくないので、区切れてないローカルサーチのままいくことにする。

ローカルサーチの結果も追加
http://lab.9wash.com/rg/

丁目以下の数字は、別フィールドにしたくなってきた。大変だけど。

Google Geo Developers Blog: Geocoding... in Reverse!

ブックマーク | 2008/10/26 16:43
http://googlegeodevelopers.blogspot.com/2008/10/...
道路上だと道路名が返ってきてすばらしいけれど、都道府県や市区町村が返ってこないから、いまいちでもある。なやましい。
郵便番号が返ってくる場所はなんだろう。
▼追記 2008/10/28 00:48
Yahoo!ローカルサーチの方が、少し精度はよさそう。
Googleで完結させたくはあるのだけれど。

PostgreSQL,PostGISを入れて、ReFITSの逆ジオコーディング配布プログラムを導入してみる。

ブログ | 2008/8/29 19:09
OSX Tigerにて。

1) PostgreSQLとPostGISはパッケージでインストール
http://www.kyngchaos.com/wiki/software:postgres
・PostgreSQL 8.3.3-1 [34.1 MB]
・PostGIS 1.3.3-1 [1.5 MB]
上記ページの指示どおりPostGISには、「GEOS 3 and PROJ」なるフレームワークが必要。
http://www.kyngchaos.com/wiki/software:framework...
・GEOS framework v3.0.0-2 [2.8 MB]
・PROJ framework v4.6.0-1 [3.7 MB]
それぞれインストール。(PostGISが最後)

2) データとPHPプログラムを下記から申し込んで、ダウンロードする
逆ジオコーディングサービス 配布サイト http://www.aginfo.jp/rg/index.html

3) なんとなくphpPgAdminをいれておきます。
http://futuremix.org/2004/05/phppgadmin
を参照にしながら、
http://phppgadmin.sourceforge.net/
でダウンロード。

3) Terminalで作業
webminでユーザーpostgresのパスワードを不要にでもしてみる。

su postgres  (ユーザーpostgresになる)
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
(なんとなく起動)

ReFITSからダウンロードしたデータ
rg-data-2007 > README.txt を読みながら
cd /usr/local/pgsql/bin
./createdb ksjdistrict -E UTF-8
./createlang plpgsql ksjdistrict
./psql ksjdistrict -f /usr/local/pgsql/share/lwpostgis.sql
./psql ksjdistrict -f /usr/local/pgsql/share/spatial_ref_sys.sql

基礎がないのでやたら躓くが、webminやらphpPgAdminやらで様子を見ながら、どうにか進める。

で、次にダウンロードしたデータを読み込む。
rg-data-2007は、/Users/Shared/rg-data-2007 にでもおいておく。(ユーザーpostgresで動いているため、デスクトップとかではアクセスできない)
cd /Users/Shared/rg-data-2007
/usr/local/pgsql/bin/psql ksjdistrict -f mncpl/createtable.sql
/usr/local/pgsql/bin/psql ksjdistrict -f mncpl/data_raw.sql (数分かかる)
/usr/local/pgsql/bin/psql ksjdistrict -f ref/createtable.sql
/usr/local/pgsql/bin/psql ksjdistrict -f ref/data_ref.sql (数十分かかる)
/usr/local/pgsql/bin/psql ksjdistrict -f ref/additionalinfo.sql

バキュームる(意味は知らない)
/usr/local/pgsql/bin/vacuumdb ksjdistrict

wwwでアクセスできるようにする
cd /usr/local/pgsql/bin
./createuser www
./psql ksjdistrict -c "GRANT SELECT ON TABLE g_raw TO www"
./psql ksjdistrict -c "GRANT SELECT ON TABLE g_ref TO www"
./psql ksjdistrict -c "GRANT SELECT ON TABLE t_refcnt TO www"
./psql ksjdistrict -c "GRANT SELECT ON TABLE spatial_ref_sys TO www"

ローカル内の違うマシン(192.xxx.xxx.xxx)からアクセスしたい。というか、サブマシンにpostgreSQLをインストールしたので、メインのWEBサーバーマシンからアクセスできるようにする。
設定ファイルを編集。(postgresql.confとpg_hba.conf)

CotEditorで編集したいので(viとかよく知らない)、
kuwaにする
sudo chown kuwa /usr/local/pgsql/data

/usr/local/pgsql/data/pg_hba.confに、下記を追加。
host    all         all         192.xxx.xxx.xxx/32          trust
/usr/local/pgsql/data/postgresql.confに、下記を追加。
listen_addresses = 'localhost,192.xxx.xxx.xxx'

postgresに戻す
sudo chown postgres /usr/local/pgsql/data

/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data (なんとなく-iをつけてもう一度起動。ちなみに終了の方法などはわからない。)

ファイアウォールを設定しているなら、ポート5432を開けとく。

PHPファイル
phpsub-dbinfo.php
define('CONNECTION_KSJ', 'dbname=ksjdistrict host=192.xxx.xxx.xxx');

で、なんとなく動いた。
http://api.rottel.net/rg/read

前のと比べると、速くて、境界につよい。
http://api.rottel.net/addr/read

あとは、市区町村合併対応として、住所DBを編集できるようにしておしまいの予定。
▼追記 2008/8/30 19:53
新潟修正するのに、一日かかった・・・。
結構遡る必要がありそうだ。
PostgreSQLとかPostGISの勉強になっていいとも言えるけど大変かも。
▼追記 2008/9/1 01:20
浜松は修正済みだった。

位置参照情報ダウンロードサービスの、座標データがずいぶん増えてるようだ。DBを見ると1500万ポイントを超えてる。ただ、座標の重複がとても多い。削除すると720万くらいまでは縮小できた。
http://nlftp.mlit.go.jp/cgi-bin/isj/dls/_choose_...

最新版データを見ると、新潟も修正されてるようだ。

どうやって追加されていく情報を更新していくかはめんどくさいところだが、逆ジオコーディングはきっとGoogleがAPIを出してくれるに違いないから、ほどほどにしとく。
前 | 1 | 次

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close