今天我们用python来获取道路数据,并根据数据进行简化和可视化分析

当今社会每个人都离不开导航

除了开车用导航外,其实走路、骑车、公交都可以导航

选址和找餐厅、酒店也需要

如果一个城市能够标注所以公交厕所也是很有必要的。

当然,实现这一切都需要我们拥有道路数据,标示道路交叉路口、死胡同、红路灯灯,并能够计算道路长度,最短路径和规划线路。

今天实现这一切都依赖地图公司的API接口和SDK,导航APP应用,利用这一切并不新鲜很是方便。比如如果你开发的APP需要具备这些功能可以直接利用百度LBS的API接口即可实现。

但如果我们需要进行分析型的道路分析和城市规划应用,就需要有更好的办法获取道路数据,并能够进行计算和建模,特别是网络分析的建模和度量指标,在结合区块区域Ploygon,兴趣点POI等进行匹配分析,从而实现选址、整体布局、设施评价等带来大数据分析的建模思想。

恰好前段时间看到一篇Geoff Boeing的博客提供了OSMnx的Python包,OSM是Open Street Map开源地图数据库,可以部分解决这个想法,非常棒,我们一起来玩玩!

我的环境是Mac系统安装了Anaconda的Python环境,用Conda Install OSMnx包(说明:windows操作系统下安装比较麻烦)

首先我们加载osmnx包

假如我们希望得到北京市朝阳区的交通道路数据,我们先熟悉一下朝阳区的区块Polygon

选择朝阳区后,可以得到朝阳的行政区块数据

我们在看看能否得到更细致的区块数据:北京大学校园占地区域

北京大学未名湖的Polygon数据

这样我们大概可以了解,理论上我们可以得到OSM地图上,全球范围内的所有国家、地区、城市、区县、小区、单位、建筑等,甚至是每一栋楼的区块数据。当然前提是OSM地图有这个Place标记。

下面我们看看如何获得道路数据:

我们先以北京市的道路数据看看(数据量比较大,需要一定的等待时间)

北京市行政区域道路数据:

根据道路的距离可视化:距离越长显示红色,越短显示黄色

根据道路的单行线标示颜色,红色是oneway道路

我们也可以同样得到朝阳区的道路数据,这里需要注意我们可以指定得到道路数据的类型:drive=驾驶,walk=步行,bike=自行车,包括指定公共道路和私家道路。

朝阳区内道路:walk类型

接下来,我们可以任意给定一个坐标点(经纬度坐标,lan-long),设定距离distance多远,获取坐标点距离多少的道路数据。

我以中国传媒大学的俺家为中心点,距离2000米范围,得到道路数据:

从图中我们可以看到这些道路的打点数据,某些点数据有标示:交叉路口、红路灯位置、死胡同等标示。

我们可以把获得的道路数据保存下来,存储成为:Shapefiles、GarphML和SVG格式文件。

这样可以将存储的node点数据和edge边数据用Tableau或Alteryx,或者Folium进行可视化。

我们也可以根据数据类型对道路数据进行简化,比如去掉一些点仅保留交叉路口点(有严格和非严格方式);

上面的红色点将可以被简化掉。

也可以显示不同线路长度的可视化

我们获得传媒大学隔壁的二外道路数据:bike类型

然后我们统计这部分道路的统计量

看看betweenness-centrality的点在哪里?

这个红点应该是二外的中介最高的交叉点。

有些同学可能不知道我们想分析或计算的坐标点,其实有很多种方法获取特定位置的经纬度坐标,比如:你可以导入Folium可视化地图包,点击地图就可以弹出经纬度坐标数据:

下面我们看看天安门,我选国旗位置点1500米范围的道路数据:walk类型

获得两个点的最短路径线路数据

也可以指定_起点:Origin_Point,终点:Destination_Point计算两点的路径和规划线路节点

更多Python视频、源码、资料加群683380553免费获取

从这些功能和计算上我们可以看到:导航是如何实现的,当然我这里就是玩玩,并没用具体的意义,至少同学们学习后可以知道基于地图数据的线路规划是啥意思,一般的原理!

其实这些算法的前景还是很广泛的,可能能够评测一家餐厅的道路方便性是重要的指标,选址和城市规划也是。

最近好像共享自行车比较火,如果能够获得人们的骑行线路,分析的思路应该有帮助!

当然,最终的地理空间数据是大数据的重要组成部分,如果根据多边形Ploygon和POI兴趣点进行数据匹配和测算,从分析型挖掘的角度应用前景广泛。后面我将继续介绍些应用算法。

推广思路上,我们可以想象地铁线路、公交线路等等道理相似。未来的车联网、道路传感器都需要这些数据的支持!

用python依赖地图公司的API接口和SDK实现道路数据可视化分析相关推荐

  1. Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示

    Python 调用有道翻译 api 接口翻译整篇西班牙文实战演示 第一章:翻译效果展示 ① 翻译文章示例一[阿尔卡拉门的无海摩纳哥:"不到4万欧元,你就不能在这里租任何东西."] ...

  2. 小红书商品详情API接口(商品详情页面数据接口)

    小红书商品详情API接口(商品详情页面数据接口)代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中,点击获取请求key和secr ...

  3. 淘宝京东拼多多抖音淘特1688等多平台商品APP详情API接口(商品详情页面数据接口,商品销量接口,关键词搜索商品销量接口)

    淘宝京东拼多多抖音淘特1688等多平台商品APP详情API接口(商品详情页面数据接口,商品销量接口,关键词搜索商品销量接口)代码对接如下: 1.公共参数 名称 类型 必须 描述 key String ...

  4. php新浪获取ip接口,【php】利用新浪api接口与php获取远程数据的步骤,获取IP地址,并获取相应的IP归属地...

    [php]利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地 本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地 ...

  5. 利用百度地图api将excel中的经纬度数据可视化

    利用百度地图api将excel中的经纬度数据可视化 因为本人最近在研究2019年研究生数学建模华为杯D题,想将它3个excel文件汽车的经纬度数据在地图上画出来,找了很多方法才实现.现将它分享给大家, ...

  6. python大数据可视化分析淘宝商品,开专卖店不行啊

    python大数据可视化分析淘宝商品,开专卖店不行啊 现如今大数据分析异常火爆,如何正确分析数据,并且抓住数据特点,获得不为人知的秘密?今天沉默带你用python爬虫,爬取淘宝网站进行淘宝商品大数据分 ...

  7. 基于Python的南京二手房数据可视化分析

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  8. python导出数据顿号做分隔符_Python语言和matplotlib库做数据可视化分析

    这是我的第51篇原创文章,关于数据可视化分析. 阅读完本文,你可以知道: 1 Python语言的可视化库-matplotlib? 2 使用matplotlib实现常用的可视化? 0前言 数据记者和信息 ...

  9. 基于Python语言的PUBG游戏数据可视化分析系统

    [success]写于2019年大作业[/success] 博客链接:https://www.iamzlt.com/?p=299 代码链接请到博客链接内查看. 摘要 随着网络技术的兴起和普及,网络游戏 ...

最新文章

  1. Android 改变窗口标题栏的布局
  2. Elasticsearch Aggregation 多个字段分组统计 Java API实现
  3. EOS安全漏洞再发,BCH将如何兼顾智能合约效率与安全?
  4. mac系统python写文件_Mac中py文件转为.command文件,双击运行
  5. 201421123042 《Java程序设计》第8周学习总结
  6. codeforces1438 E.Yurii Can Do Everything
  7. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例
  8. eclipse项目一直显示有错,但是一直找不到错误在哪里
  9. 导出jar包和api文档
  10. shell表达语句中,各种符号的释义 用法
  11. 《电路》邱关源 思维导图 第一章-电路模型和电路定律
  12. vmware linux虚拟机网络配置
  13. STM32下载编程工具 | STVP介绍、下载、安装和使用教程
  14. 苹果cms模板_万词无限模板站群黑帽SEO利器
  15. 如何安装linux系统步骤
  16. 虚拟存储器:页面置换算法
  17. 老罗的锤子,3000块钱贵吗?
  18. DHCP协议说明及报文分析
  19. Error mounting /dev/sda7 at 解决方法
  20. 2010互联网第一件大事件——谷歌退出中国内地

热门文章

  1. coc跑团san数值规则_从新手到入门但其实没有入门的coc跑团教程---pl篇
  2. MEMS电容式加速度传感器(简介)-传感器专题
  3. json数据解析与JAVA对象转换以及在JQUERY中的使用
  4. java 设置 缓冲区大小_java – 确定适当的缓冲区大小
  5. C语言宏定义(常用宏定义)
  6. 通过网络地址下载图片示例
  7. judgement_mna_2016
  8. CSDN-专业IT技术社区
  9. Github 中的 Watch、Star、Fork
  10. 东大计算机考研录取分数线,东南大学2020初试考研录取分数线名单