Java中的地理坐标可以使用double吗?

Posted

技术标签:

【中文标题】Java中的地理坐标可以使用double吗?【英文标题】:Is double ok for geo-coordinates in Java? 【发布时间】:2014-02-14 11:15:44 【问题描述】:

您好,我想在 java 中使用地理坐标。

我已将我的 Java 变量定义为“双精度”,而我的 Postgres 数据库定义为“双精度”。

我听说浮点数的问题是 0.1 有时会导致 0.09999...

它必须存储诸如 50.081406 或 8.24481 之类的值。 这些值将从 android 设备中读取。

我需要担心浮点问题吗?

【问题讨论】:

【参考方案1】:

浮点数的问题通常与加法和减法有关,由于 2 的恭维(它们如何存储在计算机上),它们并不总是完全符合您的要求。话虽如此,双打是存储纬度/经度的好方法

另见:proper/best type for storing latitude and longitude

【讨论】:

所以只是为了存储它们,double应该可以吗? 完全!我一直都这样做。现在,由于内存问题几乎可以忽略不计,我通常更喜欢双精度数而不是浮点数

以上是关于Java中的地理坐标可以使用double吗?的主要内容,如果未能解决你的问题,请参考以下文章

地理位置 + 谷歌地图 API?

GIS中怎么将投影坐标转换成地理坐标

有啥方法可以从作为 LAT/LONG 作为 PostGIS 中的地理数据类型插入的 GPS 坐标中恢复数据?

java中两个Double型数据可以用(>,<,==,>=,<=)进行比较吗? 请详细说明

tif格式有坐标吗

从智能手机照片中提取地理坐标