質問: PostgreSQLで緯度・経度を扱う場合、数値の型はdecimal(numeric)型かdouble precision型か、どちらが良いのでしょうか? numericは計算が遅いと聞き、可能であれば早いほうが良いので、double precision型を考えています。しかし、numeric以外では計算に誤差がある?のような話があり、またdouble precision型は速度がどうとかいったデータも見つからず、どちらを選ぶべきか迷っています。 緯度経度とも、小数点以下6桁、上3桁あれば十分なので、15桁精度?と言われているdouble precision型を採用ようか考えているのですが、いろいろ緯度経度について語っているwebサイトを見るとどこもdecimal型を使っており、不思議です。 double precision型を使った場合のデメリットについて、decimal型との比較で教えていただきたいです。 よろしくお願いします。 参考 PostgreSQLのデータ型とその挙動のまとめ(数値型) PostgreSQL文書 --追記-- postgisでGeometry型は使っていますが、それとは別に緯度経度のデータを持ちたく、質問しております。
回答: うーん、精度だけでいったら、今回の要件の範囲内であれば問題ないのでしょうか。。 (http://kenpg2.seesaa.net/article/408606227.html)[http://kenpg2.seesaa.net/article/408606227.html] 速度の面はよくわからないので、自分で検証なりを行う必要があるのですかね。 頑張ります --追記-- MySQLの話にはなりますが、 MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由 MySQLに緯度経度を保存する際の、カラム型の選び方 以上から、double型を使ってみようと思います。