python地图可视化框架_【可视化】python地图可视化_Folium

本文简单介绍python语言的地图可视化库Folium

效果图

能力概述

Python语言

地图可视化

可以换(高德)底图

有添加点线面和简单配色的功能

可以导出为html页

简介

Folium是Leaflet.js的Python的API,即可以使用Python语言调用Leaflet的地图可视化能力。

其中,Leaflet是一个非常轻的前端地图可视化库。

实验

安装

pip install folium

初始化地图

默认参数为OpenStreetMap地图,(0,0)经纬度坐标,全球范围缩放

最简单的配置,初始化中心位置和缩放尺度

内置底图样式

文档说内置“Mapbox Bright”和“Mapbox Control Room”,本次实验中无法加载

瓦片底图(WGS84)

mapbox底图(需要自行申请Key)

水彩图

高德底图

瓦片地址参考页面顶部链接

街道图

http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}

影像图

http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}

添加点、线、面要素

各种要素可以设置颜色、大小、文字标记等属性,具体看操作手册

这里以高德地图为底图,添加点、线、面形状

import folium

Map=folium.Map(location=[30.527831,114.361304],

zoom_start=14,

tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',

attr='default'

)

folium.Marker([30.527831,114.361304],

popup=folium.Popup('武汉大学·信息学部
星湖田径场',max_width=1000),

tooltip='click here'

).add_to(Map)

folium.Polygon([

[30.532729,114.363],

[30.529162,114.354245],

[30.525262,114.358644]

]).add_to(Map)

folium.PolyLine([

[30.533,114.37],

[30.53,114.364],

[30.525,114.368]

],color='green').add_to(Map)

folium.Circle([30.529162,114.354245]

, 500

,color='red'

,fill_color='red'

,fillOpacity=0.5

).add_to(Map)

Map

坐标系统

以高德地图API的坐标提取器为准,取操场位置的坐标,并打在默认地图和高德地图上,可以看到坐标不同

导出html

Map.save('xixi.html')

其他

那么Folium的能力可以参照leaflet。Folium的例子不多,可以看看leaftlet有没有相关的东西,但还是要以Folium的手册为准。

Folium可以可视化GeoJson文件,具体看手册;对于其他类型的数据格式,可以结合shapely、Geopandas等一起使用。

大背景

做地图可视化的方法,通常有

前端地图API,如高德、百度、Mapbox、OpenLayers、Leaflet、Cesium等;

GIS桌面软件,如ArcGIS、QGIS等

其他可视化方法的一部分,如桌面软件Tabluea、Excel,前端的Echarts、D3.js,还有CorelDraw、PhotoShop等

其中

前端的需要一定的JavaScript技能点,至少要会改官网Examples;

桌面软件部分,手动操作不灵活,精细配图会比较好看,功能比较全;

其他方法各取所需,看用途和技能点,如有在Echarts基础上做pyecharts的,也具有一点地图的内容,CorelDraw做地图很好看。。。

python语言近年来比较热,也有很多可视化库可以用,但是在地图的可视化方面很弱。有一些可视化库也支持一点点,如plotly内置的mapbox可视化;还有上面提到的的pyecharts可以做形状,底图(应该)可以用百度地图。但是这些或者不灵活、或者限定了底图,基本能力还是有的,虽然都不全。

背景完,具体内容到页面顶部。

你可能感兴趣的:(python地图可视化框架)