創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
小編給大家分享一下用Python調(diào)用百度地圖正/逆地理編碼API的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
一、背景
百度地圖提供了相應的API,可以方便調(diào)用。相應的說明文檔如下:
具體API的參數(shù)可以查看相應的“服務(wù)文檔”:
不過首次使用時需要申請,具體在控制臺。申請AK的方式可參見其他文章。
二、源碼
廢話不多說,直接放源碼。這里提供了Python調(diào)用這兩個API的方法。
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Author: Wild Orange # @Email: jixuanfan_seu@163.com # @Date: 2020-06-21 16:06:14 # @Last Modified time: 2020-07-01 19:35:28 import requests AK='[這里填寫自己申請的AK值]' def Pos2Coord(name): ''' @func: 通過百度地圖API將地理名稱轉(zhuǎn)換成經(jīng)緯度 @note: 官方文檔 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding @output: lng: 經(jīng)度 lat: 緯度 conf: 打點絕對精度(即坐標點的誤差范圍) comp: 描述地址理解程度。分值范圍0-100,分值越大,服務(wù)對地址理解程度越高 level: 能精確理解的地址類型 ''' url = 'http://api.map.baidu.com/geocoding/v3/?address=%s&output=json&ak=%s'%(name,AK) res = requests.get(url) if res.status_code==200: val=res.json() if val['status']==0: retVal={'lng':val['result']['location']['lng'],'lat':val['result']['location']['lat'],\ 'conf':val['result']['confidence'],'comp':val['result']['comprehension'],'level':val['result']['level']} else: retVal=None return retVal else: print('無法獲取%s經(jīng)緯度'%name) def Coord2Pos(lng,lat,town='true'): ''' @func: 通過百度地圖API將經(jīng)緯度轉(zhuǎn)換成地理名稱 @input: lng: 經(jīng)度 lat: 緯度 town: 是否獲取鄉(xiāng)鎮(zhèn)級地理位置信息,默認獲取。可選參數(shù)(true/false) @output: address:解析后的地理位置名稱 province:省份名稱 city:城市名 district:縣級行政區(qū)劃名 town: 鄉(xiāng)鎮(zhèn)級行政區(qū)劃 adcode: 縣級行政區(qū)劃編碼 town_code: 鎮(zhèn)級行政區(qū)劃編碼 ''' url='http://api.map.baidu.com/reverse_geocoding/v3/?output=json&ak=%s&location=%s,%s&extensions_town=%s'%(AK,lat,lng,town) res=requests.get(url) if res.status_code==200: val=res.json() if val['status']==0: val=val['result'] retVal={'address':val['formatted_address'],'province':val['addressComponent']['province'],\ 'city':val['addressComponent']['city'],'district':val['addressComponent']['district'],\ 'town':val['addressComponent']['town'],'adcode':val['addressComponent']['adcode'], 'town_code':val['addressComponent']['town_code']} else: retVal=None return retVal else: print('無法獲取(%s,%s)的地理信息!'%(lat,lng))
當前名稱:用Python調(diào)用百度地圖正/逆地理編碼API的方法-創(chuàng)新互聯(lián)
本文地址:http://www.chinadenli.net/article34/dcihpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、域名注冊、定制網(wǎng)站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)