1 引言
利用现代科学技术手段对道路资源进行科学化管理与调度,实时、动态的交通信息通过物联网传送到交通管理部门的控制平台,从而将实时控制指令及时地发送出去,于是出现了城市公共交通信息发布平台或中心的建立与运营。
2 系统分析与总体设计
信息发布平台具有前台系统和后台系统两部分功能。 前台系统向用户提供交通及相关信息服务,后台系统实现对站点中动态数据的管理功能。 为了提供与交通信息相关的城市地图方面的信息,系统中引用了百度动态地图插件,引用了实时动态气象预报功能,从而使系统更具实用性。
2.1 系统模块及功能描述
交通信息发布平台主要包括首页、部门介绍、交通新闻、道路资讯、气象信息、景区指南、交通安全、公众留言和信息管理共 9 个模块。 其中前面的 8 个模块为站点前台用户模块,信息管理为站点后台信息管理模块。
2.2 系统模块及功能
首页模块:包括站点标识图、页面导航条、图片新闻、交通信息、气象信息、城市交通路线、最新公告、道路资讯、交通案例、交通安全知识、友情链接。 用以展示出下级页面的链接,在页面主要位置上及时显示出最新的交通及相关信息。
部门介绍模块:包括部门职责、部门组织机构、隶属单位、联系我们四部分。
交通新闻模块:实时显示交通新闻列表,点击标题即可阅读。
道路资讯模块:包括最新道路资讯、公交路线查询、火车路线查询、航班查询四部分。 与此同时实现动态城市地图功能,为用户提供更为详细的信息查询服务。
气象信息模块:包括显示该城市的天气预报和显示全国各地区的气象图。
景区指南模块:显示各景点的图片和文字简介。
交通安全模块:包括文明交通行动计划、交通事故案例、交通安全知识回归、交通标志认知、安全宣传、交警风采。
公众留言模块:为用户提供留言信息的输入界面。
信息管理模块:包括管理员登陆界面、管理员信息编辑、道路信息浏览、道路信息编辑、新闻浏览、新闻编辑、新闻删除、留言查看、留言删除和返回首页。 通过本模块的设计达到信息平台的综合管理功能。
总体结构如图 1 所示。【1】
3 数据库结构设计与实现
3.1 数据库概念结构设计
本站点划分为前台设计与后台设计,前台是任何用户均可进入的界面,大致划分为新闻的浏览和路线的查询,其中,路线查询主要包括城市公交路线查询、火车路线查询和飞机航班查询。 后台是管理员进行信息管理的界面, 只有正确输入用户名和密码才可进入管理界面,大致划分为新闻的发布和线路的修改。
3.2 数据库逻辑结构设计
本系统定义的数据库中包含: 公交线路数据表、火车路线数据表、飞机航班数据表、留言数据表、管理员数据表、新闻数据表和临时表等。 下面介绍这些数据表中的几个主要数据表的结构。
News 表(新闻数据表):ID(新闻编号);Title (新闻标题);Text (新闻内容);Pic (新闻图片路径);Date (日期);Colun(新闻栏目)。
Bus(公 交线路数据表 ):ID(编 号 );Number (公 交车次);Zdnum(站点编号);Zd(站点)。 在设计数据库结构时,需要设计一个整型字段作为标识列,在表中不会存在两条标识相同的记录。 如果其他表需要引用表 Bus 中的数据,则在表中添加一个 ID 字段就可以了。 在网站的运行中,ID 字段对于用户来说是透明的,用户感觉不到它的存在,也无法对其进行修改。
Traffic2 表(火车路线数据表):ID(编号);Number (火车车次);Zdnum (站点编号);Zd (站点);Price (票价);Starttime (发车时间);Endtime (到站时间)。
Airplane(表飞机航班数据表):ID(编号);Number (飞机航班号);Hkcompany (航空公司);Start (起点);Mid (中转);Dest (终点)。
4 铁路线路查询功能与实现
主要实现通过输入起点站和终点站,为用户查询出相应的火车车次、起止时间、票价等信息。
(1)数据表中存放数据情况分析。 火车路线数据表traffic2 中 的 number 存 放列车编号 ,zdnum 存 放本次列车所经过的站点编号,分别是 00、01、02、…,出发站编号从 00 开始,zd 存放各站点的名称,price 存放前一个站点到本站点的票价, 这样列车出发站点对应用的 price的值为 0,starttime, endtime 分别用来表示列车进站时间和出站时间。
(2)连接数据库 DB1 中的数据表 traffic2,创建数据集 dr,实现信息检索。
(3)创建用来存放检索出来的记录信息的临时数据表对应的数据集 da, 以便将查找到的信息存入临时数据表。
(4) 利用循环实现对 dr 数据集中从头到尾检索每行记录统计出线路信息。
5 道路信息编辑功能与实现
道路信息编辑提供对存放于数据库内的公交、火车、航班数据表的增加、更新、删除编辑操作,以便对这些交通信息及时的发布。 火车信息编辑的核心代码如下:
protectedvoidButton4_Click (objectsender,EventArgse){// 创建 SqlDataAdapte 对象SqlDataAdapterda = newSqlDataAdapter(“select * fromtraffic2”, conn2);SqlCommandBuilderbuilder =newSqlCommandBuilder(da);/ 创建 SqlCommandBuilder 对象DataSetds = newDataSet(); // 创建数据集da.Fill(ds, “stu”); // 数据填充DataRowdd = ds.Tables[“stu”].NewRow(); // 新建数据行dd[“number”] = “”; dd [“zdnum”] = “”; dd [“zd”] =“”;// 赋空值dd [“price”] =0.0F; dd [“starttime”] = “”; dd[“endtime”] = “”;ds.Tables[“stu”].Rows.Add(dd);// 增添数据行da.Update(ds, “stu”);// 更新数据集 dsGridView1.DataBind();}// 绑定表格控件protectedvoidGridView1_RowDeleting (objectsender,GridViewDeleteEventArgse){this.GridView1.DataKeyNames = newstring [] { “id”};// 设定主键stringx = this.GridView1.DataKeys [e.RowIndex].
Value.ToString();SqlConnectionconn = newSqlConnection(“DataSource=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB1.mdf;IntegratedSecurity=True;UserInstance=True”); // 新建数据库连接conn.Open(); // 打开数据连接SqlCommandcmd = newSqlCommand(“deletefromtraffic2 whereid=@UID”, conn);SqlParameterpara = newSqlParameter (“@UID”,SqlDbType.NChar, 4);// 实例化一个参数对象,指定参数的值para.Value = x;cmd.Parameters.Add(para);cmd.ExecuteNonQuery();GridView1.DataBind();} / 数据绑定
6 结束语
结合交通信息服务与管理的实际应用需求,从系统设计与实现的角度做了一些分析与研讨,但是无论从硬件物联网平台的建设,还是信息的加工处理、信息管理平台的研发,新技术与手段应用于交通管理部门将是一个循续渐进的过程,有待深化研究。
参考文献
[1] 王 淑敏着。ASP.NET 动 态网站设计。 北 京 : 清华大学出版社,2012 年 6 月。
[2] 徐人凤着。SQLServer 2000 数据库及应用。北京:高等教育出版社,2009 年 12 月。
[3] 刘光会着。C# 程序设计教程北京:电子工业出版社,2012 年 8 月。
[4] 郑 齐心着。ASP.NET 项 目开发案例。 北 京 : 清华大学出版社,2013 年 5 月。
[5] 张凯着。软 件工程与开发技术。北 京 :清华大学出版社,2012 年1 月。