-
entry001126
comments
"Twitter + 位置情報" のその後。 Twitter への更新に最寄駅も付加するようにしました。 その副産物としてできたのがこれ。
こちらはサンプル程度の位置付けなので、まだ携帯端末からデータを取得するようにはなっていませんが、手入力で何とか動いています。
元になる駅の座標データを手に入れたのはここです。
説明書きに「国土数値情報データファイルは、国土の自然的、社会的、文化的諸条件を、その地理的位置とともに数値化したデジタルデータです。」とある通り、各種位置情報をダウンロードすることができます。 今回は鉄道駅の情報しか利用していませんが、文化財、公共施設なんてのも活用できると面白そう。
こうして手に入れたデータを Perl でちょろっと加工して、DB に流し込んで利用しています。
PostgreSQL は座標や閉経路などの幾何データを扱うことが出来ます。 今回はこの機能を利用して、入力した点から一番近い駅を検索しています。 ただ、本来は距離の計算は測地系を考慮して曲面上で行わなければいけません。 現在のところ PostgreSQL の距離演算子 "<=>" を使い、平面上の直交座標として緯度経度を扱ってしまっているのである程度の誤差はあるかと思います。 このあたりを本気で扱うには PostGIS を使う必要があるようです。
国内の鉄道駅だけであれば大した件数にはならないので、今はインデックスを使っていません。 もし使うような状況になったら、ここの TIPS が役に立ちそうです。
MTEntryMore
トラックバックする
http://mt.mizba.net/system/tb.cgi/1111
コメントを登録する
麦酒堂ではコメントスパムを防止するために,いただいたコメントは管理人が手動でサイトに反映しております.
反映までしばらく時間がかかりますので予めご了承ください.