folium 可视化地理数据

一、标记指定经纬度

读取数据

包含 经纬度 信息

import numpy as np

stations = pd.read_csv('../Stationid_list.csv',delimiter=',')

在这里插入图片描述

使用 folium 可视化

import folium
from folium import plugins
import webbrowser

_map = folium.Map(location=[stations['Latitude'].mean(), stations['Longitude'].mean()], zoom_start=10)
marker_cluster = plugins.MarkerCluster().add_to(_map)

for name,row in stations.iterrows():
	# 由于原始数据没有值,所以只好每个点都赋一个值 1 
    folium.Marker([row["Latitude"], row["Longitude"]], popup="{0}:{1}".format(row["StationID"], 1)).add_to(marker_cluster)     

display(_map)  # display 直接在 jupyter notebook 中打开
# _map.save('_map.html') 
# webbrowser.open('_map.html')

在这里插入图片描述

效果展示

截图软件:LICEcap
在这里插入图片描述

二、可视化各省指标

需要先下载好 bou2_4p.shp中国.json

import geopandas as gp

mydata = pd.DataFrame({'省份':['北京市','上海市','江西省'],'指标':[1,5,10]})

china_map = gp.GeoDataFrame.from_file("bou2_4p/bou2_4p.shp", encoding = 'gbk')

China_map = folium.Map(location=[40,110], zoom_start=4)
China_map.choropleth(
     geo_data=open('中国.json',encoding = 'utf-8').read(),
     data = mydata,
     columns = ['省份', '指标'],
     key_on = 'feature.properties.name',
     fill_color='YlGn',
     fill_opacity=0.7,
     line_opacity=0.2)

display(China_map)

在这里插入图片描述

参考

  • https://yq.aliyun.com/articles/607980
  • https://blog.csdn.net/qq_39004117/article/details/89371438
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值