Python利用folium实现地图可视化


Posted in Python onMay 23, 2021

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

Python利用folium实现地图可视化

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) # 武汉市地图

Python利用folium实现地图可视化

修改样式

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

Python利用folium实现地图可视化

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

Python利用folium实现地图可视化

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'))

Python利用folium实现地图可视化

7.查找武汉科技大学

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

Python利用folium实现地图可视化

8.未解决

​ 弹出pop_up显示图片不会。

9.参考文章

传送门1

经纬度查询api

到此这篇关于Python利用folium实现地图可视化的文章就介绍到这了,更多相关Python地图可视化folium内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
python学习数据结构实例代码
May 11 Python
python如何获取服务器硬件信息
May 11 Python
Python实现的建造者模式示例
Aug 06 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
django-allauth入门学习和使用详解
Jul 03 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
如何在windows下安装配置python工具Ulipad
Oct 27 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 Python
一篇文章带你搞懂Python类的相关知识
May 20 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
python爬虫之selenium库的安装及使用教程
教你利用python实现企业微信发送消息
python基础之文件处理知识总结
May 23 #Python
Python绘制地图神器folium的新人入门指南
Python关于OS文件目录处理的实例分享
May 23 #Python
python引入其他文件夹下的py文件具体方法
Python 解决空列表.append() 输出为None的问题
May 23 #Python
You might like
php数组合并与拆分实例分析
2015/06/12 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
javascript中"/"运算符常见错误
2010/10/13 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
Pytorch之Variable的用法
2019/12/31 Python
对python中return与yield的区别详解
2020/03/12 Python
eBay德国站:eBay.de
2017/09/14 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
前台文员的岗位职责
2013/11/14 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
会议邀请函范文
2014/01/09 职场文书
初中班主任寄语
2014/04/04 职场文书
节水口号标语
2014/06/19 职场文书
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby