python 纬度经度十进制/十六进制转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 纬度经度十进制/十六进制转换相关的知识,希望对你有一定的参考价值。
## VERSION 1
# latitude / longitud convertor into decimal format
def latlon2dec(dlat,dlon):
"""
Example of input:
dlat = {'deg':34,'min':22,'sec':46}
dlon = {'deg':134,'min':43,'sec':45}
"""
latd = dlat['deg'] + (float(dlat['sec'])/60. + float(dlat['min'])) / 60.
lond = dlon['deg'] + (float(dlon['sec'])/60. + float(dlon['min'])) / 60.
return (latd,lond)
## VERSION 2
# hex to decimal
def dms2dd(degrees, minutes, seconds, direction):
dd = float(degrees) + float(minutes)/60 + float(seconds)/(60*60);
if direction == 'S' or direction == 'W':
dd *= -1
return dd;
# decimal to hex
def dd2dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
return [d, m, sd]
# parse hex text ("36°57'9' N 110°4'21' W") to decimal
def parse_dms(dms):
import re
parts = re.split('[^\d\w]+', dms)
lat = dms2dd(parts[0], parts[1], parts[2], parts[3])
lng = dms2dd(parts[4], parts[5], parts[6], parts[7])
return (lat, lng)
以上是关于python 纬度经度十进制/十六进制转换的主要内容,如果未能解决你的问题,请参考以下文章
将整数纬度和经度转换为十进制(用于谷歌地图 api)
苹果手机;使用 mapkit 处理纬度/经度十进制值
这是啥纬度/经度格式?
查找十进制纬度和经度是不是落在特定的访问范围内
是否可以增加纬度和经度值的十进制值以获得最近地点的位置?
python:使用纬度和经度查找提供位置半径内的位置的优雅方法