如何将DMS转换成给定格式的弧度:python中的DDMMSS

2024-09-27 18:17:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何将DMS从给定格式DD-MM-SS转换为Radian

“打印(DMStoRAD(47-39-28))”的溶液应为0.831785

谢谢你!在


Tags: 格式dmsssddmm溶液radiandmstorad
2条回答

试试这个:

def DMS2Rad(D, M, S):
    return ((D+M/60+S/3600)/180*3.141592654)
import numpy

def dms_string_to_radians(dms_string):
    degrees = numpy.sum(numpy.fromstring(dms_string, sep='-') * 
            [1.0, 1/60.0, 1/3600.0])

    return numpy.radians(degrees)

print dms_string_to_radians('47-39-28')

输出:

^{pr2}$

一如预期。在

或者,如果您不喜欢使用Numpy并希望坚持使用标准库:

import string, math

def dms_string_to_radians(dms_string):

    dms = [float(x) for x in string.split(dms_string, '-')]
    degrees = sum(
            [scale * val for scale, val in zip([1.0, 1/60.0, 1/3600.0], dms)])

    return math.radians(degrees)

print dms_string_to_radians('47-39-28')

此输出与第一个输出相同。在

我更改了函数名,因为我无法使用您的命名约定;)

相关问题 更多 >

    热门问题