将 DDM 转换为 DEC(十进制度)

Posted

技术标签:

【中文标题】将 DDM 转换为 DEC(十进制度)【英文标题】:Converting DDM to DEC (Decimal degrees) 【发布时间】:2015-01-09 06:30:12 【问题描述】:

我有一组格式为 DDM(十进制度数)的坐标,我需要将其转换为十进制度。 从 here 找到的函数中,我可以转换 DMS,但我没有找到可以让我将 DDM 转换为 DEC 的函数或公式。

例如坐标可以是:

64 度 0 分 N,22 度 33 分 W

从转换工具here知道结果是:64,-22,55

所以问题是如何转换 DDM 格式?

编辑:

数据来自如下表:

[Latitude_degrees]: 64
[Latitude_minutes]: 0
[Latitude_hemisphere]: N
[Longitude_degrees]: 22
[Longitude_minutes]: 33
[Longitude_hemisphere]: W

【问题讨论】:

您是否确实有一个字符串值“64 度 0 分 N,22 度 33 分 W”?如果是这样,您需要提取数字,以及 N/S 和 E/W(使用 sscanf 或 regexps 轻松完成)......这是您的起点;那么这都是简单的数学 数据来自如下表:[Latitude_degrees] [Latitude_minues] [Latitude_hemisphere] 64,0,N [Longitude_degrees] [Longitude_minutes] [Longitude_hemisphere] 22,33,W 然后是简单的数学运算:Latitude = Latitude_degrees + Latitude_minutes / 60 和 if Latitude_hemisphere = 'S' 然后 Latitude = -Latitude.... 和经度的等价物 这似乎有效。你能把它放在答案中吗,非常感谢你:) 【参考方案1】:

简单的数学

作为伪代码:

Latitude = Latitude_degrees + Latitude_minutes / 60 
if Latitude_hemisphere = 'S' then 
    Latitude = -Latitude

和经度的等价物

【讨论】:

以上是关于将 DDM 转换为 DEC(十进制度)的主要内容,如果未能解决你的问题,请参考以下文章

在Excel中如何将十进制转换成二进制

将度分转换为十进制度

怎么在Word或者Excel里面把十进制的数字转换成二进制或者十六进制?

怎么在Word或者Excel里面把十进制的数字转换成二进制或者十六进制

excel里将16进制转换为IP地址

将度/分/秒转换为十进制度