python调用高德地图地理编码/逆地理编码
生活随笔
收集整理的這篇文章主要介紹了
python调用高德地图地理编码/逆地理编码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
先到高德地圖api官網(wǎng)申領(lǐng)一下key
網(wǎng)址在這,個人用戶每天有五千的額度,(地點轉(zhuǎn)坐標(biāo),坐標(biāo)轉(zhuǎn)地點各五千),應(yīng)該是夠用的。
地理編碼(地址轉(zhuǎn)坐標(biāo))
官方的使用說明:
api接口,GET請求方式
各個參數(shù)
如果是應(yīng)用于全國不限城市的搜索,就不需要加上city,address上描述的越詳細(xì)得到的結(jié)果就更精確。
通過請求,以福建省廈門市思明區(qū)為例,請求成功后可獲得:
返回的參數(shù)說明:
我們所要的坐標(biāo)即在其中的location函數(shù)中,可直接解析json數(shù)據(jù)獲取,附上該部分代碼
# 地理編碼def getGeoCode(self, address):url = f'https://restapi.amap.com/v3/geocode/geo?parameters&key={self.key}&address={address}'json_data = self.requestApi(url)if json_data['status'] == '1':location = json_data['geocodes'][0]['location']return locationelse:return '獲取失敗'逆地理編碼(坐標(biāo)轉(zhuǎn)地址)
逆地理編碼的過程與地理編碼沒啥差別,帶參請求api即可。
api接口:
也是get方法,參數(shù)就根據(jù)需要直接拼接到鏈接后面就好
請求參數(shù)說明:
可根據(jù)需要自行再添加請求參數(shù),我使用逆地理編碼主要還是驗證地理編碼的準(zhǔn)確性,避免因為地址錯誤得到了錯誤的結(jié)果。。。
請求一下試試看,以“121.381709,31.112813”為例:
返回參數(shù)說明:
返回的參數(shù)很多很詳細(xì),可根據(jù)需要去解析獲取,我這邊就是為了獲取坐標(biāo)點所在區(qū),所以就解析到這里,附部分代碼:
完整代碼
import requestsclass GaodeGeo:def __init__(self):self.key = '你的key'def requestApi(self, url):re = requests.get(url).json()return re# 地理編碼def getGeoCode(self, address):url = f'https://restapi.amap.com/v3/geocode/geo?parameters&key={self.key}&address={address}'json_data = self.requestApi(url)if json_data['status'] == '1':location = json_data['geocodes'][0]['location']return locationelse:return '獲取失敗'# 根據(jù)經(jīng)緯坐標(biāo)獲取地址等信息def getInverseGeoCode(self, location):url = f'https://restapi.amap.com/v3/geocode/regeo?parameters&key={self.key}&location={location}'json_data = self.requestApi(url)if json_data['status'] == '1':area = json_data['regeocode']['addressComponent']['district']return areaelse:return '獲取失敗'## 使用說明 gd = GaodeGeo()# 通過坐標(biāo)獲取所在區(qū)縣 area = gd.getInverseGeoCode('121.381709,31.112813') print('area:',area)geocoding = gd.getGeoCode('福建省廈門市思明區(qū)') print('geocoding:',geocoding)》》 area: 閔行區(qū) geocoding: 118.082658,24.445567over!
總結(jié)
以上是生活随笔為你收集整理的python调用高德地图地理编码/逆地理编码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员要学会协作
- 下一篇: websocket python爬虫_p