婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Python繪制地圖神器folium的新人入門指南

Python繪制地圖神器folium的新人入門指南

熱門標(biāo)簽:應(yīng)電話機(jī)器人打電話違法嗎 400電話辦理哪種 開封語(yǔ)音外呼系統(tǒng)代理商 天津電話機(jī)器人公司 開封自動(dòng)外呼系統(tǒng)怎么收費(fèi) 河北防封卡電銷卡 地圖標(biāo)注線上如何操作 手機(jī)網(wǎng)頁(yè)嵌入地圖標(biāo)注位置 電銷機(jī)器人的風(fēng)險(xiǎn)

一、簡(jiǎn)介

想通過(guò) Python 繪制精美的地圖?想在地圖上自由的設(shè)置各種參數(shù)?想獲得靈活的交互體驗(yàn)?這里就有一款Python 神包滿足你:folium

folium 建立在 Python 生態(tài)系統(tǒng)的數(shù)據(jù)應(yīng)用能力和 Leaflet.js 庫(kù)的映射能力之上,在Python中操作數(shù)據(jù),然后通過(guò) folium 在 Leaflet 地圖中可視化。

folium 相比較于國(guó)內(nèi)百度的 pyecharts 靈活性更強(qiáng),能夠自定義繪制區(qū)域,并且展現(xiàn)形式更加多樣化。

附:官方文檔,官方示例,本文 notebook ,完整代碼及數(shù)據(jù)。

二、安裝方法

按照官方的教程即可,如果安裝了 conda ,可以直接

conda install -c conda-forge folium

沒(méi)有安裝的話就使用

python3 -m pip install folium

三、主要功能

3.1 各級(jí)別地圖

folium 顯示地圖的類為 folium.Map,類的聲明如下

class folium.folium.Map(location=None, width='100%', height='100%', left='0%', top='0%', position='relative', tiles='OpenStreetMap', attr=None, min_zoom=0, max_zoom=18, zoom_start=10, min_lat=-90, max_lat=90, min_lon=-180, max_lon=180, max_bounds=False, crs='EPSG3857', control_scale=False, prefer_canvas=False, no_touch=False, disable_3d=False, png_enabled=False, zoom_control=True, **kwargs)

講幾個(gè)重要的參數(shù)

  • location 經(jīng)緯度,list 或者 tuple 格式,順序?yàn)?latitude, longitude
  • zoom_start 縮放值,默認(rèn)為 10,值越大比例尺越小,地圖放大級(jí)別越大
  • tiles 顯示樣式,默認(rèn)*‘OpenStreetMap'*,也就是開啟街道顯示
  • crs 地理坐標(biāo)參考系統(tǒng),默認(rèn)為"EPSG3857"

 3.1.1 世界地圖

import folium

print(folium.__version__)

# define the world map
world_map = folium.Map()
# display world map
world_map

3.1.2 國(guó)家地圖

# define the national map
national_map = folium.Map(location=[35.3, 100.6], zoom_start=4)
# display national map
national_map

3.1.3 市級(jí)地圖

其實(shí)改變地圖顯示就是改變顯示的經(jīng)緯度和縮放比例,省級(jí)、市級(jí)、縣級(jí)用法雷同,這里舉一個(gè)市級(jí)的例子為例,如北京市:

# define the city map
city_map = folium.Map(location=[39.93, 116.40], zoom_start=10)
# display city map
city_map

顯示效果確實(shí)是不如百度的😓。

3.2 地圖形式

除了上述正常的地圖顯示外,folium 還提供了非常豐富的多樣化顯示,控制顯示效果的變量是tiles,樣式有OpenStreetMap, Stamen Terrain, Stamen Toner, Mapbox Bright, Mapbox Control Room等等,這里挑選幾個(gè)比較常見(jiàn)的

# define the city map,tiles='Stamen Toner'
city_map = folium.Map(location=[39.93, 116.40], zoom_start=10, tiles='Stamen Toner')
# display city map
city_map
# define the city map, tiles='Stamen Terrain'
city_map = folium.Map(location=[39.93, 116.40], zoom_start=10, tiles='Stamen Terrain')
# display city map
city_map

3.3 在地圖上標(biāo)記

3.3.1 普通標(biāo)記

添加普通標(biāo)記用 Marker

這里可以選擇標(biāo)記的圖案。

bj_map = folium.Map(location=[39.93, 115.40], zoom_start=12, tiles='Stamen Terrain')

folium.Marker(
    location=[39.95, 115.33],
    popup='Mt. Hood Meadows',
    icon=folium.Icon(icon='cloud')
).add_to(bj_map)

folium.Marker(
    location=[39.96, 115.32],
    popup='Timberline Lodge',
    icon=folium.Icon(color='green')
).add_to(bj_map)

folium.Marker(
    location=[39.93, 115.34],
    popup='Some Other Location',
    icon=folium.Icon(color='red', icon='info-sign')
).add_to(bj_map)

bj_map

添加圓形標(biāo)記用 Circle 以及 CircleMarker

bj_map = folium.Map(location=[39.93, 116.40], zoom_start=12, tiles='Stamen Toner')

folium.Circle(
    radius=200,
    location=[39.92, 116.43],
    popup='The Waterfront',
    color='crimson',
    fill=False,
).add_to(bj_map)

folium.CircleMarker(
    location=[39.93, 116.38],
    radius=50,
    popup='Laurelhurst Park',
    color='#3186cc',
    fill=True,
    fill_color='#3186cc'
).add_to(bj_map)

bj_map

3.3.2 點(diǎn)擊獲取經(jīng)緯度

m = folium.Map(location=[46.1991, -122.1889],tiles='Stamen Terrain',zoom_start=13)

m.add_child(folium.LatLngPopup())

m

通過(guò)點(diǎn)擊鼠標(biāo)便可以獲取點(diǎn)擊出的經(jīng)緯度。

3.3.3 動(dòng)態(tài)放置標(biāo)記

m = folium.Map(
    location=[46.8527, -121.7649],
    tiles='Stamen Terrain',
    zoom_start=13
)

folium.Marker(
    [46.8354, -121.7325],
    popup='Camp Muir'
).add_to(m)

m.add_child(folium.ClickForMarker(popup='Waypoint'))

m

3.4 熱力圖繪制

因?yàn)闆](méi)有實(shí)際的經(jīng)緯度坐標(biāo)數(shù)據(jù),所以這里只能模擬一些位置出來(lái),另外每個(gè)位置還需要一個(gè)數(shù)值作為熱力值。

# generated data
import numpy as np
data = (
    np.random.normal(size=(100, 3)) *
    np.array([[0.1, 0.1, 0.1]]) +
    np.array([[40, 116.5, 1]])
).tolist()
data[:3]

數(shù)據(jù)分布

[[40.04666663299843, 116.59569796477264, 0.9667425547098781],
 [39.86836537517533, 116.28201445195315, 0.8708549157348728],
 [40.08123232852134, 116.56884585184197, 0.9104952244371285]]

繪制熱力圖

# HeatMap
from folium.plugins import HeatMap
m = folium.Map([39.93, 116.38], tiles='stamentoner', zoom_start=6)
HeatMap(data).add_to(m)
# m.save(os.path.join('results', 'Heatmap.html'))
m

3.5 密度地圖繪制

folium 不僅可以繪制熱力圖,還可以繪制密度地圖,按照經(jīng)緯度進(jìn)行舉例聚類,然后在地圖中顯示。

from folium.plugins import MarkerCluster

m = folium.Map([39.93, 116.38], tiles='stamentoner', zoom_start=10)

# create a mark cluster object
marker_cluster = MarkerCluster().add_to(m)

# add data point to the mark cluster
for lat, lng, label in data:
    folium.Marker(
        location=[lat, lng],
        icon=None,
        popup=label,
    ).add_to(marker_cluster)

# add marker_cluster to map
m.add_child(marker_cluster)

3.6 自定義地圖區(qū)域

folium 一個(gè)非常有優(yōu)勢(shì)的功能就是自定義區(qū)域的繪制了,只要有區(qū)域的邊界數(shù)據(jù),就可以在地圖中以多種多樣的形式展現(xiàn)出來(lái),這里以 folium 官方的美國(guó)地圖為例,源數(shù)據(jù)是一個(gè) .json 文件,里面包含了各個(gè)地區(qū)(美國(guó)各州)的特征(包括邊界經(jīng)緯度列表、簡(jiǎn)稱等),源數(shù)據(jù)傳送門,其數(shù)據(jù)格式如下:

3.6.1 只繪制邊界,不添加數(shù)據(jù)

如果只要求繪制邊界,而不顯示邊界區(qū)域的相關(guān)信息,那么這個(gè)是比較容易的,代碼如下

import json
import requests

# read us-states border 
with open("us-states.json") as f:
    us_states = json.load(f)

us_map = folium.Map(location=[35.3, -97.6], zoom_start=4)
folium.GeoJson(
    us_states,
    style_function=lambda feature: {
        'fillColor': '#ffff00',
        'color': 'black',
        'weight': 2,
        'dashArray': '5, 5'
    }
).add_to(us_map)

#display map
us_map

3.6.2 繪制邊界,添加數(shù)據(jù)

當(dāng)需要在各個(gè)區(qū)域填充數(shù)據(jù)的時(shí)候,這個(gè)稍微麻煩點(diǎn),不僅需要各個(gè)區(qū)域的邊界數(shù)據(jù),還需要各個(gè)區(qū)域的顯示信息,這里同樣也使用官方的美國(guó)各州的邊界數(shù)據(jù)為例:

import geopandas as gpd
import pandas as pd
import folium, branca

states = gpd.GeoDataFrame.from_features(us_states, crs=fiona.crs.from_epsg(4326))
states.head()

我們?cè)侔咽杖氲葦?shù)據(jù)連接到上表中

abbrs = pd.read_json(open("abbrs.json"))
statesmerge = states.merge(abbrs,how='left', left_on='name', right_on='name')
statesmerge['geometry']=statesmerge.geometry.simplify(.05)
income = pd.read_csv("income.csv", dtype={"fips":str})
income['income-2015']=pd.to_numeric(income['income-2015'], errors='coerce')
income.groupby(by="state")[['state','income-2015']].median().head()
statesmerge['medianincome']=statesmerge.merge(income.groupby(by="state")[['state','income-2015']].median(), how='left', left_on='alpha-2', right_on='state')['income-2015']
statesmerge['change']=statesmerge.merge(income.groupby(by="state")[['state','change']].median(), how='left', left_on='alpha-2', right_on='state')['change']
statesmerge.head()

最終繪制出的來(lái)的地圖如下:

除此之外,還有很多非常有趣的功能,這里就不一一列舉了,感興趣的可以參考官方的文檔。

四、競(jìng)品對(duì)比與優(yōu)劣勢(shì)

國(guó)內(nèi)的競(jìng)品為百度的 pyecharts,和 folium 一樣都可以實(shí)現(xiàn)普通的地圖繪制功能,但是具體使用還有較大的區(qū)別,具體如下表

功能 pyecharts folium 備注
世界地圖 可以 可以
中文顯示 可以 部分可以 folium地圖中標(biāo)尺、文字不能正常顯示,但是嵌入地圖中的中文可以正常顯示
交互性
區(qū)(縣)級(jí)地圖 可以 可以 folium需要區(qū)(縣)邊界數(shù)據(jù)
市級(jí)地圖 可以 可以 folium需要市邊界數(shù)據(jù)
收費(fèi) 自定義區(qū)域需要購(gòu)買百度ak 自定義區(qū)域功能免費(fèi)
靈活性
省級(jí)地圖 可以 可以 folium需要省邊界數(shù)據(jù)
美觀度 較好
自定義區(qū)域 部分可以 可以 pyecharts需要百度 ak,folium免費(fèi)

五、參考資料

[1] https://www.zhihu.com/question/33783546

[2] https://pypi.org/project/folium/

[3] https://nbviewer.jupyter.org/github/python-visualization/folium/tree/master/examples/

到此這篇關(guān)于Python繪制地圖神器folium的文章就介紹到這了,更多相關(guān)Python繪制地圖folium內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python實(shí)現(xiàn)地圖可視化folium完整過(guò)程
  • Python利用folium實(shí)現(xiàn)地圖可視化
  • python-地圖可視化組件folium的操作
  • Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法
  • python使用folium庫(kù)繪制地圖點(diǎn)擊框
  • python用folium繪制地圖并設(shè)置彈窗

標(biāo)簽:駐馬店 山東 蘭州 宿遷 成都 六盤水 江蘇 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python繪制地圖神器folium的新人入門指南》,本文關(guān)鍵詞  Python,繪制,地圖,神器,folium,;如發(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)文章
  • 下面列出與本文章《Python繪制地圖神器folium的新人入門指南》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python繪制地圖神器folium的新人入門指南的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日本精品一区二区三区| 国产成人综合在线播放| 亚洲午夜国产一区99re久久| 国产精品1区2区3区在线观看| 5566中文字幕一区二区电影| 亚洲第一av色| 91福利社在线观看| 亚洲国产欧美日韩另类综合| 欧美日韩一区中文字幕| 午夜国产精品一区| 91精品国产综合久久精品性色| 亚洲欧美日韩电影| 欧美伊人久久久久久久久影院 | 欧美丝袜丝nylons| 亚洲一区二区三区中文字幕| 欧美日韩在线一区二区| 老汉av免费一区二区三区| 精品国产乱码久久| 99天天综合性| 免费成人在线网站| 国产色产综合色产在线视频| 粉嫩av亚洲一区二区图片| 亚洲蜜桃精久久久久久久| 3d成人动漫网站| 成人免费视频视频在线观看免费| 一区二区三区成人| 精品久久一区二区| 在线观看日韩一区| 国内精品伊人久久久久av影院| 中文字幕亚洲一区二区va在线| 欧美日韩国产小视频在线观看| 成人做爰69片免费看网站| 亚洲成av人综合在线观看| 日本一区二区三区dvd视频在线| 欧美日韩中文另类| 懂色av中文一区二区三区| 日本欧美一区二区三区乱码| 国产精品美女久久久久aⅴ国产馆| 欧美在线一二三| 播五月开心婷婷综合| 麻豆成人免费电影| 亚洲欧洲日韩综合一区二区| 一本色道**综合亚洲精品蜜桃冫| 午夜欧美视频在线观看| 日本一区二区三区高清不卡| 欧美一区二区在线免费观看| 色综合久久久久综合99| 蜜桃视频一区二区三区| 中文字幕日本不卡| 欧美岛国在线观看| 色婷婷精品久久二区二区蜜臂av | 成人性色生活片免费看爆迷你毛片| 亚洲尤物视频在线| 国产欧美一区在线| 精品欧美一区二区久久| 在线视频一区二区免费| 成人小视频免费观看| 国产美女av一区二区三区| 久久精品国产99国产精品| 日韩精品成人一区二区三区 | 国产乱对白刺激视频不卡| 亚洲成人av资源| 亚洲成人免费视| 亚洲成人777| 视频一区二区三区入口| 日韩一区欧美二区| 婷婷六月综合亚洲| 日韩1区2区日韩1区2区| 青草av.久久免费一区| 美女一区二区三区| 国内精品久久久久影院色| 精品一区二区三区蜜桃| 韩国三级在线一区| 国产成人在线网站| 成人小视频免费在线观看| 成人18精品视频| 99re在线视频这里只有精品| 日本精品免费观看高清观看| 色呦呦国产精品| 欧美日韩国产综合一区二区三区| 337p亚洲精品色噜噜| 精品国产乱子伦一区| 久久久久久久免费视频了| 日本一区二区三区四区| 亚洲日本va在线观看| 亚洲成人手机在线| 精品一区二区三区蜜桃| 成人三级伦理片| 欧美色偷偷大香| 日韩精品一区二区在线| 中文无字幕一区二区三区| 亚洲欧洲精品一区二区精品久久久 | 成人在线视频一区| 一本到不卡精品视频在线观看| 欧美日韩一区二区三区免费看| 精品欧美乱码久久久久久1区2区| 国产精品美女一区二区在线观看| 一区二区三区在线观看欧美| 蜜臀精品久久久久久蜜臀| 国产成人超碰人人澡人人澡| 欧美视频一区二区三区在线观看| 欧美成人vr18sexvr| 亚洲桃色在线一区| 日韩av在线发布| 欧美在线观看一区二区| 日韩午夜av一区| 国产精品女人毛片| 日本va欧美va瓶| av亚洲精华国产精华| 91精品综合久久久久久| 国产精品人成在线观看免费| 日产国产高清一区二区三区| av资源站一区| 久久综合久久久久88| 亚洲一级二级在线| 成人晚上爱看视频| 精品少妇一区二区三区在线播放 | 久久99日本精品| 欧美网站大全在线观看| 国产日韩欧美精品综合| 日韩电影在线观看一区| 91尤物视频在线观看| 久久久精品影视| 久久国产福利国产秒拍| 欧美日韩一区二区在线观看 | 成人va在线观看| 2020国产精品久久精品美国| 香蕉乱码成人久久天堂爱免费| 99久久综合狠狠综合久久| 欧美激情综合在线| 国产精品一区二区x88av| 91精品国产高清一区二区三区蜜臀| 一区二区三区在线视频观看| 在线免费观看视频一区| 亚洲视频在线观看一区| 成人aa视频在线观看| 欧美韩国日本不卡| 国产精品18久久久久| 国产亚洲一本大道中文在线| 青椒成人免费视频| 欧美大胆一级视频| 在线观看www91| **欧美大码日韩| 91在线免费视频观看| 国产亚洲精品中文字幕| 国产精品一线二线三线| 久久综合久久久久88| 国产精品性做久久久久久| 亚洲国产精品高清| 99国产精品99久久久久久| 亚洲精品美国一| 欧美日韩精品一区二区| 麻豆视频观看网址久久| 欧美精品一区二区精品网| 国产精选一区二区三区| 国产精品狼人久久影院观看方式| 99久久久无码国产精品| 一区二区三区四区不卡在线| 色综合久久中文综合久久97| 亚洲bdsm女犯bdsm网站| 日韩一二三四区| 免费不卡在线视频| 久久久五月婷婷| 国产成人精品一区二区三区四区| 国产农村妇女毛片精品久久麻豆 | 中文字幕国产一区| 91成人看片片| 麻豆久久久久久久| 国产精品毛片大码女人| 欧美日韩国产在线播放网站| 加勒比av一区二区| 亚洲欧美偷拍另类a∨色屁股| 欧美日韩国产bt| 国产高清不卡二三区| 亚洲国产另类av| 中文字幕av一区二区三区高| 欧美日韩精品综合在线| 国产伦精品一区二区三区视频青涩 | 五月激情综合色| 国产欧美一区二区三区鸳鸯浴| 91国内精品野花午夜精品| 久久成人免费网| 亚洲综合色成人| 国产片一区二区三区| 日韩欧美亚洲国产另类| 99久久综合国产精品| 国产成人免费视| 精品一二三四在线| 91精品国产欧美日韩| 久久久久99精品国产片| 欧美性猛交xxxxxx富婆| 经典一区二区三区| 亚洲资源在线观看| 久久久久久久久97黄色工厂| 在线观看亚洲成人| 成人深夜在线观看| 国产剧情一区二区三区| 天堂va蜜桃一区二区三区漫画版| 中文字幕一区二区三区四区 | 亚洲免费视频中文字幕|