今天大佬带你用 Python绘制地图神器,简单易上手

folium简介和安装

folium 建立在 Python 生态系统的数据应用能力和 Leaflet.js 库的映射能力之上,在Python中操作数据,然后通过 folium 在 Leaflet 地图中可视化。

folium 相比较于国内百度的 pyecharts 灵活性更强,能够自定义绘制区域,并且展现形式更加多样化

今天大佬带你用 Python绘制地图神器,简单易上手_第1张图片

1. folium的简介

  • Folium是建立在 Python 生态系统的数据整理 Datawrangling 能力和 Leaflet.js 库的映射能力之上的开源库。用 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库绘制热点图的时候,需要联网才可显示。

2. 安装folium

今天大佬带你用 Python绘制地图神器,简单易上手_第2张图片

基本使用

folium 显示地图的类为 folium.Map,类的声明如下:

几个重要的参数:

  • location:经纬度,list 或者 tuple 格式,顺序为 latitude, longitude

  • zoom_start:缩放值,默认为 10,值越大比例尺越小,地图放大级别越大

  • control_scale:Bool型,控制是否在地图上添加比例尺,默认为 False 即不添加

  • tiles:显示样式,默认 "OpenStreetMap",也就是开启街道显示

  • crs:地理坐标参考系统,默认为 "EPSG3857"

1. 各级别地图

世界地图

今天大佬带你用 Python绘制地图神器,简单易上手_第3张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第4张图片

国家地图

今天大佬带你用 Python绘制地图神器,简单易上手_第5张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第6张图片

市级地图

其实改变地图显示也就是改变显示的经纬度和缩放比例,省级、市级、县级用法相似,这里举一个市级的例子为例,如北京市:

今天大佬带你用 Python绘制地图神器,简单易上手_第7张图片

在地图上标记

普通标记

添加普通标记用 Marker,可以选择标记的图案

今天大佬带你用 Python绘制地图神器,简单易上手_第8张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第9张图片

圆形标记

添加圆形标记用 Circle 以及 CircleMarker

今天大佬带你用 Python绘制地图神器,简单易上手_第10张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第11张图片

 

动态放置标记

今天大佬带你用 Python绘制地图神器,简单易上手_第12张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第13张图片

更多详细使用可以参考官方文档:http://python-visualization.github.io/folium/quickstart.html[2]

三、实战案例

以将停车场地理位置数据可视化在地图上示例,熟悉 folium 地图可视化的使用。

1. 获取经纬度数据

停车场地理位置数据来源于网络,数据真实可靠,下面先利用 Python 爬虫获取数据

今天大佬带你用 Python绘制地图神器,简单易上手_第14张图片

今天大佬带你用 Python绘制地图神器,简单易上手_第15张图片

结果如下:

今天大佬带你用 Python绘制地图神器,简单易上手_第16张图片

今天大佬带你用 Python绘制地图神器,简单易上手_第17张图片

共有 3170 个停车场地理位置数据

2. folium地图可视化

今天大佬带你用 Python绘制地图神器,简单易上手_第18张图片

效果如下:

这样看起来有点乱,下面我们来统计一下各个局域的停车场数量

今天大佬带你用 Python绘制地图神器,简单易上手_第19张图片

效果如下:

这样能对各个局域停车场的数量在地图上进行统计,将图不断放大以后,还可以显示每个停车场的具体位置,非常方便。

需要相关资料的可以扫一扫 拿相关资料的哈!【python】

今天大佬带你用 Python绘制地图神器,简单易上手_第20张图片

你可能感兴趣的:(php,java,python,node.js,c语言)