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

发布时间:2020-08-28 23:14:52

来源:脚本之家

阅读:111

作者:AAAAAAAKing

利用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在地图上画路线_python在openstreetmap地图上绘制路线图的实现相关推荐

  1. python怎么在散点图上画圆圈_Python如何在图片上画一个实心圆

    有时候我们需要对图片进行标记操作,即在原图的基础上进行画出一些图案,这里给出画一个实心圆的相关方法,基于Python. 工具/原料 win10系统64位 winPython集成软件 方法/步骤 1 集 ...

  2. python中怎样在图片上画线段_python 实现PIL模块在图片画线写字

    图片上画线条 import sys from PIL import Image,ImageDraw im = Image.open("th.png") draw = ImageDr ...

  3. python flask上传文件_Python之利用Flask上传文件、Flask_RESTful

    Flask上传文件 回顾知识点form表单中,一旦涉及到上传文件就要就必须要有enctype属性,而且必须等于multipart/form-data.而且提交方式为'post',method = 'p ...

  4. python post 上传文件_Python通过POST方式上传文件及提交参数到远程服务器

    前言 在树莓派开发过程中,因为没有公网IP,为了方便访问获取信息,有时候我们需要将树莓派获取到的一些数据或文件上传到云端服务器.这是一个比较简便的方法. Python代码 需要用到requests库, ...

  5. python的turtle怎么画曲线_python学习第20节:Turtle海龟绘图

    一.Turtle绘图 1.1.画一条线 如何让这只乌龟在界面上画一条线呢?如同我们用笔写字一样,需要经过"落笔"."划过"."抬笔".&qu ...

  6. python的turtle怎么画曲线_python怎么画曲线图,

    如何用python turtle 画n阶希尔伯特曲线 工大少年你好 Python如何画函数的曲线 输下导入我们用到数库. >>> import numpy as np >> ...

  7. python打包后启动很慢_Python在Windows 7上启动非常慢

    Python在我的Windows 7机器上的加载时间是在VM上运行的Ubuntu 14.04的17倍(在同一硬件上的Windows内部).Anaconda3发行版用于Windows和Ubuntu的默认 ...

  8. android百度地图根据点路线规划,Android 百度地图路径规划一直都是搜索不到结果...

    百度地图api2.4.1 在发起步行路径检索的时候 onGetWalkingRouteResult回调方法中的结果总是空的,即使直接复制api的代码也不对. 坐标我是用的百度地图的拾取坐标系统获取的坐 ...

  9. python在地图上画路线_使用Python和Perl绘制北京跑步地图

    当你在一个城市,穿越大街小巷,跑步跑了几千公里之后,一个显而易见的想法是,如果能把在这个城市的所有路线全部画出来,会是怎样的景象呢? 文章代码比较多,为了不吊人胃口,先看看最终效果,上到北七家,下到南 ...

最新文章

  1. JSBinding+SharpKit / 菜单介绍
  2. 快速撑握C#知识点之变量,类型及类型转换
  3. vue点击按钮切换显示不同内容_邂逅Vue
  4. C++:17---函数指针
  5. 【JEECG技术博文】JEECG国际化介绍
  6. git 别名_Git别名简介:使用Git的更快方法
  7. 设计模式:001面向对象设计原则
  8. 机器学习——数据预处理
  9. New Handler
  10. 查看Android设备的分辨率
  11. Cocos2dx 3.0 交流篇
  12. Java简单代码-用*号拼三角形
  13. 抓取青果教务系统信息
  14. 八类网线和七类网线的区别_八类网线你用过吗?与六类、七类等网线有啥区别?...
  15. 又一家初创公司获得数千万融资进军边缘计算赛道!
  16. Win10开了热点之后,电脑不能上网怎么解决?
  17. linux下安装了lxml但依然报错rom lxml import etreeModuleNotFoundError: No module named ‘lxml‘
  18. Robosense速腾激光雷达使用坐标变换功能
  19. buildroot 交叉编译 剥离arm架构的二进制文件
  20. PIC18F45k22单片机程序文件目录存放架构

热门文章

  1. 【贪玩巴斯】Unity初学圣经Part2-C#基础——Day 01:C#基础之——命名空间、类、方法、变量的声明赋值和相关知识以及.NETC#关系讲解 2022年3月28日
  2. 如何将pbootcms网站留言发送到邮箱附上教程
  3. Java版本新零售SaaS数字商城和数字门店小程序商城
  4. java基于微信小程序的在线购物商城系统 uniapp 小程序
  5. nginx之nginx.cof详解
  6. FW:岳飞被杀真实原因揭密:只因是…
  7. 【ABAQUS】搞定ABAQUS与SolidWorks2无缝集成
  8. 使用winscp复制字符串出现多余字符串(0~和1~)的解决方案
  9. pygame网络游戏_5_4:网络编程_设计通信协议
  10. php怎么实现拼图功能,布局拼图功能实现