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!