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编程中的文件操作攻略
Oct 16 Python
Python中内置的日志模块logging用法详解
Jul 12 Python
python简单实例训练(21~30)
Nov 15 Python
Python设计模式之中介模式简单示例
Jan 09 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
python实现excel读写数据
Mar 02 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
python读取几个G的csv文件方法
Jan 07 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
logging level级别介绍
Feb 21 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 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
用javascript控制iframe滚动的代码
2007/04/10 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
Javascript读写cookie的实例源码
2019/03/16 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Python计算IV值的示例讲解
2020/02/28 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python之字典对象的几种创建方法
2020/09/30 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
《搭石》教学反思
2014/04/07 职场文书
农村门前三包责任书
2014/07/25 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL