2

这里的虚拟问题。我正在开发一个获取位置感知信息的应用程序。我通过以下方式获取位置坐标: lat=+aaa.bb.cc.dd&lon=+aaa.bb.cc.dd&datum=wgs84

如何将这些坐标转换为单点的标准纬度经度。现在看起来好像客户端正在请求 IP 地址查找。

4

2 回答 2

3
wgs84 = '123.12.34.56'
deg, minute, second, fraction = wgs84.split(/\./).map(&:to_i)      # Ruby 1.9
deg, minute, second, fraction = wgs84.split(/\./).map {|x| x.to_i} # Ruby 1.8
deg += minute / 60.0 + second / 3600.0 + fraction / 360000.0
puts deg    # => 123.20970370370371

获取其中包含 wgs84 坐标的字符串,将其拆分为句点,将结果从 text 转换'34'为 numeric 34,然后进行必要的除法以将分钟、秒和秒的小数部分转换为添加到纬度的浮点调整 (或经度)。

于 2010-01-26T17:49:58.510 回答
1

受到@Myrddin 几乎同意他犯了一个小错误的鼓舞,我发布了一个答案,公然试图收集代表。

我怀疑

123.12.34.56

应解释为 123d12m34.56s 并转换为十进制度,如下所示:

123+12/60+34.56/3600
于 2010-01-26T19:15:36.867 回答