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 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
python中引用与复制用法实例分析
Jun 04 Python
Python实现自动登录百度空间的方法
Jun 10 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
django如何实现视图重定向
Jul 24 Python
Python hashlib模块实例使用详解
Dec 24 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
详解Pycharm与anaconda安装配置指南
Aug 25 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个人网站架设连环讲(二)
2006/10/09 PHP
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
php 无限分类的树类代码
2009/12/03 PHP
zend framework多模块多布局配置
2011/02/26 PHP
php中session使用示例
2014/03/29 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
python 中的int()函数怎么用
2017/10/17 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
python实现简单坦克大战
2020/03/27 Python
python如何快速拼接字符串
2020/10/28 Python
美国网上书店:Barnes & Noble
2018/08/15 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
外贸主管求职简历的自我评价
2013/10/23 职场文书
音乐专业应届生教师求职信
2013/11/04 职场文书
年度考核自我评价
2014/01/25 职场文书
父母对孩子说的话
2014/04/12 职场文书
ant design vue的form表单取值方法
2022/06/01 Vue.js