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

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

作者头像
AI科技大本营
发布于 2023-05-08 05:11:31
发布于 2023-05-08 05:11:31
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

作者 |俊欣

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

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

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

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

01

安装模块

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install folium

02

画一张最简单的地图

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shanghai = folium.Map(location=[31.2304, 121.4737],                      tiles='openstreetmap', zoom_start=12) # 缩放等级

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shanghai.save("test.html")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
【C++高阶】二叉搜索树的全面解析与高效实现
二叉搜索树(BST,Binary Search Tree)又称二叉排序树,是一种特殊的二叉树,它或者是一棵空树,或者是具有以下性质的二叉树:
IsLand1314
2024/10/15
1400
【C++高阶】二叉搜索树的全面解析与高效实现
二叉搜索树的模拟实现
由于这些特性,就使得在该树中查找值非常的方便,大于目前节点的值,就遍历右子树;小于目前节点的值,就遍历左子树。其次,二叉排序树还有以下特点:不可出现重复数据
用户11039529
2024/08/17
1040
二叉搜索树的模拟实现
二叉查找树 C++实现(含完整代码)
       一般二叉树的查找是通过遍历整棵二叉树实现,效率较低。二叉查找树是一种特殊的二叉树,可以提高查找的效率。二叉查找树又称为二叉排序树或二叉搜索树。
Tencent JCoder
2022/05/06
7170
二叉查找树 C++实现(含完整代码)
C++两种方法实现二叉搜索树
a.从根节点出发,如果要找的值大于当前的节点值,去右边找, 如果要找的值小于当前的节点值,则去左边找, 如果相等则表示找到了。 b.如果值存在的话,最多查找高度次
Yui_
2024/10/15
930
C++两种方法实现二叉搜索树
【C++进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫
在我们目前的学习中,二叉搜索树最重要的用途就是key--val模型,KV模型就是每一个key值都对应一个val值,这样就形成一个<key,val>键值对,这样的应用在生活中是非常常见的
GG Bond1
2024/07/20
1000
【C++进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫
C++之搜索二叉树
本文介绍了二叉搜索树的相关概念,主要介绍了如何使用和实现搜索二叉树以及搜索二叉树具体的例题练习。
摘星
2023/04/28
5440
C++之搜索二叉树
【C++进阶】探秘二叉搜索树
本篇文章将介绍一种功能更加强大的二叉树——二叉搜索树。 相比于普通的二叉树,二叉搜索树在很多方面都有优势,尤其是在查找数据上效率明显提高,并且通过中序遍历二叉搜索树它所存储的数据是有序的。
_小羊_
2024/10/16
600
【C++进阶】探秘二叉搜索树
C++:二叉搜索树
二叉搜索树(BST, Binary Search Tree)又叫做二叉排序树,它可以是一颗空树,其性质如下:
二肥是只大懒蓝猫
2023/03/30
2870
C++:二叉搜索树
【C++的剃刀】我不允许你还不会二叉搜索树BST
1. K模型:K模型即只有key作为关键码,结构中只需要存储Key即可,关键码即为需要搜索到 的值。 比如:给一个单词word,判断该单词是否拼写正确,具体方式如下:
小文要打代码
2024/10/16
990
【C++的剃刀】我不允许你还不会二叉搜索树BST
C++二叉搜索树与KV模型
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分别为二叉搜索树
有礼貌的灰绅士
2023/04/12
4220
C++二叉搜索树与KV模型
今天你学C++了吗?——二叉搜索树的拓展
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个人主页✨✨✨✨✨✨
用户11352420
2025/03/26
960
今天你学C++了吗?——二叉搜索树的拓展
二叉树进阶之二叉搜索树
还有一个注意的点: 二叉搜索树的中序遍历一定可以是一个有序的序列,并且再插入节点后依旧是一个二叉搜索树的结构!
ahao
2024/03/19
880
二叉树进阶之二叉搜索树
C++【二叉搜索树】
时隔多日,又回到了二叉树的学习中,在 C++ 进阶中,我们首先要学习 二叉搜索树,重新捡起二叉树的相关知识,然后会学习 AVL 树 及 红黑树,最后会用红黑树封装实现库中的 set 和 map,作为 C++ 进阶中的难度最高峰,整个学习过程非常艰辛,但 关关难过关关过,让我们先从比较简单的 二叉搜索树 开始学习
北 海
2023/07/01
1910
C++【二叉搜索树】
【C++篇】数据之林:解读二叉搜索树的优雅结构与运算哲学
二叉搜索树(Binary Search Tree, BST)是一种重要的数据结构,广泛应用于计算机科学中的数据管理和检索。它允许高效的查找、插入和删除操作,且在最佳情况下能够达到对数时间复杂度。
半截诗
2025/05/29
1350
【C++篇】数据之林:解读二叉搜索树的优雅结构与运算哲学
【C++】二叉搜索树
int a[] = {8, 3, 1, 10, 6, 4, 7, 14, 13};
啊QQQQQ
2024/11/19
1470
【C++】二叉搜索树
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
二叉搜索树(BST, Binary Search Tree)又称二叉排序树或二叉查找树,它或者是一棵空树,或者具有以下性质的二叉树:
枫叶丹
2024/06/04
1150
【C++航海王:追寻罗杰的编程之路】一篇文章带你了解二叉搜索树
【C++】二叉搜索树 - 从基础概念到代码实现
最优情况下,二叉搜索树为完全二叉树(或者接近完全二叉树),其高度为:log2 N 最差情况下,二叉搜索树退化为单指树,其高度为:N 所以综合而言二叉搜索树增删查改的时间复杂度为:O(N)
_孙同学
2025/04/27
1310
【C++】二叉搜索树 - 从基础概念到代码实现
种树:二叉树、二叉搜索树、AVL树、红黑树、哈夫曼树、B树、树与森林
树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家 谱、单位的组织架构、等等。 树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就 是说它是根朝上,而叶朝下的。
看、未来
2020/08/25
1.2K0
种树:二叉树、二叉搜索树、AVL树、红黑树、哈夫曼树、B树、树与森林
二叉搜索树实现教程:用C++实现数据存储与查找
最优情况下,⼆叉搜索树为完全⼆叉树(或者接近完全⼆叉树),其⾼度为:O(log2N) 最差情况下,⼆叉搜索树退化为单支树(或者类似单⽀),其⾼度为:O(N /2) 所以综合而言⼆叉搜索树增删查改时间复杂度为:O(N) 那么这样的效率显然是无法满⾜我们需求的,在后续当中还有平衡⼆叉搜索树AVL树和红⿊树,才能适用于我们在内存中存储和搜索数据。
用户11286421
2024/11/21
1110
二叉搜索树实现教程:用C++实现数据存储与查找
【数据结构】二叉搜索树BSTree
(注意:不能插入重复的元素,并且每次插入都是要定位到空节点的位置;我们先定义一个 cur从root开始,比较元素的大小:若插入的元素比当前位置元素小就往左走,比当前位置元素大就往右走,直到为空,相等就不能插入了;同时定义一个parent去记录当前 cur的前一个位置,最后判断cur是parent的左子树还是右子树即可)
平凡的人1
2023/10/15
2650
【数据结构】二叉搜索树BSTree
推荐阅读
相关推荐
【C++高阶】二叉搜索树的全面解析与高效实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档