基于Gis的火车换乘系统的设计毕业论文.docx
- 文档编号:27891701
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:52
- 大小:723.39KB
基于Gis的火车换乘系统的设计毕业论文.docx
《基于Gis的火车换乘系统的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Gis的火车换乘系统的设计毕业论文.docx(52页珍藏版)》请在冰豆网上搜索。
基于Gis的火车换乘系统的设计毕业论文
基于Gis的火车换乘系统的设计毕业论文
◆1绪论
●1.1引言
铁路建设的积极推进,更多的火车车次和铁路运输线投入到使用当中。
而且随着现代化工业发展的有力步伐,也涌现出了很多不同种类的火车出行方式。
最近的高速铁路、省会直达都是令人振奋的消息,这样我们出行就有了更多的选择方式,而这仅仅是针对我们的火车。
这就为出行者带来了一定的困扰尤其是在像、、等城市有众多的铁路线在这里交汇,从出发点可以到达目的地的火车有十几条之多,然而如何能在有限的时间选择出我们最佳的出行路线呢?
现在是信息化时代,在多源化的铁路信息中我们如何去整合他们并有效地加以组织利用成了关键性的问题。
而随着GIS的发展将GIS运用到火车出行系统当中,更能解决很多的出行选择难题。
同时能够有效地组织各种信息数据,使它真正能够为我们出行服务。
●1.2设计论文背景
目前很多有很多的火车查询软件包括网络上的,然而其中的大部分都只是简单的时间数据库查询,就是简单的火车时刻表的查询。
对于很多用户在日常生活中遇到的问题不能很好的解决,更不能实现火车的换乘查询,也不能将火车信息可视化的显示在地图当中。
这就严重的影响了用户使用软件的效果。
例如某个火车查询提供给用户三种火车查询的方法车站查询、车次查询、出发地目的地查询这三种查询方式。
每次的查询都是只将基本的火车信息全部罗列在用户面前,而太多的数据并不是用户关心的数据,并且系统也没有给用户提供自定义查询的接口从而缩小查询的围使用户更容易的得到所关心的数据。
并且由于种种限制也不能将有效的数据实时的以可视化的方式呈现在用户面前,使用户在查询时还要逐一筛选。
这只是其中的一个问题,而本系统将会一一解决这样的问题。
●1.3火车换乘系统的意义
火车出行是一个十分重要的问题,如果没有选择合理的出行路线方案,不但可能给出行者带来不便,也可能由于大量出行人员由于没有合理的选择出行路线而造成火车的某一车次运力压力过大等种种情况而这都是需要我们加以重视的。
面对用户存在种种困惑,本系统将以更加人性化的方式、更直观的方式式将用户所关心的问题逐一解决。
●1.4火车换乘系统的关键技术
⏹1.4.1GIS技术
地理信息系统(GeographicInformationSystem,简称GIS)作为获取、存储、分析和管理地理空间数据的重要工具、技术和学科,近年来得到了广泛关注和迅猛发展。
由于信息技术的发展,数字时代的来临,理论上来说,GIS可以运用于现阶段任何行业。
GIS经过了40年的发展,到今天已经逐渐成为一门相当成熟的技术,并且得到了极广泛的应用。
尤其是近些年,GIS更以其强大的地理信息空间分析功能,在GPS及路径优化中发挥着越来越重要的作用。
GIS地理信息系统是以地理空间数据库为基础,在计算机软硬件的支持下,运用系统工程和信息科学的理论,科学管理和综合分析具有空间涵的地理数据,以提供管理、决策等所需信息的技术系统。
简单的说,地理信息系统就是综合处理和分析地理空间数据的一种技术系统。
⏹1.4.2组件式GIS
组件式GIS是面向对象技术和组件技术在GIS软件技术开发中的应用。
组件式GIS控件与其他软件通过标准接口进行通信,实现跨程序、跨计算机、跨网络的分布式操作。
同传统的GIS相比较,它具有多方面的特点,包括:
无缝集成、跨语言使用、易于推广、开发简捷、使用方便、成本低、可视化界面设计以及Internet应用等。
组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。
各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用[6]。
控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。
⏹1.4.3数据库技术
本系统使用Access数据路软件,Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外观,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
1.5系统开发中解决的问题
本系统开发中主要解决一下几个方面的问题
1)建立全国主要铁路干线和主要地级市的网络数据集。
2)实现基于网络图层和要素图层模糊查询、点选查询以及数据库的属性查询。
3)实现用户的自定义查询。
4)实现火车换乘查询,地图上实时动态显示。
●1.6系统开发的主要路线
本系统以全国的主要铁路干线为研究对象,采用JAVA语言结合GIS二次开发平台在GIS空间数据和Access属性数据库的基础之上制作可视火车换乘系统。
系统在JAVA环境下引入AE类库实现对AE类库的调用,并通过JAVA的ODBC.JDBC实现对Access数据库的操作,从而实现属性数据和空间数据的联动操作。
从应用程序的用户接口得到关键信息,通过JAVA语言的处理将信息调入ArcEngine的类库和Access数据库进行处理并将结果反馈到用户界面,从而实现可视化的火车信息查询、车站查询和换乘查询。
对数据库的更新功能主要是对Access数据库的关于火车车次和站点的添加、编辑的操作。
●1.7论文主要的研究容
本论文主要是对系统设计和建立整个过程的具体描述
1)阐述系统开发的主要背景和研究目的,以及系统能够解决的问题和系统建立的思路。
2)阐述系统所涉及的基础数据、网络数据和属性数据的建立和组织的详细过程。
3)对系统的各个功能模块的简单阐述。
4)阐述系统中存在的不足和缺点,同时也提出了解决方法和对未来的展望。
5)提供系统开发的主要代码,以供以后的研究和使用。
◆2基础数据的处理流程
●2.1数据来源
从国家地理信息系统数据上下载国家1:
400万主要的铁路干线的基础数据和省界数据以及主要地级市居民点数据shp格式。
属性数据主要通过上网查询火车信息并手动录入数据库。
●2.2网络数据集的建立
⏹2.2.1基础图层
(1)主要城市点居民点图层、主要铁路干线图层、省界线图层、省面图层如图—2-1所示:
图—2-1铁路网数据图
(2)打开ArcMap,打开工具箱,选择DataManageMentTools选择ProjectionsandTransformations工具,转换图层的坐标系统,并统一为WGS1984投影坐标系统单位为米如图—2-2所示
图—2-2基础数据图层坐标系统
⏹2.2.2创建网络数据集
在主要铁路线和地级市居民点的基础之上制作网络数据集
(1)创建地籍数据库
○1打开Arccatalog在数据文件夹上单击右键,新建personalGeodatabase
命名为railway,如图—2-3所示
图—2-3新建Geodatabase
○2在railway数据库上新建railwayfeaturedataset,如图—2-3所示
图—2-3新建FeatureDataset
○3将主要铁路线和地级市居民点导入到railway要素集当中,选择采用网络数据集的方式建立拓扑网络,选择railway要素数据集单击右键创建Networkdataset,如图—2-4所示:
图—2-4新建网络数据集
⏹2.2.3校验网络数据集的可用性
(1)打开Arcmap,点击菜单栏空白处选择NetworkAnalyst工具条激活它,添加网络数据集到Arcmap中如下图—2-5所示
图—2-5网络数据集图层
(3)单击NetworkAnalyst工具选择NewRoute项,并在图层列表中发现多出了RouteLayer图层,单击NetworkAnalyst工具条中的
工具选择两个位置进行最短路径查询,单击
工具显示最短路径如图—2-6所示:
图—2-6测试网络数据集
●2.4本章总结
本章主要是描述在国家主要铁路网的基础之上进行网络数据集的建立过程。
先对收集到的数据进行初期的编辑处理,然后针对国家主要铁路干线图层进行网络数据集的建立和校验,网络数据集是本系统的实现基础。
◆3火车换乘系统的设计
GIS火车换乘系统的建立是主要根据系统功能模块的设想,系统遵循如下的总体设计。
系统具体要实现的功能,具体化为数据库的查询要求、地图的可视化要求、模糊查询、点选查询要求、根据条件实现数据库与地图的可视化联动要求、最短路径查询。
●3.1系统开发平台设计
⏹3.1.1GIS系统平台
Arcgis作为GIS软件平台行业的领跑者,以她强大的功能一直备受行业人士的青睐。
GIS火车换乘系统采用Arcgis的轻量级开发组件Arcengine,在ArcGIS9系列产品中,ArcGISDesktop、ArcGISEngine和ArcGISServer都是基于核心组件库ArcObjects搭建。
ArcObjects组件库有3000多个对象可供开发人员调用,为开发人员集成了大量的GIS功能,可以快速的帮助开发人员进行GIS项目的开发。
ArcGISEngine开发包提供了一系列可以在ArcGISDesktop框架之外使用的GIS组件,ArcGISEngine的出现对于需要使用ArcObjects的开发人员来说是个福音,因为ArcGISEngine发布之前,基于ArcObjects的开发只能在庞大的ArcGISDesktop框架下进行。
.ArcEngine包括核心ArcObjects的功能,是对AO中的大部分接口、类等进行封装所构成的嵌入式组件。
2.AE中的组件接口、方法、属性与AO是相同的。
ArcEngine具有简洁、灵活、易用、可移植性强等的特点。
⏹3.1.2系统开发语言
本系统采用Java语言进行开发,对于Java语言大家肯定最熟悉不过了。
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为存管理而担忧。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
Java语言也完全支持com组件机制,这就为和AE的结合打下了基础,ESRI公司推出的AEforJavaSDK这使得在JAVA环境下的GIS二次开发更为简单方便。
⏹3.1.3数据库平台
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。
GIS平台Arcengine能够良好的支持Access数据库,Java语言在ODBC.JDBC的桥接模式下也能够很好的支持Access数据库。
⏹3.1.4系统运行平台
本系统的运行环境为WinXP操作系统,以及系统平台要装有JavaRuntime和ArcgisEngine9.2Runtime。
⏹3.2系统数据层次结构搭建
⏹3.2.1系统结构
在进行数据库设计时,通过数据分层、图层管理、属性编码和空间索引设计,建立空间数据库,然后进行属性数据库设计,最后建立空间数据库与属性数据库的连接关系。
如图—3-1所示
GIS火车换乘系统
属性数据
(Access)
空间数据
(Geodatabase)
关键字
火车站图层;铁路干线图层;省界线图层;省界面图…层;
车站详情,
车次所经车站,Point属性表
JDBC
ArcGISengine9.2
图3-1:
系统结构图
⏹3.2.2系统空间数据
空间数据是系统中GIS应用环节的基础数据,他的合理组织直接影响着系统的整体组成。
本系统空间数据主要来自于国家1:
400万基础地理数据,并选择需要的存储在四个图层当中分别是省界线图层,省界面图层、主要铁路线图层、地级市以上居民点图层,每一个图层都包含了图层名称、空间特性、属性数据等数据。
另外一部分是网络数据集,它是存储网络拓扑信息的载体,通过国家主要铁路创建而成的,也作为重要的空间数据存储在数据库中。
⏹3.2.3系统属性数据
系统的属性数据主要存储在Access数据库,分为三表车次所经车站表、车站详情表、point属性表(数据处理阶段的系统生成表)因为在系统实现过程中,要实现最短路径就必须要有可用的网络节点存在在网络数据上,然而个别的地级市居民点离网络过远这样就无法实现有效地最短路径分析,只能通过居民点查找网络节点,通过寻找最近设施点的方法将网络节点和城市居民点一一对应,并作为火车站的位置,存储在系统生成这表中
图—3-2point属性表
图—3-3车次所经车站表
图—3-4车站详情表
●3.3系统的组织结构与实现思路
GIS火车换乘系统主要实现火车的可视化查询、火车信息的修改和用户自定义最优换乘方案查询,用户可以在看到查询结果的同时看到具体的在地图中的信息可视化显示。
为了实现设计的功能,主要有以下几个模块基于文本的火车站查询,基于文本的车次查询、基于文本的换乘方案查询、用户自定义换乘方案查询、点选换乘方案查询。
如下图—3-5所示:
结果
用户输入车次名称
弹出窗体显示车次详情
地图显示本车次所经车站,弹出窗口显示车站详情
列表显示所有乘坐方案,以表格形式显示乘坐方案详情,并排序。
在地图上显示乘坐方案
火车换乘系统
路径查询
车次查询
车站查询
高级
用户输入车站名称
系统查找所经车站
系统查找车站详情
系统查找车次详情
系统查找所经车次
系统根据最短路径在地图中显示出乘坐方案
点击车站名称
单击某车次
输入
出发站终点站
在
地图
图上选择
输入自定义选择项:
如价格
系统查找所有乘坐方案
系统查找并筛选方案
单击乘坐方案
图3—5系统实现思路
●3.4本章总结
本章的主要容是基于GIS火车换乘系统的建立过程,在分析合理选用开发平台、开发方式、开发语言和数据库的基础上,以全国主要铁路线为例,探讨了基于ArcEngine的火车换乘系统数据结构的建立:
空间数据和属性数据,并给出了系统开发组织结构和系统实现的基本功能。
◆4火车换乘系统的实现
●4.1系统概述
本系统以中国主要铁路干线作为研究对象,利用已有的中国铁路网图层,结合地级市居民点图层数据、网上搜集的火车站、火车车次信息等,开发了一个基于ArcEngine的GIS火车换乘系统。
系统的软件设计采用Java作为可视化编程工具,结合ArcEngine9.2进行开发。
在Java环境下通过JDBC.ODBC与Access数据库连接,用SQL语句访问表中的数据,实现对火车信息的管理。
利用ArcEngine组件提供的各种属性、方法和工具,能够进行空间数据获取、数据查询、数据分析等操作,从而实现对铁路网络信息数据的管理。
●4.2系统界面
系统主要有菜单栏、工具栏、查询页签、结果页签、高级页签组成和图形窗口组成。
系统界面设计人性化,并可以自由更换主题,更方便了用户使用。
如图4—1所示
图4—1系统主界面
●4.3功能模块论述
⏹4.3.1车次查询
打开主页面点击车次查询单选按钮,在车次文本框中输入要查询的车次号,然后点击查询,如图4—2所示:
图4—2车次查询
在结果页签当中,将所有结果依照次序罗列出来,我们点击第十站查看详情如图4—3所示:
图—4-3车次查询结果
可以看到当前车次,到达的时间、出站时间本车次是否有硬座、软座等信息。
⏹4.3.2车站查询
单击车站查询单选按钮,输入要查询的车站名称:
此处我们以为例,在查询结果的车次列表上我们单击1046次列车会弹出1046次列车的详细信息如图—4-4所示:
图—4-4车站查询结果
⏹4.3.3按路径查询
本模块是本系统中主要的模块。
本模块的实现思路:
首先从用户输入得到出发站和终点站,以出发站和终点站为关键字在数据库中车次所经车站表进行遍历。
将所有含有出发站或者是终点站的车次分为只含有出发站的车次、只含有终点站的车次、既有出发站又有终点站的车次并分别存储在list1、list2、list3中,然后对每一个list分别按照相应的条件进行排序并。
将新的list1从出发站开始每次增加一个站点向下进行循环并分别对list2、list3进行比对如果list2或list3中含有当前循环的站点则将当前站点作为中转站以当前list1中的车次作为中转前车次、以list2或list3中的车次作为中转后车次存储在方案列表中。
以这样的方法分别对list3进行遍历。
然后要实现车次路径在地图上显示,有两种途径:
(1):
将每两个相邻火车站之间的铁路线进行命名,并存储在图层中,当用户点击换乘方案时将当前方案所经过的所有铁路线段的名称查找出来,然后再到mapbean中一一显示。
这样做显然非常不合适,数据处理的工作量比较大。
(2):
也是本系统所采用的方法,得到方案所经过的所有车站的名称,并以这些车站作为最短路径分析时的stops,这样就查找出每两个相邻车站之间的路径,并存储在新的图层中显示在mapbean中。
单击按路径查询单选按钮,输入出发站名称和目的站名称,单击查询按钮:
在结果页签中显示所有换乘方案。
单击能够直接到达的换乘方案返回路径到mapbean中如图—4-5所示:
图—4-5直接到达方案
单击需要换乘的方案如图—4-6所示:
图—4-6需要换乘的方案
返回换乘路径,在地图窗口中显示,并且气泡窗口会在出发站、换乘站和终点站处进行提示方便用户进行查看。
⏹4.3.4高级
单击高级页签,输入出发站和终点站,选择并输入到站时间段、车次类型等信息。
点击查询,所有方案存储在表格当中,表格某一行在地图中显示当前换乘路径,并弹出路程长度如图—4-7所示。
图—4-7高级查询结果
在查询结果的表格中单击全程时间或者硬座价格等列的表头或分别按照升序或者降序进行排列显示。
注:
全程时间为从出发站到换乘站、在换乘站等待换乘时间、从换乘站到终点站时间之和。
价格为零表示此车次没有此类座位如图—4-8所示。
图—4-8方案排序
⏹4.3.5地图工具
(1)点击工具栏中
测量距离工具,在map中单击左键选择端点后,单击右键计算距离如图—4-9所示
图—4-9测量结果
(2)单击工具栏中
周边查询工具,然后输入缓冲区距离,查找出当前距离围的所有火车站,如图—4-10所示
图—4-10周边查询结果
(3)单击菜单栏中的选择窗口菜单,选择显示鹰眼如图—4-11。
图—4-11鹰眼
(4)单击菜单栏中的图上选择,分别选择矩形查询、圆形查询,进行空间查询
图—4-12查询方式
图—4-13矩形框查询图—4-14圆形框查询
单击主题选择菜单,用户可以选择合适的界面风格如图4—15所示:
图—4-15主题风格选择
●4.4本章总结
本章的主要容是GIS火车换乘系统的开发与集成,主要包括系统概述,系统界面以及功能模块的实现。
在功能实现部分,本系统主要实现了车次查询、车站查询、路径查询、周边查询、测量距离等功能。
◆5总结与展望
●5.1论文研究成果
本系统以全国铁路干线为研究对象,从GIS过车换乘系统的关键技术、基础数据的获取和建立、数据库的建立等几个方面着手,初步分析研究了火车换乘的方法、空间数据和属性数据的关联以及系统平台的建立。
利用已有的全国铁路网地图,结合网上搜集的火车车次信息等,利用java结合ArcEngine9.2平台建立火车换乘系统。
该系统可以脱离相关GIS软件独立运行,主要包括地图操作、车次查询、车站查询、路径查询、周边查询、测量距离等功能模块,实现了较为简单的GIS火车换乘系统。
对GIS火车换乘系统中的相关技术,从理论到实践进行了一系列基础性及实验性的研究,主要工作有:
(1)对二维空间查询分析技术进行了研究,实现了地图点状缓冲区查询查询、圆形查询、框选查询、测距等功能。
(2)实现了火车换乘的基本查询功能,包括:
车站查询、车次查询。
(3)实现了可视化的火车换乘查询。
●5.2论文的不足及进一步工作展望
由于作者能力所限,就本文GIS火车换乘系统研究而言,还有一些需要改进和提高的地方,具体如下:
(1)系统实用性:
本系统采用的是单机模式,还不能和Internet进行实时的传递数据,本系统应该采用的形式进行开发,不但可以让本系统更好的服务于大众,也能够实时的更新火车信息数据。
(2)系统的交互性:
本系统仅完成了部分容并且所做的工作有限,交互性不强。
(3)系统的优化:
应在数据处理上更加精细,使系统反应时间加快。
(4)系统的功能:
Arcengine9.2为我们提供了丰富的编程接口,很多有用的功能本系统没有实现,比如地图编辑、属性数据更新的功能。
◆致谢
在即将毕业之际,我首先要向我的指导老师老师致以最诚挚的感谢。
本论文的研究工作是在导师的关怀和指导下完成的。
从论文选题到撰写完成的整个过程,老师多次提出宝贵意见并给予指导才使得系统能够圆满完成。
在课题研究期间,同学给予了宝贵意见,使得自己在不断的学习探讨中,取得了不小的进步,在此也表示衷心的感谢!
同时在系统的开发中参考了网上的大量实例,对我帮助比较大,在此我感谢ERSI社区论坛上的诸多帮助过我的人。
感谢在大学四年来传授给我知识的地理信息系统教研室全体老师们,正是他们使我学到了许多宝贵的知识并拥有了不懈的动力!
最后我对所有关心我、支持我的同学们、朋友们表示感谢!
◆参考文献
[1]兰小机,德儿.ArcobjectsGIS应用开发__基于C#.NET.2006年9月
[2]汤国安,昕.ArcGIS地理信息系统空间分析实验教程.2006年1月
[3]BruceEckel.thinkinginjava4.2006年2月
[4]涂超.市电子地图及其公交查询功能的实现.科技学院学报(工程技术版).2006年6月
[5]金永超.基于GIS的公交综合信息平台研究与设计.2007年10月.硕士论文
[6]荣梅.智能交通地理信息系统的设计与实现.计算机应用研究,2000年
[7]罗雄.使用.NET或JAVA进行Arcengine开发,20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Gis 火车 换乘 系统 设计 毕业论文