如何用用Python將地址標記在地圖上
本文就將講解,給你一個地址,如何用Python進行可視化,只需要兩步:
- 將地址轉(zhuǎn)成經(jīng)緯度
- 根據(jù)經(jīng)緯度在地圖上標記點
一、將地址轉(zhuǎn)成經(jīng)緯度
首先我們需要將地理位置轉(zhuǎn)成經(jīng)緯度這種統(tǒng)一格式,方便代碼去識別。完成這一個需求可以使用爬蟲通過在線的經(jīng)緯度轉(zhuǎn)換網(wǎng)站來實現(xiàn),也可以使用一些專業(yè)的API比如百度、高德等,這里我們使用百度地圖開放平臺。
使用API并不是直接就能調(diào)用,首先需要去申請一個地圖可視化的AK,打開百度地圖開放平臺
http://lbsyun.baidu.com/
登陸之后依次點擊控制臺
⟹
創(chuàng)建應(yīng)用
⟹
選擇瀏覽器端,按照指示創(chuàng)建一個地圖可視化應(yīng)用,以申請到AK結(jié)束

之后啟動Jupyter Notebook,只要不到十行代碼就能將地址轉(zhuǎn)成經(jīng)緯度,直接看代碼,沒有什么特別需要解釋的,利用地址和AK構(gòu)造查詢URL,之后使用requests請求并取出經(jīng)緯度,代碼拿走就能用?
import pandas as pd
import requests
AK = "替換為你申請的AK"
def get_position(name,AK):
url = f'http://api.map.baidu.com/geocoding/v3/?address={name}&output=json&ak={AK}'
res = requests.get(url)
val = res.json()
retval = {'地址':name,'經(jīng)度':val['result']['location']['lng'],'緯度':val['result']['location']['lat'],'地區(qū)標簽':val['result']['level'],'是否精確查找':val['result']['precise']}
longitude = retval['經(jīng)度']
latitude = retval['緯度']
return(longitude,latitude)
我們來測試一下

可以看到,現(xiàn)在給它一個地址,就能返回經(jīng)緯度,再返回地圖驗證一下經(jīng)緯度,沒有問題

當然如果需要一次性對多個地址處理,就可以使用pandas中的apply函數(shù)實現(xiàn),此處不在贅述,另外需要注意的是,如果有大量地址需要處理就要再次去平臺申請一個個人開發(fā)者,否則會有一定限制。我自己測試不難申請,填寫基本信息并寫一段200字小作文就行。
二、根據(jù)經(jīng)緯度進行標記
現(xiàn)在有了經(jīng)緯度就可以在地圖上進行標記,工具有很多,我們選擇pyecharts,并使用Geo地理坐標系,其實很簡單就是先創(chuàng)建一個指定地圖后根據(jù)經(jīng)緯度往地圖上添加點即可。
我們還是以上面的Apple西湖地址為例, 先導(dǎo)入相關(guān)庫,之后使用Geo().add_schema(maptype="杭州")實例化一個杭州地圖,再將我們的經(jīng)緯度添加進去,最后使用.render_notebook()直接在notebook中渲染
from pyecharts.charts import Geo
from pyecharts import options
from pyecharts.globals import GeoType
g = Geo().add_schema(maptype="杭州")
g.add_coordinate(addr, longitude, latitude)
data_pair = [(addr,1)]
g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20)
g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
g.set_global_opts(title_opts=options.TitleOpts(title="pyecharts地圖標點測試"))
g.render_notebook()
效果如下

現(xiàn)在,我們就學(xué)會了如何利用Python對將一個地址位置信息進行可視化,如果是一個組地理位置呢?只要寫一個循環(huán),依次將每個地址都轉(zhuǎn)成經(jīng)緯度并添加到地圖中就可以了!這里就不再過多講解,相信只要先把上面的代碼理解、執(zhí)行后,多思考一下就可以完成,拜拜~
以上就是如何用用Python將地址標記在地圖上的詳細內(nèi)容,更多關(guān)于Python將地址標記在地圖上的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python實現(xiàn)疫情地圖可視化
- 地圖可視化神器kepler.gl python接口的使用方法
- python-地圖可視化組件folium的操作
- python在地圖上畫比例的實例詳解
- 利用python繪制中國地圖(含省界、河流等)
- 詳解用Python調(diào)用百度地圖正/逆地理編碼API
- Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖
- Python繪制全球疫情變化地圖的實例代碼
- python實現(xiàn)Pyecharts實現(xiàn)動態(tài)地圖(Map、Geo)
- python使用pyecharts庫畫地圖數(shù)據(jù)可視化的實現(xiàn)
- 使用Python實現(xiàn)畫一個中國地圖
相關(guān)文章
詳解tensorflow載入數(shù)據(jù)的三種方式
這篇文章主要介紹了詳解tensorflow載入數(shù)據(jù)的三種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
python使用json將字符串轉(zhuǎn)字典報錯的解決
這篇文章主要介紹了python使用json將字符串轉(zhuǎn)字典報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Python實現(xiàn)判斷一個字符串是否包含子串的方法總結(jié)
這篇文章主要介紹了Python實現(xiàn)判斷一個字符串是否包含子串的方法,結(jié)合實例形式總結(jié)分析了四種比較常用的字符串子串判定方法,需要的朋友可以參考下2017-11-11
Python實現(xiàn)Window路徑格式轉(zhuǎn)換為Linux路徑格式的代碼
這篇文章主要介紹了Python實現(xiàn)Window路徑格式轉(zhuǎn)換為Linux路徑格式的方法,文中通過代碼示例講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07

