Python利用folium實現地圖可視化

folium的簡介

用Python處理數據,然後用Folium將它在Leaflet地圖上進行可視化。Folium能夠將通過Python處理後的數據輕松地在交互式的Leaflet地圖上進行可視化展示。它不單單可以在地圖上展示數據的分佈圖,還可以使用Vincent/Vega在地圖上加以標記。

這個開源庫中有許多來自OpenStreetMap、MapQuest Open、MapQuestOpen Aerial、Mapbox和Stamen的內建地圖元件,而且支持使用Mapbox或Cloudmade的API密鑰來定制個性化的地圖元件。Folium支持GeoJSON和TopoJSON兩種文件格式的疊加,也可以將數據連接到這兩種文件格式的疊加層,最後可使用color-brewer配色方案創建分佈圖。

Folium可以讓你用Python強大生態系統來處理數據,然後用Leaflet地圖來展示。Folium內置一些來自OpenStreetMap、MapQuest Open、MapQuest Open Aerial、Mapbox和Stamen的地圖元件(tilesets),並且支持用Mapbox或者Cloudmade API keys來自定義地圖元件。Folium支持GeoJSON和TopJSON疊加(overlays),綁定數據來創造一個分級統計圖(Choropleth map)。但是,Folium庫繪制熱點圖的時候,需要聯網才可顯示。

1.安裝folium模塊

pip install folium

2.安裝jupyter

pip install jupyter

便於查看地圖

3.查看世界地圖

import folium
m = folium.Map() # 顯示地圖
m

在這裡插入圖片描述

4.查看中國地圖

import folium
m = folium.Map(location=[30,100],zoom_start=3)
m
  • location 經緯度,list 或者 tuple 格式,順序為 latitude(緯度), longitude(經度)
  • zoom_start 縮放值,默認為 10,值越大比例尺越小,地圖放大級別越大
  • tiles 顯示樣式,默認*‘OpenStreetMap’*,也就是開啟街道顯示
  • crs 地理坐標參考系統,默認為”EPSG3857″

5.武漢市地圖

m = folium.Map(location=[30.6,114.4],zoom_start=8) # 武漢市地圖

在這裡插入圖片描述

修改樣式

m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Toner')

在這裡插入圖片描述

m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Terrain')

在這裡插入圖片描述

6.添加標記

import folium
wuhan_map = folium.Map(location=[30.6,114.4],zoom_start=8)

# 添加標記
folium.Marker(
    location=[30.6,114.3], # 位置
    popup='Wu Han City Marker', # 鼠標點擊 彈出的說明
    icon=folium.Icon(icon='cloud') # 圖標樣式
).add_to(wuhan_map)

folium.Marker(
    location=[30.6,114.33],
    popup='Timberline Lodge',
    icon=folium.Icon(color='green')
).add_to(wuhan_map)

folium.Marker(
    location=[30.6,114.35],
    popup='Some Other Location',
    icon=folium.Icon(color='red', icon='info-sign')
).add_to(wuhan_map)
folium.Circle(  # 添加圓
    radius=200,
    location=(30.6,114.32),
    popup='The Waterfront',
    color='crimson',
    fill=False,
).add_to(wuhan_map)

folium.CircleMarker(    #添加藍色圓環
    location=(30.6,114.37),
    radius=50,
    popup='Laurelhurst Park',
    color='#3186cc',
    fill=True,
    fill_color='#3186cc'
).add_to(wuhan_map)

# 獲取點的經緯度
# wuhan_map.add_child(folium.LatLngPopup())

# 動態添加標簽
wuhan_map.add_child(folium.ClickForMarker(popup='Waypoint'))

在這裡插入圖片描述

7.查找武漢科技大學

import foliumposition = [30.4415, 114.2628] # 武科大的經緯度school_mp = folium.Map(location=position,zoom_start=15)school_mp

在這裡插入圖片描述

8.未解決

​ 彈出pop_up顯示圖片不會。

9.參考文章

傳送門1

經緯度查詢api

到此這篇關於Python利用folium實現地圖可視化的文章就介紹到這瞭,更多相關Python地圖可視化folium內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: