タグ

Geometryに関するauh2o4のブックマーク (4)

  • MySQLのgeometry型を扱う・・・geometryって何?

    今作りはじめているサービスで位置情報を扱うことになった。 geometry型を扱うらしいんだけど、MySQLはinsertとselectくらいしかやったことのないズブ素人なので一つ一つ潰しながら勉強していきます。 今回の目的はある位置から最も近い距離のデータを取得するというもの。 参考にしたサイトは http://blog.asial.co.jp/473 このサイトにたどり着いたとき 「よっしゃそのまんまのがあるじゃーん。コピペコピペ。」 と思ったのだが、やはり理解しないとエラーばかり出て使えずorz というわけで下記の分を一つ一つ見ていきます。 2点間の距離の近い順に5件取得する。(ここではアシアルの緯度経度から近い順) mysql> SELECT -> id, name, X(latlng) as lng, Y(latlng) as lat, zoom, -> GLength(Geom

  • Google MapsとMySQLの連携

    こんにちは、アシアルの中川です。 Google Mapsに表示する情報をMySQLのgeometry型で扱う方法を試してみました。 Google Mapsのある地点にマーカーを表示したりすることがある場合、 緯度・経度の情報で地点に表示させることができますが、 データベースにこの情報を保存する場合、lat(float), lng(float)とそれぞれカラムに保存する方法もあるのですが、この方法では各データの位置の関係が非常に扱いにくくなります。 Google Mapsで表示されている範囲内のデータのみ取得したい場合や、 ある地点から近い順に取得する場合などに面倒なことになります。 そこで、MySQL4.1以降で用意されている空間情報を扱う機能の「geometry」型を使用します。 「MySQL 4.1 リファレンスマニュアル :: 10 MySQL における空間情報の機能(日語)」 「

    Google MapsとMySQLの連携
  • 一日一歩 : CakePHPでGeometry型を使ってみたよ。

    2010年09月07日23:39 カテゴリ開発CakePHP CakePHPでGeometry型を使ってみたよ。 おひさしぶりです。 前回更新から、ずいぶん時間が経ってしまいました。 今回のネタはタイトルの通りです。 プログラミング関係のことなので、興味ない人はスルーしてください。 Geometry型って何?というのは以下をご覧ください。 http://dev.mysql.com/doc/refman/5.1/ja/spatial-extensions.html 私は、GoogleMapsとかに表示するコンテンツに関して、座標やポリラインを格納するために使いたいと思っています。 今回、座標データを格納したいカラム名を'latlng'とし、型にはGeometryを使用しました。 テーブルの作成方法はおまかせするとして、問題はデータの格納をどうするかです。 通常は、モデルのsaveメソッドを使

  • 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)を使って経度・緯度の検索を高速化する - イノベートな非日常
  • 1