【发布时间】:2012-06-04 21:24:16
【问题描述】:
我有一个数据库,其中包含十进制形式的每个邮政编码的地理坐标(例如 5099755、928690)
我想根据这些值进行区域搜索,但在我找到的公式中,我应该将 Lat 和 Lon 值作为 Double 传递。
如何将这些“十进制”值转换为“双”值?
【问题讨论】:
标签: java geocoding latitude-longitude
我有一个数据库,其中包含十进制形式的每个邮政编码的地理坐标(例如 5099755、928690)
我想根据这些值进行区域搜索,但在我找到的公式中,我应该将 Lat 和 Lon 值作为 Double 传递。
如何将这些“十进制”值转换为“双”值?
【问题讨论】:
标签: java geocoding latitude-longitude
如果 GeoPoints 是 GeoCoordinates 变量
双纬度 = GeoPoints.getLattitude();或双纬度 = GeoPoints.getLattitudeE6; 双 lon = GeoPoints.getLongitude();或双纬度 = GeoPoints.getLongitudeE6;
【讨论】:
我认为我们需要知道您的数字所在的坐标系 - 它们看起来可能是 UTM(通用横向墨卡托),但如果是这样,还应该有一个“区域”参数(例如 55H)。 This document 描述了如何从 UTM 转换为 DMS(并为各种地理基准提供参数),还提供了 Javascript,您应该能够很容易地将其转换为 Java。
另外,看看这个stackoverflow post,它讨论了可以进行坐标系转换的java包。
再一次,也许您的代码希望数据完全符合它们已经采用的格式,在这种情况下,您需要做的就是将小数转换为双精度数。
【讨论】: