質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

1回答

8671閲覧

PostgreSQLでdecimal型かdouble precision型(緯度経度を扱う場合

dwayne_johnson

総合スコア86

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

1クリップ

投稿2018/05/22 10:48

編集2018/05/22 22:42

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型は使っていますが、それとは別に緯度経度のデータを持ちたく、質問しております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/05/22 16:53

Geometry型は使わないのですか?
dwayne_johnson

2018/05/22 22:41

あ、Geometryは使っています。ですが、別に緯度経度のデータが欲しいというか。いろいろありまして。
dwayne_johnson

2018/05/22 22:57

まぁGeometryから取り出せるので、二重管理ですが。。。
guest

回答1

0

自己解決

うーん、精度だけでいったら、今回の要件の範囲内であれば問題ないのでしょうか。。
(http://kenpg2.seesaa.net/article/408606227.html)[http://kenpg2.seesaa.net/article/408606227.html]

速度の面はよくわからないので、自分で検証なりを行う必要があるのですかね。
頑張ります

--追記--
MySQLの話にはなりますが、
MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由
MySQLに緯度経度を保存する際の、カラム型の選び方
以上から、double型を使ってみようと思います。

投稿2018/05/22 22:47

編集2018/05/22 22:55
dwayne_johnson

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問