タグ

geometryに関するaratafujiのブックマーク (3)

  • @ネットおたく:RE:CakePHPでGeometry型を使ってみたよ。

    CakePHPでGeometry型を使ってみたよ。 今回、座標データを格納したいカラム名を'latlng'とし、型にはGeometryを使用しました。 テーブルの作成方法はおまかせするとして、問題はデータの格納をどうするかです。 通常は、モデルのsaveメソッドを使用すると思います。 saveメソッドでうまく出来ればよかったのですが、どうしてもうまくいかなかったので、今回はモデルの実装部分でafterSaveメソッドをオーバーライドして使うことにしました。 afterSaveメソッドはデータが保存された後に呼び出されるメソッドです。 このメソッドで以下のようなクエリを発行するようにしました。 "UPDATE $tablename SET `latlng` = GeomFromText('POINT($lng $lat)') WHERE id = $id" $tablenam

    aratafuji
    aratafuji 2011/04/22
    参考にしましたー。
  • 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)を使って経度・緯度の検索を高速化する - イノベートな非日常
  • 一日一歩 : 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メソッドを使

  • 1