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 相关文章推荐
跟老齐学Python之print详解
Sep 28 Python
使用Python实现下载网易云音乐的高清MV
Mar 16 Python
Python 描述符(Descriptor)入门
Nov 20 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
Python3实现的简单验证码识别功能示例
May 02 Python
python excel转换csv代码实例
Aug 26 Python
python多线程分块读取文件
Aug 29 Python
Django框架 querySet功能解析
Sep 04 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 26 Python
Windows安装Anaconda3的方法及使用过程详解
Jun 11 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
php桌面中心(二) 数据库写入
2007/03/11 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
为Python程序添加图形化界面的教程
2015/04/29 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
护士毕业自我鉴定
2014/02/07 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
求职信怎么写范文
2014/05/26 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
改革共识倡议书
2014/08/29 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
安全生产协议书
2016/03/22 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers