佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 如何用用Python將地址標(biāo)記在地圖上

如何用用Python將地址標(biāo)記在地圖上

熱門(mén)標(biāo)簽:企業(yè)做大做強(qiáng) 客戶服務(wù) 電話運(yùn)營(yíng)中心 呼叫中心市場(chǎng)需求 硅谷的囚徒呼叫中心 語(yǔ)音系統(tǒng) 百度AI接口 Win7旗艦版

本文就將講解,給你一個(gè)地址,如何用Python進(jìn)行可視化,只需要兩步:

  • 將地址轉(zhuǎn)成經(jīng)緯度
  • 根據(jù)經(jīng)緯度在地圖上標(biāo)記點(diǎn)

一、將地址轉(zhuǎn)成經(jīng)緯度

首先我們需要將地理位置轉(zhuǎn)成經(jīng)緯度這種統(tǒng)一格式,方便代碼去識(shí)別。完成這一個(gè)需求可以使用爬蟲(chóng)通過(guò)在線的經(jīng)緯度轉(zhuǎn)換網(wǎng)站來(lái)實(shí)現(xiàn),也可以使用一些專業(yè)的API比如百度、高德等,這里我們使用百度地圖開(kāi)放平臺(tái)。

使用API并不是直接就能調(diào)用,首先需要去申請(qǐng)一個(gè)地圖可視化的AK,打開(kāi)百度地圖開(kāi)放平臺(tái)

http://lbsyun.baidu.com/

登陸之后依次點(diǎn)擊控制臺(tái)


創(chuàng)建應(yīng)用


選擇瀏覽器端,按照指示創(chuàng)建一個(gè)地圖可視化應(yīng)用,以申請(qǐng)到AK結(jié)束

之后啟動(dòng)Jupyter Notebook,只要不到十行代碼就能將地址轉(zhuǎn)成經(jīng)緯度,直接看代碼,沒(méi)有什么特別需要解釋的,利用地址和AK構(gòu)造查詢URL,之后使用requests請(qǐng)求并取出經(jīng)緯度,代碼拿走就能用?

import pandas as pd
import requests

AK = "替換為你申請(qǐng)的AK" 

def get_position(name,AK):
  url = f'http://api.map.baidu.com/geocoding/v3/?address={name}output=jsonak={AK}'
  res = requests.get(url)
  val = res.json()
  retval = {'地址':name,'經(jīng)度':val['result']['location']['lng'],'緯度':val['result']['location']['lat'],'地區(qū)標(biāo)簽':val['result']['level'],'是否精確查找':val['result']['precise']}
  longitude = retval['經(jīng)度']
  latitude = retval['緯度']

  return(longitude,latitude)

我們來(lái)測(cè)試一下

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

當(dāng)然如果需要一次性對(duì)多個(gè)地址處理,就可以使用pandas中的apply函數(shù)實(shí)現(xiàn),此處不在贅述,另外需要注意的是,如果有大量地址需要處理就要再次去平臺(tái)申請(qǐng)一個(gè)個(gè)人開(kāi)發(fā)者,否則會(huì)有一定限制。我自己測(cè)試不難申請(qǐng),填寫(xiě)基本信息并寫(xiě)一段200字小作文就行。

二、根據(jù)經(jīng)緯度進(jìn)行標(biāo)記

現(xiàn)在有了經(jīng)緯度就可以在地圖上進(jìn)行標(biāo)記,工具有很多,我們選擇pyecharts,并使用Geo地理坐標(biāo)系,其實(shí)很簡(jiǎn)單就是先創(chuàng)建一個(gè)指定地圖后根據(jù)經(jīng)緯度往地圖上添加點(diǎn)即可。

我們還是以上面的Apple西湖地址為例, 先導(dǎo)入相關(guān)庫(kù),之后使用Geo().add_schema(maptype="杭州")實(shí)例化一個(gè)杭州地圖,再將我們的經(jīng)緯度添加進(jìn)去,最后使用.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地圖標(biāo)點(diǎn)測(cè)試"))

g.render_notebook()

效果如下

現(xiàn)在,我們就學(xué)會(huì)了如何利用Python對(duì)將一個(gè)地址位置信息進(jìn)行可視化,如果是一個(gè)組地理位置呢?只要寫(xiě)一個(gè)循環(huán),依次將每個(gè)地址都轉(zhuǎn)成經(jīng)緯度并添加到地圖中就可以了!這里就不再過(guò)多講解,相信只要先把上面的代碼理解、執(zhí)行后,多思考一下就可以完成,拜拜~

以上就是如何用用Python將地址標(biāo)記在地圖上的詳細(xì)內(nèi)容,更多關(guān)于Python將地址標(biāo)記在地圖上的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python實(shí)現(xiàn)疫情地圖可視化
  • 地圖可視化神器kepler.gl python接口的使用方法
  • python-地圖可視化組件folium的操作
  • python在地圖上畫(huà)比例的實(shí)例詳解
  • 利用python繪制中國(guó)地圖(含省界、河流等)
  • 詳解用Python調(diào)用百度地圖正/逆地理編碼API
  • Python基于wordcloud及jieba實(shí)現(xiàn)中國(guó)地圖詞云圖
  • Python繪制全球疫情變化地圖的實(shí)例代碼
  • python實(shí)現(xiàn)Pyecharts實(shí)現(xiàn)動(dòng)態(tài)地圖(Map、Geo)
  • python使用pyecharts庫(kù)畫(huà)地圖數(shù)據(jù)可視化的實(shí)現(xiàn)
  • 使用Python實(shí)現(xiàn)畫(huà)一個(gè)中國(guó)地圖

標(biāo)簽:濟(jì)南 海南 長(zhǎng)沙 安康 山西 喀什 崇左 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何用用Python將地址標(biāo)記在地圖上》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    青岛市| 治县。| 鹤庆县| 赤城县| 安塞县| 龙岩市| 济阳县| 汉阴县| 莱阳市| 巍山| 苍南县| 会同县| 墨脱县| 河津市| 娄底市| 保靖县| 山丹县| 鄂托克旗| 沈丘县| 凤冈县| 榆社县| 安达市| 阿尔山市| 曲麻莱县| 彭山县| 永新县| 山东省| 交口县| 宜兰县| 大同市| 新竹市| 资阳市| 炎陵县| 托克逊县| 绍兴市| 独山县| 游戏| 手游| 囊谦县| 清河县| 长春市|