1日1tech

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

PostgreSQL で位置情報をスマートに扱う方法

PostgreSQL で位置情報を扱うのって、PostGIS とかいれるんだろうなぁと思っていたのですが、どうやらそうでもないらしい。一部引用。

データベース上の位置情報を効率的に検索する方法(PostgreSQL編)
http://neta.ywcafe.net/000597.html

まずは実験環境を用意する。PostgreSQL8.1.4をインストールし、 2次元座標データ型を持つテーブルを作成。こんな感じ。
create table geodata (id int4, geo point);
(中略)
ある矩形(長方形のこと)の範囲内にあるレコードを検索してみる。
select * from geodata where geo @ box(point(100,100),point(200,200));
ある円の範囲内にあるレコードを検索してみる。
select * from geodata where geo @ circle(point(300,300),40);
中心からの距離で結果をソートしてみる。
select * from geodata where geo @ circle(point(300,300),40) order by geo <-> point(300,300);


ええーっ、こんなにスマートなことができるのかよって感じです。
べたに緯度経度フィールドを用意してたよ... otz
スポンサーサイト
  1. 2006/09/08(金) 12:25:38|
  2. develop|
  3. トラックバック:0|
  4. コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。