为什么我们需要将 GPS 坐标(纬度、经度)从度和分转换为十进制度

Why we need to convert GPS coordinates(latitude, longitude) from degrees and minutes into decimal degrees

我正在从 GPS 获取 NMEA 数据。我正在将其转换为十进制度数,以便在 Google 地图中使用它们。

我们有 GPS 坐标转换,例如度数到分秒。

为什么我们需要转换这两种表示之间的坐标?我们将在哪里使用这种转换(度到秒),以及它是如何编码的。

六十进制(以 60 为底数)是以六十为底数的数字系统。它起源于公元前 3 千年的古苏美尔人,传给了古巴比伦人,现在仍在使用(经过修改后的形式)来测量时间、角度和地理坐标。

度分和度秒不是时间单位,而是六十进制中度的参考。

更多信息:https://en.wikipedia.org/wiki/Sexagesimal

NMEA 在 DMS 系统的特殊变体中提供坐标。 (DMS = 度、分、秒,这是指定坐标的另一种可能性)

此变体称为 DM 格式:
(整数)度和小数分(没有额外的秒字段)。

对于 google 地图,您需要十进制度 (DEG),并且您有 DM。 所以你需要一个 DM 到 DEG 的转换:

DEG = Degrees + Minutes / 60.0

示例:

 double latitudeDecimalDegrees = degrees + minutes / 60.0;
 if ("S".equals(nortSouth) && degrees > 0) {
     lat *= -1.0;
 }

其中 northSouth 是纬度的 "N" 或 "S",在 NMEA 消息中作为 NS 指示符提供。