python在openstreetmap地图上绘制路线图的实现


Posted in Python onJuly 11, 2019

利用python进行经纬度轨迹展示

嘿!各位好久不见,距离第一次发博客已经过去两年多了,本人也从本科生变成了研究生,好了书归正传,最近在做一个关于航班滑行路径轨迹的项目,目的是将航班的经纬度数据在地图上显现出来并生成一条路径,以方便日后的滑行路径优化与分析。本文所用的语言为python,使用的是folium包,数据在flightaware网站上可以找到,使用这个包之前还是需要先进行pip install folium

folium的基本用法

  • folium.Map([纬度,经度],zoom start,width,height,control_scale,no_touch)   #zoom start为地图的初始缩放尺寸,数值越大地图放大程度就会越大,width为像素或百分比(int或者str两种形式),height地图高度,control_scale为是否需要在地图上显示比例尺,默认为false,no_touch为是否禁止触碰地图或拖拽地图,默认为不禁止。这些功能都是可自己选择的,一般来说只需要经度纬度和zoom_start就好了
  • folium.Marker([纬度,经度]).add_to(m)   #在地图上设置一个标志符号
  • folium.PolyLine(location = [[纬度1,经度1],[纬度2,经度2]...],weight,color,opacity).add_to(m)   #在地图上划线将所输入坐标连接起来

python利用folium绘图代码

在装好folium包以后呢,我们就可以使用起来啦,代码如下所示:

from folium import plugins
import folium
import os
m = folium.Map([39.1289, 117.3539], zoom_start=10) #中心区域的确定
location =[[39.1289, 117.3539], [39.1277262, 117.3542938], [39.1277275, 117.3543001], [39.1277262, 117.3542938], 
   [39.1277275, 117.3543001], [39.1277262, 117.3542938], [39.1277262, 117.3542938], 
   [39.1271896, 117.3541359], [39.127121, 117.354126], [39.127121, 117.354126], 
   [39.1269348, 117.3541107], [39.1268692, 117.3541061], [39.1263994, 117.3540649], 
   [39.1257591, 117.3540165], [39.125608, 117.3540192], [39.1251984, 117.3539717], 
   [39.1250038, 117.3539568], [39.1246886, 117.3539276], [39.1246033, 117.3539269], 
   [39.1244316, 117.353912], [39.1242828, 117.353912], [39.1241112, 117.3538971], 
   [39.1238623, 117.3538666], [39.1233153, 117.3538361], [39.1232643, 117.3538374], 
   [39.1230354, 117.3537478], [39.1229895, 117.353714], [39.1228638, 117.3535239], [39.122818, 117.3534493], 
   [39.1227334, 117.353241], [39.1226985, 117.3531494], [39.122652, 117.3530273], [39.122652, 117.3529968], 
   [39.1225821, 117.352829], [39.1225239, 117.3526764], [39.1224861, 117.3525835], [39.1224774, 117.3525391], 
   [39.1224657, 117.3525238], [39.1224174, 117.3523745], [39.1221886, 117.3517625], [39.1221771, 117.3517327], 
   [39.1221399, 117.3516388], [39.1221199, 117.3515834], [39.1220169, 117.3512998], [39.1219769, 117.3512115], 
   [39.1219482, 117.3511057], [39.1219188, 117.3510437], [39.121814, 117.3507996], [39.1217791, 117.3507385], 
   [39.1217558, 117.350708], [39.1215935, 117.3505982], [39.121558, 117.3505859], [39.1213417, 117.3506131], 
   [39.1211014, 117.3507475], [39.121011, 117.3507996], [39.1209528, 117.3508301], [39.120883, 117.3508759], 
   [39.1208481, 117.3509064], [39.1207352, 117.3509714], [39.1204834, 117.3511356], [39.120369, 117.3511953], 
   [39.120369, 117.3511953], [39.1202774, 117.351255], [39.1186409, 117.3522551], [39.1185321, 117.3523254], 
   [39.1182976, 117.3524641], [39.1181374, 117.3525686], [39.1173566, 117.3530426], [39.1171188, 117.3531955], 
   [39.1168213, 117.3533746], [39.1163325, 117.3536682], [39.115867, 117.3539581], [39.1156691, 117.3540802], 
   [39.1156342, 117.3540955], [39.1156342, 117.3540955], [39.1144981, 117.3547927], [39.113551, 117.3553772], 
   [39.113551, 117.3553772], [39.1125069, 117.3559869], [39.1120846, 117.3557129], [39.1120846, 117.3557129], 
   [39.1119118, 117.3553002], [39.1118546, 117.355136], [39.111782, 117.3549652], [39.1115456, 117.3542404], 
   [39.1115958, 117.3540649], [39.1115958, 117.3540649], [39.1128411, 117.3532562], [39.1131786, 117.3530426], 
   [39.113807, 117.3526459], [39.113807, 117.3526459], [39.1191902, 117.3493593], [39.1197308, 117.3490295], 
   [39.1206386, 117.3484802], [39.1208713, 117.3483276], [39.1214676, 117.347971], [39.1214676, 117.347971], 
   [39.1214676, 117.347971], [39.1214676, 117.347971]] #输入坐标点(注意)folium包要求坐标形式以纬度在前,经度在后
route = folium.PolyLine( #polyline方法为将坐标用线段形式连接起来
 location, #将坐标点连接起来
 weight=3, #线的大小为3
 color='orange', #线的颜色为橙色
 opacity=0.8 #线的透明度
).add_to(m) #将这条线添加到刚才的区域m内
m.save(os.path.join(r'C:\Users\Desktop', 'Heatmap1.html')) #将结果以HTML形式保存到桌面上

成果展示(这个应该是要在联网的情况下进行的,有时候图像加载的有一些慢)

python在openstreetmap地图上绘制路线图的实现

Python 相关文章推荐
使用Python中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Python Grid使用和布局详解
Jun 30 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
简单了解python元组tuple相关原理
Dec 02 Python
python实现坦克大战
Apr 24 Python
python实现数字炸弹游戏
Jul 17 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 Python
Keras保存模型并载入模型继续训练的实现
Feb 20 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 #Python
python实现微信自动回复机器人功能
Jul 11 #Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 #Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 #Python
PowerBI和Python关于数据分析的对比
Jul 11 #Python
pow在python中的含义及用法
Jul 11 #Python
Python简单处理坐标排序问题示例
Jul 11 #Python
You might like
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
Python中__new__与__init__方法的区别详解
2015/05/04 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
如何利用python进行时间序列分析
2020/08/04 Python
Hotels.com印度:酒店预订
2019/05/11 全球购物
玲玲的画教学反思
2014/02/04 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
护士实习求职信
2014/06/22 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
停电调休通知
2015/04/16 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python