国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

詳解用Python調用百度地圖正/逆地理編碼API

瀏覽:5日期:2022-07-18 18:30:04

一、背景

(正)地理編碼指的是:將地理位置名稱轉換成經緯度; 逆地理編碼指的是:將經緯度轉換成地理位置信息,如地名、所在的省份或城市等

百度地圖提供了相應的API,可以方便調用。相應的說明文檔如下:

正地理編碼 逆地理編碼

具體API的參數可以查看相應的“服務文檔”:

詳解用Python調用百度地圖正/逆地理編碼API

不過首次使用時需要申請,具體在控制臺。申請AK的方式可參見其他文章。

二、源碼

廢話不多說,直接放源碼。這里提供了Python調用這兩個API的方法。

#!/usr/bin/env python# -*- coding:utf-8 -*-# @Author: Wild Orange# @Email: [email protected]# @Date: 2020-06-21 16:06:14# @Last Modified time: 2020-07-01 19:35:28import requestsAK=’[這里填寫自己申請的AK值]’def Pos2Coord(name):’’’@func: 通過百度地圖API將地理名稱轉換成經緯度@note: 官方文檔 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding@output:lng: 經度lat: 緯度conf: 打點絕對精度(即坐標點的誤差范圍)comp: 描述地址理解程度。分值范圍0-100,分值越大,服務對地址理解程度越高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=Nonereturn retValelse:print(’無法獲取%s經緯度’%name)def Coord2Pos(lng,lat,town=’true’):’’’@func: 通過百度地圖API將經緯度轉換成地理名稱@input:lng: 經度lat: 緯度town: 是否獲取鄉鎮級地理位置信息,默認獲取。可選參數(true/false)@output:address:解析后的地理位置名稱province:省份名稱city:城市名district:縣級行政區劃名town: 鄉鎮級行政區劃adcode: 縣級行政區劃編碼town_code: 鎮級行政區劃編碼’’’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=Nonereturn retValelse:print(’無法獲取(%s,%s)的地理信息!’%(lat,lng))

注意:

函數只返回一些較為常用的地理位置信息。之前提到的官網中的說明文檔是最全的,如果確實有需要,可以修改程序代碼。

三、使用方法

(1)正地理編碼

比如獲取學校的經緯度:

val=Pos2Coord(’江蘇省南京市江寧區秣陵街道東南大學九龍湖校區’)print(val)

輸出結果:

{’lng’: 118.81871976794395, ’lat’: 31.88198449339288, ’conf’: 80, ’comp’: 57, ’level’: ’餐飲’}

可以看出,結果存在一定偏差。竟然把學校標記成了餐館。。。我們可以具體到百度拾取坐標系統中看一下。結果定位到了學校西南角。

詳解用Python調用百度地圖正/逆地理編碼API

(2)逆地理編碼

反過來,我們也可以根據經緯度查詢地理位置信息。

val=Coord2Pos(118.81871976794395,31.88198449339288)print(val)

輸出結果:

{’address’: ’江蘇省南京市江寧區蘇源大道’, ’province’: ’江蘇省’, ’city’: ’南京市’, ’district’: ’江寧區’, ’town’: ’秣陵街道’, ’adcode’: ’320115’, ’town_code’: ’320115011’}

解析出的地理位置信息是準確的,可以精確到鄉鎮級行政區劃。

(3)一個有意思的例子

之前也看到了,在正地理編碼中,如果提供的地理位置信息不精確,則返回的經緯度很可能存在較大偏差。有這樣的需求:根據企業名稱,獲取其地理位置(經緯度),以及所在的省份、地級市、縣級市等信息。

一種直接的思路是:直接將企業名稱作為地理位置傳給正地理編碼API,獲取其經緯度;再依據經緯度,利用逆地理編碼,獲取其所在的省份、地級市、縣級市。

隨便舉個栗子,比如“金華銀行股份有限公司”。

val=Pos2Coord(’金華銀行股份有限公司’)print(val)

結果:

{’lng’: 119.65923457293306, ’lat’: 29.10738796331567, ’conf’: 70, ’comp’: 100, ’level’: ’金融’}

我們看看定位到哪里了:

詳解用Python調用百度地圖正/逆地理編碼API

emm… 定位到一個廣場的旁邊。不過大致的位置還是準確的,畢竟還是在金華市內。如果精度要求不高,這個結果還是可以接受的。

那如果精度要求比較高呢?我們就需要獲取非常準確的企業位置信息。百度企業信用提供了企業基本信息的查詢。

詳解用Python調用百度地圖正/逆地理編碼API

可以看到,企業的地址為:浙江省金華市丹溪路1388號。

我們把這個地址代入API:

Pos2Coord(’浙江省金華市丹溪路1388號’)

得到結果:

{’lng’: 119.65161604390546, ’lat’: 29.083163015462144, ’conf’: 80, ’comp’: 100, ’level’: ’門址’}

再看看定位到了哪里:

詳解用Python調用百度地圖正/逆地理編碼API

emm…好像看不出來。。我對這里也不熟。。直接到百度地圖中看一下:

詳解用Python調用百度地圖正/逆地理編碼API

放到最大后,可以看到,坐標恰好落在“金華銀行”上面。Perfect!

人工獲取企業具體的地理位置似乎太麻煩了。有沒有簡單方法呢?可以查看我之前寫的一篇文章:用Python爬蟲獲取百度企業信用中企業基本信息

最后通過逆地理編碼獲取省份、地級市、縣級市信息。

Coord2Pos(119.65161604390546,29.083163015462144)

輸出結果:

{’address’: ’浙江省金華市婺城區雙龍南街680號’, ’province’: ’浙江省’, ’city’: ’金華市’, ’district’: ’婺城區’, ’town’: ’西關街道’, ’adcode’: ’330702’, ’town_code’: ’330702007’}

到此這篇關于詳解用Python調用百度地圖正/逆地理編碼API的文章就介紹到這了,更多相關Python調用百度地圖正/逆地理編碼 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 百度 地圖 Python
相關文章:
主站蜘蛛池模板: 精品国产欧美一区二区五十路 | 最新国产美女肝交视频播放 | 亚洲性网站| 久久久久久全国免费观看 | 久草久草| 影音先锋色先锋女同另类 | 天堂影院jav成人天堂免费观看 | 精品一区二区三区视频在线观看免 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 亚洲日本在线观看网址 | 久久久99精品免费观看精品 | 理论视频在线观看 | 国产精品18久久久久久小说 | 亚久久伊人精品青青草原2020 | 亚洲精品久久久久中文 | 精品一区二区三区视频在线观看免 | 国产精品1区 2区 3区 | 岛国搬运工最新网地址 | 中文字幕在线免费观看 | 国产精品久久久久毛片真精品 | 香港台湾经典三级a视频 | 国产福利久久 | 在线观看毛片视频 | 中国性孕妇孕交在线 | 国产欧美在线一区二区三区 | 亚洲国产成人久久综合区 | 国产真真人女人特级毛片 | 成人欧美视频在线观看播放 | 91黑丝国产线观看免费 | 免费鲁丝片一级观看 | 成人做爰视频www片 成人做爰视频www视频 | 欧美成人看片黄a免费看 | 亚洲最大网址 | 久久精品99精品免费观看 | 国产一区二区三区在线免费观看 | 国产亚洲高清在线精品不卡 | 亚洲男人在线天堂 | 亚洲天堂久久精品成人 | 亚洲欧美日韩综合久久久久 | 亚洲精品久久久久久久777 | 精品国产视频在线观看 |