兰花跟踪软件-如何将十进制值转换为GPS度数/分/秒

兰花跟踪软件-如何将十进制值转换为GPS度数/分/秒,gps,integer,coordinates,latitude-longitude,Gps,Integer,Coordinates,Latitude Longitude,我正在研究一个以整数格式保存经度/纬度的系统。 它被称为兰花追踪软件 我不知道如何将这些整数值转换为度/分/秒。 我首先将它除以一百万,但之后需要进行一些其他转换才能得到度/分/秒 是否有一个标准的跟踪单位,它以整数形式保存Long/Lat以将其转换为度/分/秒?度/分/秒只是以60为基数显示的秒数 假设兰花追踪软件使用秒数,您可以通过以下方式转换值: seconds = value mod 60 minutes = (value / 60) mod 60 degrees = (value /

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

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


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

度/分/秒只是以60为基数显示的秒数

假设兰花追踪软件使用秒数,您可以通过以下方式转换

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

并应用第一个公式。

有许多可能将横向/纵向坐标表示为整数:

  • 十进制度数*1E6(也称为微度数)
  • 十进制度数*1E7
  • 毫角秒
  • 1) 和2)经常使用

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

    然后很容易将十进制度数(DEG)转换为度数分秒(DMS),只需查找wiki或njzk2中的答案即可。

    但请注意,我不确定他的回答是否在处理舍入错误时的特殊情况会导致秒59.9999999变为60.0=0的情况,在这种情况下,分钟必须增加。

    嗨,这是一个很大的帮助,谢谢,我认为它使用秒,就像我最初取值除以一百万,整数部分一样(度)不在90和-90之间。当我使用度的顶部公式((值/(60*60))时我得到一个大于30000的度值。我是否应该对该值做些其他操作以获得度值?您可以发布已知位置的示例值,以便我们了解它的格式吗?请发布一些示例值,如果可能的话,请列出它们的记录位置(纬度、经度)