概述

本文讲讲如何在高德获取地铁数据及后期处理,以北京为例。

实现

获取数据

打开高德地铁,按下F12打开调试模式,切换到network面板,如下:

点击右键,“Open in new tab”,在新窗口中打开。

将页面另存为json数据格式。

数据处理

将拿到的数据写代码转换成两个geojson数据,一个是站点数据,一个线路数据。

  1. 站点数据处理
$.get('data/subway.json', function (res) {var geojson = {'type': 'FeatureCollection','features': []};res = res['l'];var stations = {};for (var i = 0; i < res.length; i++) {const r = res[i];var kn = r['kn'];var ln = r['ln'];var cl = r['cl'];var ls = r['ls'];var st = r['st'];var lineInfo = {kn: kn,ln: ln,cl: cl,ls: ls};for (let j = 0; j < st.length; j++) {var s = st[j];// 站点去重if(!stations[s['poiid']]) {stations[s['poiid']] = true;var coords= s.sl.split(',').map(Number);var properties = Object.assign(s, lineInfo);geojson.features.push({type: 'Feature',geometry: {type: 'Point',coordinates: coords},properties: properties});}}}console.log(JSON.stringify(geojson));
})
  1. 线路数据处理
$.get('data/subway.json', function (res) {var geojson = {'type': 'FeatureCollection','features': []};res = res['l'];for (var i = 0; i < res.length; i++) {const r = res[i];var st = r['st'];var coords = [];for (let j = 0; j < st.length; j++) {var s = st[j];var _coords= s.sl.split(',').map(Number);coords.push(_coords);}geojson.features.push({type: 'Feature',geometry: {type: 'Point',coordinates: coords},properties: r});}console.log(JSON.stringify(geojson));
})

将浏览器console输出的内容拷贝下来,粘贴到一个文本里面,另存为geojson或者json均可。用QGIS打开并做简单的符号化即可得到如下效果。

同时我们将高德的切片地图加进来,将数据的正确性进行验证。从图上来看数据还是比较准确的。

将站点和线路数据导出为shp。根据点连成的线不是很圆滑,我们在arcgis里面做一下平滑处理,在toolbox工具箱中找到Smooth Line工具,Smoothing Algorithm选择BEZIER_INTERPOLATION。

进行平滑处理后的数据,以及原数据的对比如下:

对处理后的线路和站点数据进行简单的配图,一副地铁图就OK了。

如何从高德获取地铁数据相关推荐

  1. Python爬虫|高德地图地铁数据爬取与制图

    目录 一.高德地图数据爬取 1.爬取思路 2.python核心代码 二.Arcmap制图 一.高德地图数据爬取 1.爬取思路 首先,谷歌浏览器打开高德地图官网,点击上方菜单栏地铁进入地铁线路网站如下, ...

  2. 进阶1·调用高德API获取交通数据(多个URL访问,字典提取,while无限循环下的程序间断运行)

    调用高德开放API获取实时交通数据 想法及思路 现在大型网站都提供了好多开放API,根据这些开放API可以做一些比较有趣的东西,本次调用高德开放api实时获取你想知道的道路拥堵状况 工具及技术: Py ...

  3. Python爬取链家网获取二手房数据并调用高德api获得经纬度

    链家网获得数据地址,高德api获得经纬度(同理链家网也可以换成其他58同城,赶集网的数据,因为反爬虫比较厉害,没时间整,就用链家网的数据先试试水) 首先爬链家网,Info包含一条信息 import j ...

  4. vue使用高德地图导航路线失败,获取驾车数据失败:INVALID_USER_SCODE(解决方法)

    高德地图使用路线导航 最近做大屏项目,里面有地图定位,路线导航等方面的功能,在做路线定位是一直都是获取不到导航的路线,经过好长时间的百度看高德api文档终于找到解决方法. 解决方法 添加高德地图安全密 ...

  5. 写一个爬虫来获取地铁信息数据

    用面向对象的方法来获取地铁信息数据 写在前面 具体代码如下 代码说明 这是说明 写在前面 最近在知乎上看到一篇关于地铁数据的分析,该篇文章很全面的分析了大陆(包括澳门香港)有地铁城市的分布.线路.站点 ...

  6. 高德地图--获取poi数据

    根据输入的关键字进行Poi搜索,点击搜索到的结果列表中的一项,返回显示和定位页,定位并显示该地址的详细信息: /* * 售后地图 * Created by wangchm on 2017/4/25 0 ...

  7. 全国地铁数据爬取-python

    介绍爬取全国地铁站点.地铁线路和发车时刻的方法. 一.两种爬取方法概述 (一)html页面爬取 1. 为了收集全国地铁线路的发车时刻信息,刚开始尝试的方法如下: (1)找到每个城市的地铁官网,如&qu ...

  8. Python爬虫实战,pyecharts模块,Python实现中国地铁数据可视化

    前言 利用Python实现中国地铁数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python 版本:3.6.4 相关模块: requests模块; wordcloud模块; 熊猫模块; n ...

  9. 如何搜集一个区域的地铁数据、地质/水文图、卫星/电子图,并整合到ArcGIS中

    在此分享一个实习经历:如何收集广州的在建地铁数据.地质/水文图.人口分布图,以及如何在ArcGIS中进行配准. 1.地铁数据 搜集在建地铁数据时,我最先想到的是访问广州地铁局的官网,当然它并没有,类似 ...

最新文章

  1. C语言字符串处理的库函数
  2. 数组去重与数组扁平化
  3. 计算机PS英语词汇,操作计算机必读(必会)的53个英文单词共享
  4. com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
  5. C 语言程序设计基础不好,想10天考国二C语言程序设计证书,可能吗?
  6. 解决celipse中mybatis使用的时候xml没有提示的问题
  7. 微信也QQ服务器,妄想山海QQ区还是微信区好 平民服务器选择推荐
  8. 央行等四部门发布资管新规全文
  9. 研发人员分层及其工作内容划分
  10. 深度学习_深度学习基础知识_二分类、单标签多分类、多标签多分类、多任务的含义
  11. Python的Excel/Word库
  12. 二进制安装PLG日志服务
  13. 临沂大学 计算机学院,2018临沂大学首届计算机文化节组织动员大会
  14. 腾讯云GPU服务器价格表出炉新鲜的
  15. 激光切割过程中遇到毛边怎么办?
  16. SuperMap 许可简介
  17. 中国无线物联网传感器市场现状研究分析与发展前景预测报告(2022)
  18. CUDA安装和检测【全】(nvcc命令找不到的解决办法)
  19. 想做自媒体副业,有什么领域可推荐?
  20. android remount 命令,Android remount failed解决问题以及/system‘ not in /proc/mounts 解决

热门文章

  1. 配置 MATLAB for Linux 设置启动图标 MATLAB2021a Ubuntu 20.04.3 LTS
  2. podman基础教程
  3. Python3.8安装Pytorch
  4. 使用javascript制作 滚动字幕及时钟
  5. vue.js动态设置VueComponent高度遇到的问题
  6. java.nio.channels.UnresolvedAddressException: null [运行storm-0.9.4集群时]
  7. Adobe Lightroom Classic 2021(LR 2021)
  8. 3星|《混乱》:案例比较有趣,推导过程和结论略牵强
  9. 用友携YonSuite亮相云栖大会,全方位生态合作再提速
  10. gojs实现仿启信宝股权结构关系树图