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

Posted

技术标签:

【中文标题】Orchid Tracking 软件 - 如何将十进制值转换为 GPS 度/分/秒【英文标题】:Orchid Tracking software - how to convert decimal values to GPS Degrees/minutes/seconds 【发布时间】:2013-06-07 08:14:55 【问题描述】:

我正在研究一个以整数格式保存经度/纬度的系统。 它被称为兰花跟踪软件。

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

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

【问题讨论】:

请发布一些示例值,如果可能,请发布它们的大致记录位置(纬度、经度) 【参考方案1】:

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

    十进制度* 1E6(也称为微度) 十进制度 * 1E7 毫角秒

1) 和 2) 经常被使用。

所以首先找出它们是如何表示的,在情况 1) 和 2) 中,您首先将它们转换为十进制度。 (例如 48123456 => 48.123456)。 您知道经度在 [-180.0 , 180.0] 范围内,纬度在 [-90.0, 90] 范围内

然后将十进制度 (DEG) 转换为度分秒 (DMS) 很简单,只需查找 wiki 或来自 njzk2 的答案。 但请注意,我不确定他的回答是否处理特殊情况时舍入错误导致秒 59.999999 变为 60.0 = 0 的情况,在这种情况下,分钟必须增加。

【讨论】:

【参考方案2】:

度/分/秒只是以 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

并应用第一个公式。

【讨论】:

嗨,这很有帮助,谢谢,我认为它使用秒数,就好像我最初取值并将其除以一百万一样,整数部分(度数)不在 90 和-90。当我使用度数的顶部公式((值/(60 * 60)))时,我得到一个大于30 000的度数。为了获得学位,我应该对这个值做些什么吗? 您能否发布已知地点的示例值,以便我们了解它是什么格式?

以上是关于Orchid Tracking 软件 - 如何将十进制值转换为 GPS 度/分/秒的主要内容,如果未能解决你的问题,请参考以下文章

Orchid现在可用于MacOS桌面端

Orchid可用于MacOS命令行

#1146 - 表 'phpmyadmin.pma__tracking' 不存在如何手动禁用?

如何开始使用 App-Tracking?

将十个列表项的元素组合到JQuery中

如何从 `yarn application -list` 访问 Tracking-URL?