最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解用Python調(diào)用百度地圖正/逆地理編碼API

 更新時(shí)間:2020年07月02日 15:06:05   作者:wild_orange  
這篇文章主要介紹了詳解用Python調(diào)用百度地圖正/逆地理編碼API,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、背景

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

百度地圖提供了相應(yīng)的API,可以方便調(diào)用。相應(yīng)的說(shuō)明文檔如下:

具體API的參數(shù)可以查看相應(yīng)的“服務(wù)文檔”:


不過(guò)首次使用時(shí)需要申請(qǐng),具體在控制臺(tái)。申請(qǐng)AK的方式可參見(jiàn)其他文章。

二、源碼

廢話不多說(shuō),直接放源碼。這里提供了Python調(diào)用這兩個(gè)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='[這里填寫(xiě)自己申請(qǐng)的AK值]'

def Pos2Coord(name):
	'''
		@func: 通過(guò)百度地圖API將地理名稱(chēng)轉(zhuǎn)換成經(jīng)緯度
		@note: 官方文檔 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
		@output:
			lng: 經(jīng)度
			lat: 緯度
			conf: 打點(diǎn)絕對(duì)精度(即坐標(biāo)點(diǎn)的誤差范圍)
			comp: 描述地址理解程度。分值范圍0-100,分值越大,服務(wù)對(duì)地址理解程度越高
			level: 能精確理解的地址類(lèi)型
	'''
	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('無(wú)法獲取%s經(jīng)緯度'%name)

def Coord2Pos(lng,lat,town='true'):
	'''
		@func: 通過(guò)百度地圖API將經(jīng)緯度轉(zhuǎn)換成地理名稱(chēng)
		@input:
			lng: 經(jīng)度
			lat: 緯度
			town: 是否獲取鄉(xiāng)鎮(zhèn)級(jí)地理位置信息,默認(rèn)獲取。可選參數(shù)(true/false)
		@output:
			address:解析后的地理位置名稱(chēng)
			province:省份名稱(chēng)
			city:城市名
			district:縣級(jí)行政區(qū)劃名
			town: 鄉(xiāng)鎮(zhèn)級(jí)行政區(qū)劃
			adcode: 縣級(jí)行政區(qū)劃編碼
			town_code: 鎮(zhèn)級(jí)行政區(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('無(wú)法獲取(%s,%s)的地理信息!'%(lat,lng))

注意:

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

三、使用方法

(1)正地理編碼

比如獲取學(xué)校的經(jīng)緯度:

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

輸出結(jié)果:

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

可以看出,結(jié)果存在一定偏差。竟然把學(xué)校標(biāo)記成了餐館。。。我們可以具體到百度拾取坐標(biāo)系統(tǒng)中看一下。結(jié)果定位到了學(xué)校西南角。

(2)逆地理編碼

反過(guò)來(lái),我們也可以根據(jù)經(jīng)緯度查詢(xún)地理位置信息。

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

輸出結(jié)果:

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

解析出的地理位置信息是準(zhǔn)確的,可以精確到鄉(xiāng)鎮(zhèn)級(jí)行政區(qū)劃。

(3)一個(gè)有意思的例子

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

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

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

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

結(jié)果:

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

我們看看定位到哪里了:


emm… 定位到一個(gè)廣場(chǎng)的旁邊。不過(guò)大致的位置還是準(zhǔn)確的,畢竟還是在金華市內(nèi)。如果精度要求不高,這個(gè)結(jié)果還是可以接受的。

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


可以看到,企業(yè)的地址為:浙江省金華市丹溪路1388號(hào)。

我們把這個(gè)地址代入API:

Pos2Coord('浙江省金華市丹溪路1388號(hào)')

得到結(jié)果:

{'lng': 119.65161604390546, 'lat': 29.083163015462144, 'conf': 80, 'comp': 100, 'level': '門(mén)址'}

再看看定位到了哪里:


emm…好像看不出來(lái)。。我對(duì)這里也不熟。。直接到百度地圖中看一下:


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

人工獲取企業(yè)具體的地理位置似乎太麻煩了。有沒(méi)有簡(jiǎn)單方法呢?可以查看我之前寫(xiě)的一篇文章:用Python爬蟲(chóng)獲取百度企業(yè)信用中企業(yè)基本信息

最后通過(guò)逆地理編碼獲取省份、地級(jí)市、縣級(jí)市信息。

Coord2Pos(119.65161604390546,29.083163015462144)

輸出結(jié)果:

{'address': '浙江省金華市婺城區(qū)雙龍南街680號(hào)', 'province': '浙江省', 'city': '金華市', 'district': '婺城區(qū)', 'town': '西關(guān)街道', 'adcode': '330702', 'town_code': '330702007'}

到此這篇關(guān)于詳解用Python調(diào)用百度地圖正/逆地理編碼API的文章就介紹到這了,更多相關(guān)Python調(diào)用百度地圖正/逆地理編碼 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3簡(jiǎn)單實(shí)例計(jì)算同花的概率代碼

    Python3簡(jiǎn)單實(shí)例計(jì)算同花的概率代碼

    這篇文章主要介紹了Python3簡(jiǎn)單實(shí)例計(jì)算同花的概率代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • django框架ModelForm組件用法詳解

    django框架ModelForm組件用法詳解

    這篇文章主要介紹了django框架ModelForm組件用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Django框架ModelForm組件相關(guān)功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Python 蟻群算法詳解

    Python 蟻群算法詳解

    這篇文章主要介紹了Python編程實(shí)現(xiàn)蟻群算法詳解,涉及螞蟻算法的簡(jiǎn)介,主要原理及公式,以及Python中的實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下
    2021-10-10
  • Python簡(jiǎn)單實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的實(shí)例項(xiàng)目

    Python簡(jiǎn)單實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的實(shí)例項(xiàng)目

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的實(shí)例項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python中的十大圖像處理工具(小結(jié))

    Python中的十大圖像處理工具(小結(jié))

    這篇文章主要介紹了Python中的十大圖像處理工具,本文主要介紹了一些簡(jiǎn)單易懂最常用的Python圖像處理庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python groupby 函數(shù) as_index詳解

    python groupby 函數(shù) as_index詳解

    今天小編就為大家分享一篇python groupby 函數(shù) as_index詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 使用Tensorboard工具查看Loss損失率

    使用Tensorboard工具查看Loss損失率

    今天小編就為大家分享一篇使用Tensorboard工具查看Loss損失率,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 分享unittest單元測(cè)試框架中幾種常用的用例加載方法

    分享unittest單元測(cè)試框架中幾種常用的用例加載方法

    這篇文章主要介紹了unittest單元測(cè)試框架中常用的幾種用例加載方法,幫助大家更好的理解和使用python的unittest測(cè)試模塊,感興趣的朋友可以了解下
    2020-12-12
  • Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類(lèi)問(wèn)題的方法詳解

    Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類(lèi)問(wèn)題的方法詳解

    這篇文章主要介紹了Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類(lèi)問(wèn)題的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python神經(jīng)網(wǎng)絡(luò)相關(guān)概念、原理及解決文本分類(lèi)具體操作技巧,需要的朋友可以參考下
    2020-01-01
  • python 判斷參數(shù)為Nonetype類(lèi)型或空的實(shí)例

    python 判斷參數(shù)為Nonetype類(lèi)型或空的實(shí)例

    今天小編就為大家分享一篇python 判斷參數(shù)為Nonetype類(lèi)型或空的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10

最新評(píng)論

丹阳市| 浪卡子县| 罗城| 正镶白旗| 麦盖提县| 鹿邑县| 布尔津县| 金门县| 江永县| 台北市| 金乡县| 奈曼旗| 屯留县| 绍兴市| 遂平县| 灌南县| 东莞市| 沂水县| 法库县| 阿鲁科尔沁旗| 邻水| 桐梓县| 扶绥县| 廉江市| 厦门市| 新晃| 阳城县| 江油市| 韶山市| 大丰市| 武定县| 濉溪县| 彩票| 东乡族自治县| 道孚县| 慈利县| 台北县| 梓潼县| 建宁县| 安宁市| 内丘县|