使用folium制作出行地图
文章目录
- 写在前面
- 库
- 使用环境
- 正式开始
- folium的安装
- 显示地图
- 为地图做标记
- 人机交互
- 保存地图
写在前面
库
如标题所示,绘制地图所需要的核心库便是folium
,官方文档中有对folium
更全面的使用教程,本篇博文仅限于在地图上标记、注释等部分。
使用环境
所有的代码及演示均默认在Jupyter Notebook下运行。
正式开始
folium的安装
要完成这个实例,首先要先将所需的库import
进来,如果没有安装该库,可用conda安装:
conda install folium -c conda-forge
当然,也可以用pip install folium
安装,不过安装Anaconda以后会附带Jupyter Notebook,正好可以用于此次开发:
显示地图
首先,我们展示一张世界地图,直接使用语句folium.Map()
即可:
显然,这一张粗略的世界地图能展示的信息少得可怜,我们需要将地图变得更加细致,精确到某一地区,这样才有足够的价值。
于是,我们可以给folium.Map()
函数传递一个初始坐标,这个坐标用一个长度为2的list
表示,0位为纬度,1位为经度,以广州为例:
m = folium.Map(location=[23.13,113.27])
同时,我们可以调整初始的放大比例,这需要用到zoomstart
参数:
除了zoomstart
参数,folium.Map()
函数还有许多别的参数,可以用来更换图层风格、地图数据来源:
这些操作,可在官方文档做进一步学习,这里采用默认的OpenStreetMap。
为地图做标记
做标记主要用到folium.Marker().add_to()
函数,Marker()
后面的括号可以对标记做一些设置,add_to()
后面的括号自然就是要添加标记的地图名字。
最基础的就是加一个普通的空白标记,只需要在Marker()
中传入经纬度坐标即可,下图就把广州塔所在的位置标注了出来:
import folium
m = folium.Map(location=[23.13,113.27], zoom_start=12)
CantonTower=[23.10900,113.31915]
folium.Marker(CantonTower).add_to(m)
除了位置,这些标记还可以携带一些文字信息,分为popup
和tooltip
。其中,popup
是点击标签后弹出的内容,而tooltip
则是鼠标停在标签上就会显示的内容。
以folium.Marker(CantonTower,popup=parse_zhch('中国第一高塔'),tooltip=parse_zhch('广州塔')).add_to(m)
为例,鼠标悬停时:
点击标签时:
要注意,直接传入中文会导致乱码,需要下面的函数进行一次转换:
def parse_zhch(s):return str(str(s).encode('ascii' , 'xmlcharrefreplace'))[2:-1]
除了文字信息,标记的图案和颜色也是可以修改的,例如:
folium.Marker(Cailan,popup=parse_zhch('特色点心'),tooltip=parse_zhch('蔡澜港式点心'),icon=folium.Icon(color='green',icon='glyphicon-cutlery')).add_to(m)
更多的图案,可以在这个网站上寻找。
由于是外国网站,所以访问和使用图案的时候,需要“科学上网”。
能够提供图案的不止这一家网站,例如另一个网站,只是调用图案的语句有所不同:
folium.Marker(location = Cailan, popup=parse_zhch('233'), icon=folium.Icon(color='green' , prefix='fa' , icon='adjust')
).add_to(m)
但是这个网站上的一些图案博主即使开“科学上网”也无法正常使用,有些不开就能用,令人摸不着头脑。
人机交互
除了上述打标记并弹出文字的方式外,还有一些其他的与地图交互的方式,比如加上如下语句,就可以在点击地图时显示对应坐标的纬度与经度:
m.add_child(folium.LatLngPopup())
还可以通过这个语句,使得点击过后会在地图上生成新的标记,这个标记同样可以有popup
。不过,上述其他对标记的魔改似乎无法在这种情况下生效:
m.add_child(folium.ClickForMarker(popup='wow'))
失败案例:
成功案例:
保存地图
保存就很简单,使用地图名.save("文件名.html")
即可,生成的文件会保存在.ipynb
同一目录下:
需要注意的是,如果用国外网站的图案魔改了标记,保存时也要打开“科学上网”才行。
使用folium制作出行地图相关推荐
- 使用Folium制作相册地图
使用Folium制作相册地图 folium是JavaScript上著名的交互式地图库leaflet.js为Python提供的接口,通过它,我们可以在Python端调用leaflet的相关功能. lea ...
- 【python绘制地图】使用folium制作地图,可解决多数问题
Python使用folium制作地图并生成png图片 第一章 folium的方法和类的介绍(思维导图) 第二章 使用folium制作地图 第三章 folium实用功能进阶 第三章 使用Html2Ima ...
- python 实现对地图的点击_python使用folium库绘制地图点击框
python使用folium 库生成地图网页的具体代码,供大家参考,具体内容如下 folium 官网 import folium import pandas as pd def mark_map(da ...
- 导数,微积分,牛顿运动学制作创意地图
导数,微积分,牛顿运动学制作创意地图 转载于:https://www.cnblogs.com/liuys635/p/11180988.html
- 中高德地图只显示某一城市_干货 | 如何快速制作数据地图?让你的可视化逼格再高一级!...
在数据可视化中,地图可视化是高频应用的一种.我们在一些新闻报道和商业杂志上,会经常看到运用地图来分析展示商业现象,这样的利用地图来反映和分析数据的形式叫数据地图. 数据地图可以最直观的表达出数据之间的 ...
- python作中国地图背景气泡图_exce表格中怎么制作中国地图背景数据气泡图
exce表格中怎么制作中国地图背景数据气泡图 exce表格中怎么制作中国地图背景数据气泡图?excel表格中想要在中国地图上显示气泡来看看地区分布情况,该怎么设置中国地图气泡图表呢?下面我们就来看看详 ...
- 如何利用自己的数据制作社交地图?只显示可视区域内的标注
地址:http://www.cnblogs.com/milkmap/archive/2012/02/02/2335989.html [百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的 ...
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注...
原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内 ...
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内的标注 ...
- 如何在SuperMap iDesktop制作卫星地图
1.要制作卫星地图,首先要把地图图片导进到数据源中 2.然后点击配准,选择新建配准,参考图层的数据集选择比较容易找到该图片位置的. 3. 在参考图层找到地图位置,把道路相关的数据集添加到参考图层.添加 ...
最新文章
- 找条朋友圈手都刷断了,原来是没有掌握正确的使用姿势...
- java调用easyxml接口_【技术教程】如何通过Java程序调用RTSP拉流协议视频平台EasyNVR程序接口?...
- 【CodeForces - 892C 】Pride (数学,思维构造,gcd)
- VScode远程连接linux
- 用Python绘制了若干张词云图,惊艳了所有人
- 某三甲医院大数据平台建设应用与实践
- 水泊梁山好汉们的排名技巧
- 数据结构与算法-普利姆算法(Prim) | 尚硅谷韩顺平
- 实验4 用JavaBean实现简单计算器
- 【代码审计-JAVA】基于javaweb框架开发的
- 我们游戏后台架构学习
- EChat(简易聊天项目)五、存储聊天记录中的图片
- plc学习入门有什么技巧
- docker指定网桥和网段
- 2021秋招嵌入式笔试面试题目汇总
- 发布坐标转换软件OpenCoord的使用第二集-椭球转换
- 【渝粤题库】陕西师范大学165103 劳动经济学 作业
- php获取nginx真实IP,nginx proxy获取用户真实ip
- 我的大二暑假实验室经历
- Rocky和ChatGPT谈笑风生的日子 |【AI行研商业价值分析】