基于物联网的智能交通道路导航系统
2018-10-25温毓铭滕国文杨建强
温毓铭 滕国文 杨建强
摘 要: 现代社会车辆拥堵已经成为影响人们出行的一大障碍,如何获得有效出行路径规划,避免拥堵是智能交通最需要解决的问题。智能交通,作为物联网非常重要的发展领域,越来越被社会所需要。在研究了人们使用道路导航系统所需要的基本功能的基础上,分别对数据库模型设计,程序架构设计,操作界面布局等进行了研发。
关键词: 车辆拥堵; 智能交通; 物联网; 道路导航
中图分类号:TP399 文献标志码:A 文章编号:1006-8228(2018)09-11-03
Abstract: Vehicle congestion in modern society has become one of the biggest obstacles to people's travel, how to obtain effective travel route planning and avoid congestion is the most important problem to be solved in intelligent transportation. Intelligent transportation, as a very important development area of IoT, is more and more needed by society. Under such background, this paper collects the basic functions that people need to use in the road navigation system, and researches and develops the database model design, the program architecture design and the operation interface layout respectively.
Key words: vehicle congestion; intelligent transportation; Internet of Things; road navigation
0 引言
道路導航系统近年来得到广泛应用,它的出现为人们日常出行带来了很多便利,是物联网中智能交通十分成功的应用。智能交通给人们生活搭建起了智能的灵魂和思想,给城市现代化注入了新的精髓,对现在科技的发展可谓是大有裨益[1]。
对于一个成熟的道路导航系统而言,道路指示需要合理化。本文正是在这样的背景下进行开发和设计的,本课题的设计平台采用c#集成开发环境,利用c#语言进行编程开发和代码实现,采用SQL SERVER数据库管理数据。
1 物联网简介
物联网是互联网的一种更为先进的形态,是由分组数据技术而发展开来的。物联网对于网络有很多要求,对于安全性、稳定性、同步性等都有非常高的要求[2]。
2 系统开发技术介绍
2.1 C#语言
C#是一种面向对象的语言,在使用过程中有隐蔽性,具有安全高效方便健壮的特点。以优秀的代码编译结构、良好的多功能处理能力成为了.NET开发的首选语言,在计算领域和计算通信领域中大放异彩。
2.2 SQL SERVER
SQL SERVER是一种安全、便捷、支持多平台的数据库系统[3]。
3 系统设计
3.1 可行性分析
从技术方面来讲,由于C#技术学习方便,提供了大量的接口,可以利用现有的技术来完成开发工作;从经济方面来讲,只要具有计算机就可以十分容易的进行开发工作,开发成本是比较低的,能够满足经济的要求;从操作方面来讲,可以十分方便的实现与用户之间的交互,做到操作简单方便。
由于本文设计的导航系统功能简单易用,开发技术和数据库开发技术也比较成熟,用户可以十分方便地调用系统提供的很多接口,因此,应用开发不存在任何的技术难度,能够实现这个系统。从搜集的资料和查阅的文献来看,本文设计开发的系统对计算机硬件没有任何特殊的要求。系统完全可以从技术做到与用户良好的互动,使设计的界面做到友好,操作步骤简单可行。
3.2 功能需求
本文设计的道路导航系统提供的是一个简单实用的道路导航系统,具备其他一般道路导航系统所必须具备的一般功能。具体功能如下。
⑴ 开始导航
① 载入地图并启动程序:实现地图的载入。
② 计算路线距离:在地图上选择起点和终点,进行距离计算。
③ 拥堵管理:通过选择地点显示其线路的起点和终点,对当前的交通状况进行设置,包括设置拥堵和解除拥堵两种方式。
⑵ 添加路段
可实现左键添加、选择、更改节点,右键删除节点,也可直接拖动添加线路。
3.3 性能需求
使用者按照他需要完成的目的、操作的方式来定制软件,实现一系列的功能。在设计是就需要调查这个功能的普遍需求,从而求得大部分人们的认可,这样可以保证功能的基础上增加使用的价值,一个好的优秀的软件是会做到这样的平衡的。
3.4 软件质量属性包括
⑴ 有效性:指的是在系统运行的时间中,真正做到系统可用和运行时间完全私有化两点所占据的时间百分比。
⑵ 效率性:如果一个软件的运行需要系统非常大部分的资源,那么就会导致系统卡顿,不流畅。所以一个软件的占用率是很重要的评比标准,这个特性就是高效性。
⑶ 灵活性:是指对设备进行功能升级时所需要的时间和工效。
⑷ 全面性:全面性(安全性)可以实现以下功能,在系统运行期间防止非法的用户和相关程序访问系统,防止不法的个人数据进入系统的数据库从而做到可靠,健壮。
⑸ 互访问性:这是本机与其他相同或者不同设备的互相访问的困难级别[4]。
4 系统分析设计
4.1 总体设计
基于物联网的道路导航系统设计主要包括动态规划和求最短路径功能。本系统通过研究其他道路导航系统,针对目前实际情况,设计实现的主要功能包括:路径的规划、节点及路线的管理以及距离的计算和拥堵路段管理,详细说明如表1所示。
通过上面的功能分析,道路导航的功能模块划分已然完成。要想把整个道路导航系统较好的通过模块之间的关系搭建出来,还需要分析一个模块与其他模块之间的关系,通过其共有的部分将其串联起来,才算将道路导航系统比较完整的架构出来。
4.2 数据库设计
道路导航系统的实现离不开数据库的支撑,因为对于旅游分享系统来讲会有大量的信息需要存储,而信息的存储目前多数采用数据库实现,在比较了SQL SERVER、ORACLE、MYSQL等多种数据库的优缺点后,本文采用SQL SERVER数据库,它体积较小,运行速度快,比较适合快速开发,且存储安全可靠,便于整合管理,运行速度快。
5 详细设计
5.1 算法设计
Dijkstra是用于计算从一个节点出发到其余节点最短路径的算法。采用的思路如下。
⑴ 创建两个表,OPEN,CLOSE。
⑵ OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。
⑶ 访问路网中距离起始点最近且没有被检查过的点,把该点放入OPEN组等待检查。
⑷ OPEN表中找出距起始点最近的点,找出这个点的所有子节点,放到CLOSE表中。
⑸ 遍历这个点的子节点。求出这些子节点距起始点的距离,放子节点到OPEN表中。
⑹ 重复第2和第3步,直到OPEN表为空,或找到目标点[5]。
5.2 流程图设计
线路流程图设计如图1所示。
用户先选择起点位置,然后选择目的位置,之后把相关数据发送到服务器,服务器对数据进行分析判断,返回需求信息给客户端,客户端通过算法在道路导航系统上进行显示。
5.3 地图初始化流程图设计
地图初始化的过程是地图进行加载的过程,由界面布局加载、地图和定位信息初始化、和图层的初始化组成。
5.4 界面设计
5.4.1 主界面设计
程序的开始由背景和功能按鈕组成,按钮分别为开始导航和添加路段。
5.4.2 添加路段界面设计
添加路段界面包括节点信息添加、节点信息显示、节点信息修改、节点信息保存和返回。
5.4.3 导航界面设计
导航界面主要实现地图载入、程序的启动、线路选择、拥堵管理以及计算距离等功能,也可直接返回主界面,如图2所示。
6 结束语
本文所研发的道路导航系统,具有易用、实用的优点。在下一步的研发过程中,我们会对已有的道路导航系统,学习和分析,结合我国交通实际情况,加入交通状况的实时参考因素,对规划算法进行优化,从而来适应越来越多交通状况。目前我国在交通行业发展取得了很大的进步,国家对道路交通所出现的问题越来越重视。我们会更加努力,为祖国在智能交通行业贡献自己的力量。
参考文献(References):
[1] 张望.智能交通对城市空间的影响[J].规划师,2017.33(S1):78-82
[2] 张玉清,周威,彭安妮.物联网安全综述[J].计算机研究与发展,2017.54(10):2130-2143
[3] 王珊.数据库系统概论(第4版)[M].高等教育出版社,2006.
[4] 杨剑.数据结构[M].清华大学出版社,2011.
[5] 滕国文.算法设计方法与优化[M].清华大学出版社,2013.