タグ

2010年10月19日のブックマーク (4件)

  • MySQL TIPS 3 空間情報(geometry)を使って経度・緯度の検索を高速化する - イノベートな非日常

    以下のようなピタゴラスの定理を使った指定した経度緯度に最も近いデータを取得するSQLは結構ありがちですが、CPU負荷が高く効率も悪いのでMySQLに標準搭載となった空間情報(geometry)を使ってみることにします。 SELECT * FROM loc ORDER BY power(abs(latitude - 緯度 ), 2) + power(abs(longitude - 緯度 ), 2) LIMIT 1 MySQLの空間情報(geometry)機能はPostGIS(Postgresカスタマイズ)に比べると貧弱なので、その為の工夫を行います。例えばここのとおりのままだと逆にSQLが遅くなります。 まずは、テーブル定義から 通常のテーブル CREATE TABLE IF NOT EXISTS `loc` ( `loc_id` int(11) NOT NULL auto_incremen

    MySQL TIPS 3 空間情報(geometry)を使って経度・緯度の検索を高速化する - イノベートな非日常
  • ここギコ!: MySQL4.1以降での空間情報の扱い方

    Posted by nene2001 at 01:25 / Tag(Edit): mysql spatial / 2 Comments: Post / View / 1 TrackBack / Google Maps Web2.0ワークショップで講演するのに、ただでさえ一人だけ素人でまともな講演できるか不安なのに、勉強せずに今の知識だけではいかんだろうということで、今までほったらかしてきたMySQL4.1以降の空間情報利用法を勉強。 といっても、こちらに4.1の日語マニュアルあるので全然苦労なしだが。 ただ動作確認は5.1でやっているので、英語版5.1マニュアルとの照らし合わせはやってますけど。一応。 PostGISとの比較で書くと、PostGISの場合、PostgreSQL体とは別のプラグインであるせいか、位置情報カラムのついたテーブルはいっぺんにはできない。 例え

  • シリウスラボ(Geo Platform API)

    位置情報連動モバイル版 Twitter 「ついついツイッター」 携帯電話からついつい Twitter を使うことのできるサービスです。位置情報対応の携帯電話を使って、発言場所を投稿することができます。 詳細 位置情報ブックマークサービス 「エリアブックマーク」 気に入りのスポット情報をブックマークできるサービスです。 ケータイのGPSやエリア名等からお店やスポット情報を検索し、みつけたお店やスポットをブックマークすることができます。 詳細 位置情報連動写真共有サービス 「モバshot」 モバイルタウンショット、略してモバshot!です。 GPS情報つきの写真をアップロードすることで、その場所に対しての写真を共有できるサービスです。 詳細

  • MySQLで指定した緯度経度から半径nメートル内検索っぽいのを実現するSQL - 243 inari

    MySQL4.1以降で空間情報を扱う機能が使えるけど、指定した緯度経度から半径nメートル以内の検索が出来ないのが難点です。 かなり大雑把なやり方で半径nメートル検索のやり方を考えてみました。 まず最初に緯度経度の情報を持ったテーブルを作成。 CREATE TABLE `geotable` ( `id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR(255) NOT NULL, `geom` POINT NOT NULL, SPATIAL INDEX(geom) ) ENGINE = MYISAM ; 続いてデータを挿入。 INSERT INTO `geotable` (`name`, `geom`) VALUES ('上野駅', GeomFromText('POINT(139.777254 35.713768)')

    MySQLで指定した緯度経度から半径nメートル内検索っぽいのを実現するSQL - 243 inari