我正在查看以整数格式保存经度/纬度的系统。 它被称为Orchid跟踪软件。
我不知道如何将这些整数值转换为度/分/秒。 我首先将它除以一百万,但之后需要进行一些其他转换以获得度/分/秒
跟踪单位是否有标准可以将整数保存为长/纬,以将其转换为度/分/秒?
答案 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)和2)。
首先要弄清楚它们是如何表示的,如果是1)和2)你首先将它们转换为十进制度数。 (例如48123456 => 48.123456)。 你知道经度在[-180.0,180.0]范围内,纬度在[-90.0,90]
然后将十进制度数(DEG)转换为度数分钟秒数(DMS)很简单只需查看维基或njzk2的答案。
但要注意我不确定他的答案是否处理了特殊情况,当舍入错误导致第二个59.999999变为60.0 = 0时的情况,在这种情况下分钟必须递增。