前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >介绍如何用 Python 来绘制高清的交互式地图,建议收藏

介绍如何用 Python 来绘制高清的交互式地图,建议收藏

作者头像
AI科技大本营
发布2023-05-08 13:11:31
8470
发布2023-05-08 13:11:31
举报

作者 |俊欣

来源 |关于数据分析与可视化

今天小编来为大家介绍一个叫做Folium的模块,我们可以用它来绘制高清的交互式地图,并且标注出重要的地理位置等等,读者在看过本篇文章之后,读者大致会掌握

1. 使用Folium来进行交互式地图的绘制

2. 在地图上标注出重要的建筑物

01

安装模块

代码语言:javascript
复制
pip install folium

02

画一张最简单的地图

我们先来绘制一张简单的地图,以上海为例,上海的经纬度(31.2304, 121.4737)为例,并且我们可以自行设置缩放级别,代码如下

代码语言:javascript
复制
shanghai = folium.Map(location=[31.2304, 121.4737],                      tiles='openstreetmap', zoom_start=12) # 缩放等级

出来的结果如下图所示,为了更加清晰的区域,我们可以简单地增加缩放级别,通过点击“+”或者“-”号在图的周围增加或者减少缩放,当然我们也可以双击地图进一步放大

当然我们也可以保存成html的格式

代码语言:javascript
复制
shanghai.save("test.html")

当然我们也可以设置地图的纹理样式,上述中的代码,地图的纹理样式默认的是“OpenStreetMap”,在这基础之上,我们也可以将其他几种纹理样式给添加上去,如“Stamen Terrain”样式、“Stamen Toner”样式以及“Mapbox Bright”样式等等,代码如下

代码语言:javascript
复制
shanghai = folium.Map(location=[31.2304, 121.4737],                       tiles='openstreetmap', zoom_start=12)
folium.raster_layers.TileLayer('Open Street Map').add_to(shanghai)
folium.raster_layers.TileLayer('Stamen Terrain').add_to(shanghai)
folium.raster_layers.TileLayer('Stamen Toner').add_to(shanghai)
folium.raster_layers.TileLayer('Stamen Watercolor').add_to(shanghai)
folium.LayerControl().add_to(shanghai)

出来的结果如下图所示,大家可以根据自己的审美酌情选择

03

在地图上做标记

我们同时也可以在地图上做标记,比如标出一些标志性建筑等等,例如上海的话,就像是我们所熟知的“东方明珠塔”、“上海博物馆”等地,我们根据这些标志性建筑的经纬度来打上标记,代码如下

代码语言:javascript
复制
shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',                      zoom_start=12)
folium.Marker([31.2397, 121.4998], popup = '<i>东方明珠塔</i>',              icon=folium.Icon(icon="cloud"),).add_to(shanghai)
folium.Marker([31.2343, 121.5079], popup = '<i>上海环球金融中心</i>',              icon=folium.Icon(color="red", icon="info-sign"),).add_to(shanghai)
folium.Marker([31.1922, 121.3343], popup = '<i>上海虹桥机场</i>',              icon=folium.Icon(color="green"),).add_to(shanghai)
folium.Marker([31.2283, 121.4755], popup = '<i>上海博物馆</i>',              icon=folium.Icon(color="purple"),).add_to(shanghai)
shanghai

出来的结果如下图所示

当然我们还可以在地图上画圈圈,例如圈出上海市中心相对繁华的地方,

代码语言:javascript
复制
shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',                      zoom_start=12)folium.Circle(location = [31.2297, 121.4762], radius = 900,              color = "purple").add_to(shanghai)shanghai

我们也可以把圈出来的区域填充上颜色

代码语言:javascript
复制
shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',                      zoom_start=12)folium.Circle(location = [31.2297, 121.4762], radius = 900,              color = "purple", fill = True, fill_color = "yellow").add_to(shanghai)shanghai

Folium另外还有很多精致的地图可视化效果,感兴趣的童鞋可以通过阅读其官方文档来进行了解,

资讯

AI被当做炒作工具?

资讯

Gartner 发布人工智能技术曲线

资讯

清华大学 AI 学生华智冰火了

资讯

AI不可以作为专利认证发明人

分享

点收藏

点点赞

点在看

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档