How to convert degree minute second to degree decimal

后端 未结 6 2257
小鲜肉
小鲜肉 2021-02-07 13:37

I receive the latitude and longitude from GPS with this format:

Latitude : 78°55\'44.29458\"N

I need convert this data to:

latitude: 78.9288888889

<
6条回答
  •  北海茫月
    2021-02-07 14:03

    The problem is that the seconds 44.29458 are split at ..

    You could either define the split characters directly (instead of where not to split):

    >>> re.split('[°\'"]+', """78°55'44.29458"N""")
    ['78', '55', '44.29458', 'N']
    

    or leave the regular expression as it is and merge parts 2 and 3:

    dms2dd(parts[0], parts[1], parts[2] + "." + parts[3], parts[4])
    

    Update:

    Your method call dd = parse_dms("78°55'44.33324"N ) is a syntax error. Add the closing " and escape the other one. Or use tripple quotes for the string definition:

    parse_dms("""78°55'44.29458"N""")
    

提交回复
热议问题