Orchid Tracking软件 - 如何将十进制值转换为GPS度/分/秒

时间:2013-06-07 08:14:55

标签: gps integer coordinates latitude-longitude

我正在查看以整数格式保存经度/纬度的系统。 它被称为Orchid跟踪软件。

我不知道如何将这些整数值转换为度/分/秒。 我首先将它除以一百万,但之后需要进行一些其他转换以获得度/分/秒

跟踪单位是否有标准可以将整数保存为长/纬,以将其转换为度/分/秒?

2 个答案:

答案 0 :(得分:1)

度/分/秒只是基数60中显示的秒数。

假设Orchid跟踪软件确实使用了秒数,您可以通过这种方式转换value

seconds = value mod 60
minutes = (value / 60) mod 60
degrees = (value / (60*60))

但是,如果值是百万分之一:

degrees = integer part of (value / 1000000)
minutes = integer part of (((value - degrees * 1000000) * 60) / 1000000)
seconds = integer part of (((value - degrees * 1000000 - minutes * 1000000 / 60) * 60 * 60) / 1000000)

或者,您可以将百万度转换为秒:

total_seconds = value * 60 * 60 / 1000000

并应用第一个公式。

答案 1 :(得分:1)

将纬度/经度坐标表示为整数有很多种可能性:

  1. 十进制度* 1E6(也称为微度)
  2. 十进制度* 1E7
  3. 毫秒角秒
  4. 经常使用

    1)和2)。

    首先要弄清楚它们是如何表示的,如果是1)和2)你首先将它们转换为十进制度数。 (例如48123456 => 48.123456)。 你知道经度在[-180.0,180.0]范围内,纬度在[-90.0,90]

    然后将十进制度数(DEG)转换为度数分钟秒数(DMS)很简单只需查看维基或njzk2的答案。
    但要注意我不确定他的答案是否处理了特殊情况,当舍入错误导致第二个59.999999变为60.0 = 0时的情况,在这种情况下分钟必须递增。