亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python 地圖經緯度轉換、糾偏的實例代碼

2020-02-15 22:42:10
字體:
來源:轉載
供稿:網友

python 地圖經緯度轉換、糾偏的代碼如下所示:

# -*- coding: utf-8 -*-import jsonimport urllibimport mathx_pi = 3.14159265358979324 * 3000.0 / 180.0pi = 3.1415926535897932384626 # πa = 6378245.0 # 長半軸ee = 0.00669342162296594323 # 偏心率平方class Geocoding:  def __init__(self, api_key):    self.api_key = api_key  def geocode(self, address):    """    利用高德geocoding服務解析地址獲取位置坐標    :param address:需要解析的地址    :return:    """    geocoding = {'s': 'rsv3',           'key': self.api_key,           'city': '全國',           'address': address}    geocoding = urllib.urlencode(geocoding)    ret = urllib.urlopen("%s?%s" % ("http://restapi.amap.com/v3/geocode/geo", geocoding))    if ret.getcode() == 200:      res = ret.read()      json_obj = json.loads(res)      if json_obj['status'] == '1' and int(json_obj['count']) >= 1:        geocodes = json_obj['geocodes'][0]        lng = float(geocodes.get('location').split(',')[0])        lat = float(geocodes.get('location').split(',')[1])        return [lng, lat]      else:        return None    else:      return Nonedef gcj02_to_bd09(lng, lat):  """  火星坐標系(GCJ-02)轉百度坐標系(BD-09)  谷歌、高德——>百度  :param lng:火星坐標經度  :param lat:火星坐標緯度  :return:  """  z = math.sqrt(lng * lng + lat * lat) + 0.00002 * math.sin(lat * x_pi)  theta = math.atan2(lat, lng) + 0.000003 * math.cos(lng * x_pi)  bd_lng = z * math.cos(theta) + 0.0065  bd_lat = z * math.sin(theta) + 0.006  return [bd_lng, bd_lat]def bd09_to_gcj02(bd_lon, bd_lat):  """  百度坐標系(BD-09)轉火星坐標系(GCJ-02)  百度——>谷歌、高德  :param bd_lat:百度坐標緯度  :param bd_lon:百度坐標經度  :return:轉換后的坐標列表形式  """  x = bd_lon - 0.0065  y = bd_lat - 0.006  z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * x_pi)  theta = math.atan2(y, x) - 0.000003 * math.cos(x * x_pi)  gg_lng = z * math.cos(theta)  gg_lat = z * math.sin(theta)  return [gg_lng, gg_lat]def wgs84_to_gcj02(lng, lat):  """  WGS84轉GCJ02(火星坐標系)  :param lng:WGS84坐標系的經度  :param lat:WGS84坐標系的緯度  :return:  """  if out_of_china(lng, lat): # 判斷是否在國內    return lng, lat  dlat = _transformlat(lng - 105.0, lat - 35.0)  dlng = _transformlng(lng - 105.0, lat - 35.0)  radlat = lat / 180.0 * pi  magic = math.sin(radlat)  magic = 1 - ee * magic * magic  sqrtmagic = math.sqrt(magic)  dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)  dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)  mglat = lat + dlat  mglng = lng + dlng  return [mglng, mglat]def gcj02_to_wgs84(lng, lat):  """  GCJ02(火星坐標系)轉GPS84  :param lng:火星坐標系的經度  :param lat:火星坐標系緯度  :return:  """  if out_of_china(lng, lat):    return lng, lat  dlat = _transformlat(lng - 105.0, lat - 35.0)  dlng = _transformlng(lng - 105.0, lat - 35.0)  radlat = lat / 180.0 * pi  magic = math.sin(radlat)  magic = 1 - ee * magic * magic  sqrtmagic = math.sqrt(magic)  dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)  dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)  mglat = lat + dlat  mglng = lng + dlng  return [lng * 2 - mglng, lat * 2 - mglat]def bd09_to_wgs84(bd_lon, bd_lat):  lon, lat = bd09_to_gcj02(bd_lon, bd_lat)  return gcj02_to_wgs84(lon, lat)def wgs84_to_bd09(lon, lat):  lon, lat = wgs84_to_gcj02(lon, lat)  return gcj02_to_bd09(lon, lat)def _transformlat(lng, lat):  ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + /     0.1 * lng * lat + 0.2 * math.sqrt(math.fabs(lng))  ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 *      math.sin(2.0 * lng * pi)) * 2.0 / 3.0  ret += (20.0 * math.sin(lat * pi) + 40.0 *      math.sin(lat / 3.0 * pi)) * 2.0 / 3.0  ret += (160.0 * math.sin(lat / 12.0 * pi) + 320 *      math.sin(lat * pi / 30.0)) * 2.0 / 3.0  return retdef _transformlng(lng, lat):  ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + /     0.1 * lng * lat + 0.1 * math.sqrt(math.fabs(lng))  ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 *      math.sin(2.0 * lng * pi)) * 2.0 / 3.0  ret += (20.0 * math.sin(lng * pi) + 40.0 *      math.sin(lng / 3.0 * pi)) * 2.0 / 3.0  ret += (150.0 * math.sin(lng / 12.0 * pi) + 300.0 *      math.sin(lng / 30.0 * pi)) * 2.0 / 3.0  return retdef out_of_china(lng, lat):  """  判斷是否在國內,不在國內不做偏移  :param lng:  :param lat:  :return:  """  return not (lng > 73.66 and lng < 135.05 and lat > 3.86 and lat < 53.55)if __name__ == '__main__':  lng = 118.7294833  lat = 31.9341833  result1 = gcj02_to_bd09(lng, lat)  result2 = bd09_to_gcj02(lng, lat)  result3 = wgs84_to_gcj02(lng, lat)  result4 = gcj02_to_wgs84(lng, lat)  result5 = bd09_to_wgs84(lng, lat)  result6 = wgs84_to_bd09(lng, lat)  s,v=wgs84_to_bd09(118.7294833,31.9341833)  #lng1,lat1= wgs84_to_gcj02(lng,lat)  #s,v =gcj02_to_bd09(lng1,lat1)  print s,v  #print result1, result2, result3, result4, result5, result6            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
免费91麻豆精品国产自产在线观看| 97婷婷涩涩精品一区| 国产精品老牛影院在线观看| 亚洲va国产va天堂va久久| 岛国视频午夜一区免费在线观看| 日本高清不卡在线| 91精品国产91久久久久久不卡| 97超级碰在线看视频免费在线看| 亚洲一区二区自拍| 最近免费中文字幕视频2019| 91高清免费在线观看| 欧美专区在线播放| 日韩在线视频免费观看高清中文| 欧美日韩国产一区二区三区| 亚洲第一级黄色片| 亚洲欧美日韩视频一区| 亚洲自拍高清视频网站| 韩国三级日本三级少妇99| 中文字幕av一区中文字幕天堂| 亚洲精品国精品久久99热| 91精品国产91久久久久久最新| 亚洲色图15p| 国产一区二区三区四区福利| 亚洲视频777| 亚洲爱爱爱爱爱| 亚洲国内精品在线| 91精品久久久久久久久久久久久久| 久久精品国产亚洲精品2020| 日韩在线播放视频| 亚洲精品国产精品自产a区红杏吧| 久久精品国产69国产精品亚洲| 欧美理论电影在线播放| 久久夜色精品国产| 亚洲激情视频在线播放| 97在线精品国自产拍中文| 69久久夜色精品国产69乱青草| 欧美一级淫片播放口| 国产va免费精品高清在线观看| 久久免费成人精品视频| 精品国产欧美一区二区五十路| 午夜精品福利在线观看| 国产成人精品日本亚洲专区61| 国产精品久久久久久亚洲影视| 91精品久久久久久久久久久| 欧美性生交xxxxxdddd| 国产精品国产亚洲伊人久久| 欧美日韩亚洲视频一区| 欧美xxxx综合视频| 国产成人精品a视频一区www| 国产视频亚洲视频| 第一福利永久视频精品| 欧美成人国产va精品日本一级| 一本大道香蕉久在线播放29| 欧美噜噜久久久xxx| 麻豆国产va免费精品高清在线| 一区二区三区日韩在线| 色综合久久久888| 成人观看高清在线观看免费| 免费不卡欧美自拍视频| 亚洲国产精彩中文乱码av| 欧美成人四级hd版| 亚洲va欧美va在线观看| 国产成人在线一区二区| 久久亚洲精品小早川怜子66| 久久久久久久久久亚洲| 中文综合在线观看| 国产欧美日韩中文字幕| 亚洲一区二区久久久久久| 日日骚久久av| 久久久亚洲欧洲日产国码aⅴ| 久久久www成人免费精品| 欧美最猛性xxxxx亚洲精品| 成人免费网站在线看| 色偷偷综合社区| 超碰日本道色综合久久综合| 国产精品免费福利| 亚洲国产成人精品久久久国产成人一区| 久久精品久久久久电影| 在线观看亚洲视频| 欧美最顶级的aⅴ艳星| 亚洲aaa激情| 欧美日韩亚洲一区二区| 日韩欧美中文免费| 国产精品福利网站| 欧美激情手机在线视频| 2021久久精品国产99国产精品| 精品亚洲永久免费精品| 欧美一级淫片aaaaaaa视频| 成人av色在线观看| 亚洲美女在线看| 538国产精品一区二区免费视频| 性欧美暴力猛交69hd| 亚洲中国色老太| 久久亚洲精品小早川怜子66| 亚洲精品第一页| 最近2019中文字幕大全第二页| 欧美成人午夜激情在线| 亚洲free性xxxx护士白浆| 亚洲国产成人爱av在线播放| 成人亚洲欧美一区二区三区| 中文字幕一区二区精品| 欧洲美女7788成人免费视频| 中文字幕在线看视频国产欧美| 精品国内亚洲在观看18黄| 日韩av有码在线| 国内精品久久久久久久| 国产精品一区二区三区免费视频| 日韩不卡中文字幕| 国产丝袜精品视频| 欧美黄网免费在线观看| 亚洲男人第一网站| 91亚洲精品久久久久久久久久久久| 91丨九色丨国产在线| 国产欧亚日韩视频| 日本久久91av| 午夜精品久久久久久久久久久久久| 亚洲性视频网址| 久久久av电影| 中文字幕视频一区二区在线有码| 欧美一乱一性一交一视频| 久久久久999| 亚洲国产成人久久综合| 久久在线免费视频| 97免费视频在线播放| 亚洲欧美日韩精品久久亚洲区| 欧美日韩一区二区精品| 欧美激情免费观看| 欧美色视频日本高清在线观看| 中文字幕自拍vr一区二区三区| 亚洲白拍色综合图区| 最近2019年日本中文免费字幕| 欧美日韩在线视频一区二区| 欧美日韩999| 国产日韩在线亚洲字幕中文| 色婷婷**av毛片一区| 国产精品久久久久久影视| 欧美另类老肥妇| 久久天天躁夜夜躁狠狠躁2022| 成人乱人伦精品视频在线观看| 一区二区在线视频播放| 91久久久久久| 国产精品视频白浆免费视频| 欧美大尺度在线观看| 欧美高清激情视频| 国产精品视频一区二区三区四| 亚洲无av在线中文字幕| 亚洲成av人片在线观看香蕉| 九九精品在线视频| 欧美日韩亚洲一区二区| 福利一区福利二区微拍刺激| 欧美性猛交视频| 久久深夜福利免费观看| 久久久久久久久久久久av| 尤物yw午夜国产精品视频| www.日本久久久久com.| 亲爱的老师9免费观看全集电视剧| 亚洲无av在线中文字幕| 欧洲成人在线视频| 亚洲国产天堂久久综合网| 日韩成人在线视频网站| 国产99视频在线观看| 在线成人一区二区| 欧美精品免费看| 国产精品成人av在线|