APP下载

基于地图API的最短距离批量计算

2017-07-25罗孟晗西南大学地理科学学院

数码世界 2017年7期
关键词:网络分析短距离批量

罗孟晗 西南大学地理科学学院

基于地图API的最短距离批量计算

罗孟晗 西南大学地理科学学院

在比较计算城市间最短路径常用方法后,本文结合WebGIS地图API,提供基于实际道路网络最短距离批量计算的一种解决方法。

地图API 最短距离 WebGIS

1 引言

网络分析是GIS应用中的重要领域,而网络分析中最基本最关键的问题之一是最短路径问题,最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其他的度量,如时间、费用、线路容量等。

随着计算机技术的不断发展,WebGIS的发展也为GIS研究提供了新的便利。WebGIS是基于Internet的GIS,它使用Internet环境,为各种GIS应用提供GIS功能(如分析功能、制图功能)和空间数据获取能力。地图API是基于WebGIS为开发者免费提供的一套基于地图服务的应用接口,其数据不断更新,具有很强的时效性,开发者可以通过地图API接口免费获取地图数据,开发者可以个性化建立地图服务,在个人和小型地理信息系统应用具有很好的发展前景。

2 传统最短路径获取方法

在交通路网研究中,求取最短路径的方法主要是利用ArcGIS等软件中的网络分析工具实现,或者根据最短路径算法编程实现。

网络分析工具实现是根据路网矢量数据建立网络数据集,设定边线权重,指定起点和终点,得到最短距离。指定的起点和终点必须是在线上的节点,很难计算城市间实际的时间距离,在研究区域较小时,就会导致较大的距离误差,对研究结果造成影响。要实现城市间最短距离的批量计算还需要利用ArcGIS二次开发工具进行改进。

根据最短路径算法编程实现也是一种主流方法。现有的最短路径算法有很多种,Dijkstra算法、A*算法和Floyd算法等等。Dijkstra算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止;A*算法是一种静态路网中求解最短路最有效的方法,是一种启发式搜索算法,算法中的距离估算值与实际值越接近,最终搜索速度越快。基于算法的编程实现首先需要处理数据,将现有网络抽象为图,不同的算法对于输入数据的要求也不同,要将现有交通道路数据处理为可用并且符合现实情况的数据需要大量的工作。通过以上两种方法要想得到准确符合实际的城市间最短距离,数据来源及处理需要花费大量的精力和时间。

3 地图API批量获取最短路径功能的实现

本文利用百度API接口实现了成渝地区某些城市间的最短路径的批量计算。基于JavaScript的百度地图API支持PC端和移动端基于浏览器的地图应用开发,它提供9类 JavaScript API类参考,此处最短距离计算使用的是服务类中的DrivngRoute类。

3.1 读取数据库中存储的城市名称并初始化地图

为了实现代码的二次利用,数据从数据库读取,放入数组cities,便于批量计算。创建BMap地图实例,本例以重庆为中心,缩放等级设置为6。

3.2 使用for循环

实现最短路径批量计算,在网页中插入button按钮,实现结果的展示:

4 总结

交通网络中的最短距离计算是可达性分析中的基础数据,利用地图API实现最短距离的准确以及批量的计算,提高数据精度,节约了大量时间成本。地图API的出现让更多的人有机会开发属于自己的GIS小型应用,让GIS真正成为了大众化的GIS。

[1]孟令奎,史文中,张鹏林等.网络地理信息系统原理与技术(第二版) [M].科学出版社,2010:131

[2]华杰,基于Google Maps API的WEBGIS应用研究[J],中国高新技术企业,2010(25):82-83

[3]王一剑,GIS领域最短路径算法研究[J],电脑知识与技术,2009,5(1):182-183

猜你喜欢

网络分析短距离批量
基于ISM模型的EPC项目风险网络分析
批量提交在配置分发中的应用
铁路有线调度通信的网络分析
轴对称与最短距离
短距离加速跑
2016年社交网络分析
浅议高校网银批量代发
静力性拉伸对少儿短距离自由泳打腿急效研究
大班幼儿同伴交往的社会网络分析
基于AUTOIT3和VBA的POWERPOINT操作题自动批量批改