基于GOOGLE EARTH COM API技术的上海地铁查询系统---毕业论文_第1页
基于GOOGLE EARTH COM API技术的上海地铁查询系统---毕业论文_第2页
基于GOOGLE EARTH COM API技术的上海地铁查询系统---毕业论文_第3页
基于GOOGLE EARTH COM API技术的上海地铁查询系统---毕业论文_第4页
基于GOOGLE EARTH COM API技术的上海地铁查询系统---毕业论文_第5页
免费预览已结束,剩余45页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文 基于GOOGLE EARTH COM API技术的上海地铁查询系统Shanghai Subway Inquiry System Based on Technology of GOOGLE EARTH COM API 姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘 要2010年,举世瞩目的盛事上海世界博览会即将到来。为了迎接这一盛事,上海市正在加紧各方面的筹备和建设。而届时庞大的游客量,将会是上海地铁交通系统不可回避的挑战。因此,上海地铁交通网络正在扩展建设,以迎接世博会。但是,日渐复杂的地铁网络,也给游客出行带来更多的不便,上海地铁查询系统应运而生。 本系统采用“自顶向下,逐步求精”的面向过程的结构化设计方法,运用MFC技术,调用GOOGLE EARTH COM API中的类和函数,进行设计。系统开发过程采用软件工程的设计流程,经历了需求分析,系统概要设计,系统详细设计,编码和测试多个阶段,最终形成这一能够模拟上海地铁网络并提供地铁线路查询的系统。系统选择上海地铁极具代表性的四条线路:2号,3号,4号以及8号线,构成具有一定复杂度的地铁交通网络。系统采用线路逻辑归类的方法化解线路复杂度,针对不同复杂性进行逐一解决。系统设计采用两层架构:上层的界面呈现层,需使用MFC技术进行系统界面的交互和数据文件的操作,并应用GOOGLE EARTH COM API 技术对地标数据进行构建和呈现;底层的逻辑应用层,针对上层获取的站点名称信息及数据文件信息,进行处理,通过复杂的字符串操作,依据线路逻辑,进行路径变量生成,会送给上层供界面呈现应用。系统能够采集用户输入的起始站点与终止站点信息,针对不同的复杂性,计算出若干适合线路,供用户根据实际复杂多变的需求进行选择,并把客户选择的线路在Google Earth平台上用线路地标的形式标注,动态呈现给客户。系统界面操作简便,线路呈现过程直观明了。本文采用系统软件工程设计的流程进行章节编排,分为绪论,需求说明,系统概要设计,系统详细设计,系统编码以及测试,并对产品的生成和操作流程进行介绍。最后对整个开发过程作一个总结。关键词:Google Earth ;COM ;面向过程;软件工程AbstractShanghai World Expo in 2010 is on its road, which is a event around the world. For this event, the Shanghai City is making all the preparations. And then the Shanghai subway web will have to face the challenges of traffic for huge numbers of tourists. So The Shanghai Subway System is improved and exceeded.However, more and more complex subway web brings a little convenience. So The Shanghai Subway Inquiry System is “born” to respond to large and complex transportation network of Shanghai subway, and bring travel convenience to tourists. The Shanghai Subway Inquiry system uses a top-down, stepwise refinement process-oriented method of structured design methodology, using MFC technology and calling GOOGLE EARTH COM API in the process of designing. The process of system development using software engineering design process, includes the demand analysis stage, the system overall design stage, the system detailed design stage, the coding and final testing stage.This system chooses four standard lines, which make a certain complexity web. It use a category by logic complexity and resolve it.This system is divided to two parts:Firstly,its the presentation part,which resolve the presentation operations and need to call the GOOGLE EARTH COM API;Secondly,its the logic lines part,which make the line resolutions and return them to the first part.It can achieve that firstly it captures user input station names and secondly calculates several routes for the user to choose and marks the lines and stations information in the view window of Google Earth Stage for the user when one line is selected in the list box. System interface is simple and very good visibility. By the design of system software engineering scheduling process , in this paper chapters is divided into introduction, demand instruction, the system overall design, system detailed design, system coding and testing, and the composition of product introduction and operational processes. Key words: Google Earth; COM; process-oriented method;software engineering目录第一章 绪论 11.1项目技术背景11.2Google Earth基础知识简介21.3COM简介.41.4GOOGLE EARTH COM API简介51.5 本章小结.6第二章 系统需求说明72.1 用户需求72.2 系统功能需求.72.3 本章小结8第三章 系统概要设计93.1 系统说明.93.2 模块划分.93.2.1“启动Google Earth”模块介绍.93.2.2“初始化视图”模块介绍103.2.3“数据文件处理”模块介绍103.2.4“交点判断”模块介绍103.2.5“线路分析”模块介绍103.2.6 “线路列表显示”模块介绍103.2.7“所选线路地标上显示”模块介绍113.3 本章小结11第四章 系统详细设计124.1 系统界面设计124.2 系统数据设计134.2.1 地标信息的采集.134.2.2 五个数据文件的设计154.3 功能模块详细设计194.3.1“启动Google Earth”模块详细介绍204.3.2“初始化视图”模块详细介绍214.3.3“数据文件处理”模块详细介绍214.3.4 线路构建三大模块详细介绍224.3.5 “所选线路地标上显示”模块详细介绍324.4 本章小结. 32第五章 程序发布和系统操作演示335.1 程序发布335.2 系统使用及操作335.3 本章小结36第六章 结束语 376.1 系统总结376.2 开发心得37参考文献 39附录 41致谢 .42DirectoryChapter 1 Introduction11.1Google Earth Introduction11.2Google Earth Basis Introdution21.3COM Introduction.41.4 GOOGLE EARTH COM API Introduction.51.5 Summary.6Chapter 2 Requirement Analysis of System72.1 Requirement of User72.2 Requirement of System Function.72.3 Summary.8Chapter 3 Overall Design of System93.1 Description of System.93.2 Modules Division.93.2.1 Description of “Run Google Earth” Module93.2.2 Description of “Initialize the view” Module93.2.3 Description of “Data files Resolved” Module103.2.4 Description of “Judgement of Crossing Points” Module103.2.5 Description of “Analysis of Lines” Module103.2.6 Description of “Performance of Lines List” Module103.2.7 Description of “Performance of Selected Place Marks” Module113.3 Summary11Chapter 4 Detailed Design of System124.1 Design of Users Interface.124.2 Detailed Design of Data.134.2.1 Collection of Place Information134.2.2 Detailed Design of Five Data Files154.3 Detailed Design of Function Modules.194.3.1 Detailed Design of “Run Google Earth” Module204.3.2 Detailed Design of “Initialize the view” Module214.3.3 Detailed Design of “Data files Resolved” Module214.3.4 Detailed Design of “Construction of the wanted Lines” Module224.3.5 Detailed Design of “Performance of Selected Place Marks” Module.324.4 Summary32Chapter 5 Production and Operation of the System Product335.1 Production of the System Product335.2 Operation of the System Product335.3 Summary36Chapter 6 Conclusion .376.1 Summarize the System.376.2 knowledge gained in development process.37References 39Appendix 41Acknowledge 42基于GOOGLE EARTH COM API技术的上海地铁线路查询系统第一章 绪论1.1 项目技术背景本系统是用Google Earth平台,来实现地铁线路地表的展示。作为由Google公司开发的一款强大的虚拟地球的软件,Google Earth把航拍照片、卫星图像和GIS数据整合起来,形成一个可以运行在一定操作系统平台上也可以作为插件运行在网页中的三维地球模型。借助Google Earth 平台,用户足不出户就可以遍览全球,丰富的数据和强大的数据分析能力,带给客户全方位的便利。图1-1是Google Earth 单机版的启动界面。图1-1Google Earth 单机版Google Earth提供的功能有:查找地标信息,查找线路,上传地标信息,甚至发送邮件,测算距离等等。Google Earth 拥有广大的Fans,他们设计了大量的二次开发产品,其中包括许多精彩的小游戏。Google Earth平台上,在视图区域中可以通过视角转换图标实现不同视角的观测效果。平台有三个主要的面板:Search面板,实现地名搜索和经纬度搜索;Places 面板,实现对地标的操作,可以实现添加地标,显示地标等操作;Layers面板,对不同的数据图层进行操作(数据图层,即含有某种类型地标信息的图层,例如你可以让“运输工具”下的“飞机场” 项显示出来)。Google Earth 的强大在于,它提供了很强的扩展功能,有两种方式,即进行KML文件设计,另一种是Google Earth COM API的程序开发,来应对各种实际的复杂情况。KML 是一个基于XML语法和文件格式的文件,它不仅可以记载地标信息,也可以保存各种多媒体文件信息,甚至游戏场景的设计都可以用KML文件来实现,而客户应用时,只需加载相应的KML文件。KML的强大技术实际上是依托于XML及类似网页数据文件技术的普及和发展,KML能够实现许多令人称道的强大功能,除了实现动画视频及交互式操作外,还可以在上面做各种应用,网上大量的Google Earth平台上的开发都是使用KML技术,本系统则是在Microsoft Visual C+6.0的开发平台下,采用Google Earth COM API 进行开发设计的。1.2 Google Earth基础知识简介Google Earth所显示的底片是卫星遥感影像,这些影像数据是卫星影像和航拍数据的整合。由于数据采集方式存在差异,根据一定的采集中的分辨率差值,影像数据分为多个层次。高分辨率的影像可以达到分米级。Google Earth 强大的服务器是影像数据信息和其他属性信息的仓库,存储量达到TB级。Google Earth 视图中,用户向下俯视地面,显示的影像图取决于视点、视高、视场角和视底点,如1-2图所示。当你改变视高时,当然,视图显示的范围随着变大。平移是地底点时,视图则对影像进行裁减,将对应的区域的影像显示到视图中去。图12Goole Earth视图展示的模拟投影图 做个测算:设视点为E,视高为h,视底点坐标为(x,y),视场角已知,根据等比定理,就可以计算出视图中所要覆盖的范围了的地理坐标信息了。当然,视高也决定了要加载的影像的层次的分辨率,因此用户想看到更多的区域,就要调高视高,若要看清晰某区域,则调低视高。 影像地图本身并不是直接卫星拍摄得到的,而是基于这些影像,结合航空摄影的数据融合而得到的。影像地图目前最重要的产品是数字正射影像(DOM)和数字栅格地图(DRG)、数字线划地图(DLG)、数字高程模型(DEM)合称为4D技术。数字正射影像具有信息丰富、影像直观、真实景观与测绘精度兼有,以及成图快、成本低、用途广、使用方便等特点。影像地图中很重要的概念是分辨率,指像素所代表的地面范围的大小,或者地面物体能分辨的最小单元。分辨率大小取决于视高和摄影机的焦距。即Rg = Rs*f/H (1-1) 其中Rg为分辨率,单位为线对/米;H 为视高,单位米;Rs 为系统分辨率,单位线对/毫米;f为摄影机焦距,单位毫米。影像数据分幅存放,每幅图像都有不同的覆盖范围和分辨率,而视图往往是跨多幅图像的,这时就是图幅拼接的问题了。图幅拼接即对相邻的图幅做精确的衔接,使其融成连续一致的视图整体的过程。其目的是为了避免图幅重叠或出现断裂,即空间 数据的无缝连接。其外,图幅拼接还需考虑分辨率一致,不同图幅的统一特征地物在视图上显示问题等。此外,Google Earth的窗口正下方,即时显示了地图中心位置球面坐标经度、纬度和海拔高度。这些数据都是球面坐标,前提是把地球看成是一个规则的椭球体,但是地球并不是规则的,所以参数数据并不是完全准确的。如图2-3所示。基于参考椭球体的经纬度和海拔高度,利用一定的数学公式,可以计算出任何一点的平面坐标(x,y),进而求出任意两点的距离。在Google Earth的官方文档中,提到了球面坐标转换到平面坐标的一个公式haversine(半正矢公式)。事实上,在测绘学中,这类转换公式很多,而且这种转换都与地图投影有关。1.3 COM简介 Google Earth 客户端是基于组件技术的。组件即COM,GOOGLE EARTH COM API 是Google Earth组件的公用接口。 COM技术是基于面向对象编程思想的,COM包括对象和接口两部分。COM的对象和C+中的对象概念类似。对象是类的实例,而类是经过封装的一个数据结构。接口是一组与对象相关的函数集合。这些函数通常被接口成员函数,函数名一般以”I”为前缀。组件包含对象,而对象包含接口。外部程序通过调用组件中的对象的接口,利用组件的功能。 每个组件都有一个对象标识符CLSID(128位)匹对。CLSID在全球是唯一的,这样是为了避免组件冲突。组件的每个接口也都会拥有一个128位的全局唯一的标识符GUID,用户通过它获得接口的指针,进而调用接口成员函数。 二进制特性是组件最大的特点。组件技术独立于任何编程语言。建立在二进制代码的基础上。用户可以通过任何语言来创建一个组件。这种特性使得不同程序之间的调用更加方便。此外,组件还具有接口不变性、继承性和多态性等特点。 Microsoft Windows操作平台提供了有关COM的一系列底层代码,这一系列代码组成了COM库,并以“.dll”格式文件存在。COM库实现了很多功能,用户通过调用COM库的函数来完成组件的相关操作。一般用户创建一个组件对象,进而调用组件的接口成员函数,最后释放组件对象,整个过程都要用到COM库。用户首先调用CoInitialize()函数初始化COM库。然后在注册表中,COM库根据组件名称查找到组件对象标识符CLSID。根据获得的CLSID,COM库函数CoGetClassObject()创建对象的类厂。进而由类厂完成组件对象的创建,并返回对象的指针。用户不再使用组件资源时,COM库调用CoUninitialize()函数释放资源。 整个过程流程如图1-3所示。图13用户应用COM库对象方法过程流程1.4 GOOGLE EARTH COM API简介Google公司为用户提供的GOOGLE EARTH COM API 类库,其意义在于用户可以在各种外部程序中调用Google Earth的功能。GOOGLE EARTH COM API 是一个包括11个类的类库,这些类都实现了IDispatch接口。IDispatch接口和COM中的自动化技术相关。MFC是本系统开发的实例所应用的重要技术,它为支持该技术提供了一个类COleDispatchDrive类。在MFC中导入的GOOGLE EARTH COM API 类库中的类,实际上都是COleDispatchDriver类的派生类。COleDispatchDriver类的几个重要函数是程序中应用到的,CreateDispatch()成员函数通过组件的CLSID值来创建组件对象,并返回该对象的指针;AttackDispatch()成员函数可以把当前COleDispatchDriver类的对象和其他自动化对象联系起来;DetachDispatch()函数和AttachDispatch()函数的功能相反;ReleaseDispatch()函数用来释放所创建的对象。 用户通过COleDispatchDriver类的函数创建了GOOGLE EARTH COM API类库。该类库的11个类中,IApplicationGE类最为重要,其他10个类的使用都会涉及到它的属性或函数。 本系统应用到的GOOGLE EARTH COM API 类库中的几个进行简单介绍:(1) IApplicationGE,入口类,用户进一步调用其他类;(2) ICameraInfoGE,相机类,用户可以调整观看当前视图的方式;(3) IFeatureGE,要素类,用户可以控制要素的属性。(要素,就是平台视图中的各种地标物);(4) IFeatureCollectionGE,要素集合类,用户进一步获取要素;(5) ISearchControllerGE,Search面板类,用户可以完成相应的搜索功能。(6) ITourControllerGE,Tour面板类,通过该类,用户可以动态播放当前的要素。1.5 本章小结 本章介绍项目涉及的技术背景,涉及Google Earth, GOOGLE EARTH COM API 技术的介绍。第二章 系统需求说明需求获取的准确性和及时性,是决定软件产品是否符合要求的关键,是软件工程后续各个阶段成功开展的基础,它需要开发方和客户之间能够融洽一致的交流看法。同时必须明确,客户的需求是不断改变,而且是可以引导的。2.1 用户需求用户输入起始站点和目的站点给系统,系统要能够提供各种可能的选择方案给用户,并且能够显示所选择的线路,让用户明了如何搭乘以及换乘。开发的系统界面显示要清晰明了,操作简便,具有较好的性能,可以配置成手持移动设备组件。2.2 系统功能需求系统的功能需求说明在软件工程开发过程中,主要通过用例图的制图来体现。本系统的用例图如图21。图2-1 上海地铁线路查询系统用例图上海地铁线路的2号线,3号线,4号线,以及8号线具有较强的代表性,而且也是市中心城区主要的地铁干道。这几条线路具有较大的复杂性,特别是4号线的环路模型,大大提高系统设计的难度。 线路相交分析: 人民广场站,有2号和8号线相交(实际上多于两条线路经过人民广场); 中山公园站,4号(与3号的重合线路段)和2号线有相交,世纪大道站,4号和2号线再相交; 西藏南路站,4号和8号相交; 在4号线的宜山路站和宝山路站之间,与3号线是完全重合的路段; 虹口足球场站,8号线与3号线相交。系统设计,从起始站点和终点站点是否是线路交点(重复的路段站点也算相交)开始设计。 然后,分为4种情况进行分别讨论,即起始站点和终点站点都不是交点,起始站点是交点而终点站点不是交点,起始站点不是交点而终点站点是交点,起始站点和终点站点都是交点。 线路分析的同时,将可以行走的路线的数据信息记录下来,将供选方案展示给用户选择。用户选择后,线路和相应站点都在Google Earth平台上显示出来。系统设计界面大方明了,操作简便,具有很好的性能。2.3 本章小结 本章简明地讲述了,本系统的应用需求及功能性需求。第三章 系统概要设计系统概要设计又称系统总体设计,即在系统分析的基础上,搭建起整个系统的框架,对系统的模块划分、实现规划进行初步的合理安排。总体设计对之后的详细设计起着指导作用,它的优劣决定了系统整体结构的好坏和软件质量的高低。3.1 系统说明本系统依据系统运作流程的过程划分模块,最重要的模块是线路分析模块,处理线路复杂性的关键。除此之外,线路的显示模块考虑到用户体验将影响软件产品的成败,是需要特别加以重视的。3.2 模块划分依据用户需求、系统需求以及系统运作过程的流程,系统分为几个模块,如图3-1所示。图31系统总体初步设计流程图3.2.1“启动Google Earth”模块介绍MFC开发中,系统根据COleDispatchDriver类的方法CreateDispatch()根据CLSID来创建对象,实现Google Earth启动。3.2.2“初始化视图”模块介绍该模块,对应一个方法,由界面按钮激发,该函数调用COM API将视图中心移动到上海所在的区域,并设定一定的视高。同时完整地从临时文件夹中读取事先标定的4条地铁线路。3.2.3“数据文件处理”模块介绍用于将事先按照一定格式(主要是仿照XML格式)设计的4个数据文件(language.txt,GElinepart.txt,intersection.txt,linerelation.txt,后续会介绍它们记录的数据信息)读取到4个字符串中,供后续处理使用。3.2.4“交点判断”模块介绍用于根据用户输入的起始站点和结束站点情况,判断它们是否是交点。然后,讨论四种情况记录路线的起始子段和结束子段,或线路和站点,到相应变量中。起始点与结束点是否是交点将极大地影像线路的选择和测算。所以针对起始站点和结束站点的情况,将会在路线分析中分4种情况,即起始站点和终点站点都不是交点,起始站点是交点而终点站点不是交点,起始站点不是交点而终点站点是交点,起始站点和终点站点都是交点。3.2.5“线路分析”模块介绍“交点判断”模块与“线路分析”模块,都是放置在同一个命名为OnQuery1()的方法中,该方法由界面按钮激发。 线路分析依据4种情况进行分别讨论,即起始站点和终点站点都不是交点,起始站点是交点而终点站点不是交点,起始站点不是交点而终点站点是交点,起始站点和终点站点都是交点。每种情况又依据具体情况,进行线路判断。之所以路线的选择不使用一定得拓扑公式或其他数学公式进行测算,是因为,实际的线路很复杂,而计算的结果是找到可行的路径给用户选择。3.2.6 “线路列表显示”模块介绍此模块也是放置在OnQuery1()的方法中,该方法由界面按钮激发。因此,“交点判断”模块,“线路分析”模块和“线路列表显示”模块可以合为一个模块,而笔者选择分为三个模块是为了流程介绍更加明晰,一定意义上,符合“高内聚,低耦合”的开发模式。该方法将线路和换乘站点等信息,一定格式显示到列表框中,供用户选择。3.2.7“所选线路地标上显示”模块介绍正如模块名所示,将根据用户在线路列表框中的选择,将所选线路的地标信息在Google Earth 平台中显示出来,直观形象地给用户描述线路。3.3 本章小结 系统概要设计,又称为系统总体设计,即在系统分析的基础上,搭建起整个系统的框架,对系统的模块划分、实现规划进行初步的合理安排。为下一阶段系统详细设计构建框架。第四章 系统详细设计详细设计作为总体设计的细化阶段,主要通过对用户界面、数据库和处理过程的设计来确定每个模块内部的详细执行流程。详细设计的结果将成为编码阶段的重要依据,决定了各个模块能否成功实现。4.1 系统界面设计本系统使用MFC技术,建立在基于对话框的界面框架,根据用户的输入的起始站点和终止站点信息,系统通过测算将线路结果显示在列表框中,用户选择线路选项后,系统将在Google Earth平台视图窗口生动把相应的路线图呈现给客户。在Visual C+ 平台下,进行控件的拖拉,控件属性的设置,界面设计显得很简便。界面创建过程如下:(1) 从工具栏中拖入3个Static Text控件,两个Edit Box控件,一个ListBox以及四个Button控件。(2) 3个Static Text 控件,分别打开它们的属性窗口,修改对应的提示信息。两个Edit Box控件,打开它们的属性窗口,修改ID分别为IDC_EDIT1和IDC_EDIT2 。List Box确保它的ID为IDC_LIST1 。最后将四个按钮的ID分别设定为IDC_START、IDC_INITIALIZE、IDC_QUERY1和IDC_EXIT。(3) 设定两个Edit Box 关联两个CString类型的变量m_startName和m_endName。列表框关联一个函数OnDbclkList()。四个按钮分别关联函数OnStart(),OnInitialize(),OnQuery1()和OnExit()。所得如图4-1所示:图41运行后界面效果图4.2 系统数据设计系统处理的数据主要是线路段的地标信息以及站点的地标信息,所以系统数据设计,主要是地标信息的采集以及五个数据文件的设计。4.2.1 地标信息的采集Google Earth客户端提供了“Add Path”按钮实现矢量化线状地物的功能,所以,地铁线路地段的地标信息的采集就显得很简便。采集步骤分六步:(1) 启动Google Earth 客户端,将视图中心移动到要标定的地段。(2) 点击Google Earth 客户端的工具栏上的“Add Path”按钮,进入新建路径对话框。(3) 在“名称”文本框中输入地点名称,如“8-1”(表示,该地段位8号线的第一段)。同时将鼠标移到视图区,顺着地铁线一次单机记录若干点,第一点必为地段起点,最后一点为该线路段终点。如图4-3所示。图42新建地段地标步骤三(4) 回到“新建路径”对话框,设置线条颜色、粗细、透明度等参数,点击“确定”,则新建的路径就添加到了“位置”面板中,如图4-4所示。图43新建地段地标步骤四(5) 鼠标右键单击“位置”面板中的刚保存的线路段的地标,选择“保存为”命令,进入保存文件对话框。输入地标名称,然后选择保存类型,点击“确定”保存。如图4-5所示。图44新建地段地标步骤五(6) 保存时,保存类型为kml,设置好保存位置,目录不可以有汉字出现。接下来,把线路上的站点也建立相应的地标文件,保存在与一样的路径下。此路径即为工程项目读取的临时文件夹目录。4.2.2 五个数据文件的设计language.txt,GElinepart.txt,intersection.txt, intersectionLines.txt,linerelation.txt四个文本文件,采用仿照XML格式设计。language.txt文件记录了地铁站点名称的汉语拼音和汉字两种书写形式。由于Google Earth平台与中文的兼容性有待提高,所以有必要将用户输入的汉字转换为拼音形式,以备程序代码识别和传送。由于8号线是Google Earth平台上无法提供站点地标信息,而笔者不得不手工进行繁琐地记录站点地标操作的线路,所以以下几个数据信息主要都是提供8号线供参考。language.txt数据文件内容参考表4-1。表41 数据文件language.txt内容情况(仅提供8号线)说明数据市光路站shiguanglu嫩江路站renjianglu黄兴公园站huangxinggongyuan延吉中路站yanjizhonglu黄兴路站huangxinglu鞍山新村站anshanxincun四平路站sipinglu曲阳路站quyanglu虹口足球场站hongkouzuqiuchang西藏北路xizangbeilu中兴路站zhongxinglu曲埠路站qubulu人民广场站renminguangchang大世界站dashijie老西门站laoximen陆家浜站lujiabang西藏南路站xizangnanlu耀华路站yaohualuGElinepart.txt文件则记录了每两个地铁站点与它们之间线路地段的关系。如8-1,代表市光路站和嫩江路站是连接8号线第一段的两个站点。数据文件的格式,参见表4-2。表4-2记录了8号线的线路与站点之间的关系,供参考。表42 数据文件GElinepart.txt的内容情况(仅8号线)说明数据市光路站8-1 嫩江路站8-1嫩江路站8-2黄兴公园站8-2黄兴公园站8-3延吉中路站8-3延吉中路站8-4 黄兴路站8-4黄兴路站8-5鞍山新村站8-5鞍山新村站8-6 四平路站8-6四平路站8-7曲阳路站8-7曲阳路站8-8虹口足球场站8-8虹口足球场站8-9西藏北路8-9西藏北路8-10中兴路站8-10中兴路站8-11曲埠路站8-11曲埠路站8-12人民广场站8-12人民广场站8-13 大世界站8-13大世界站8-14老西门站8-14老西门站8-15陆家浜站8-15陆家浜站8-16西藏南路站8-16西藏南路站8-17耀华路站8-17intersection.txt文件记录了每个交点对应的两条地铁线路的名称,如2,8,表示人民广场站为2,8号线的一个交点。此数据文件中记录的数据如表4-3所示。表43 数据文件intersection.txt的内容情况说明数据2,8号线换乘于人民广场站2,84,2号线换乘于中山公园站4,28,4号线换乘于西藏南路站8,44,2号线换乘于世纪大道站4,28,3号线换乘于虹口足球场站8,33,4号线换乘于宝山路站3,43,4号线换乘于宜山路站3,42,3号线换乘于中山公园站2,3intersectionLines.txt文件记录了相交的两条地铁线在交点处的子段名称。如:2,2,12,13,16,17 2,2,16,17,12,13表示2号线和8号线有交点,在交点处,2号线被截成两段,分别是12,13路段,而8号线也被截成两段,分别是16,17路段。这样晦涩的格式主要是应对环状路段以及重合路段等等复杂情况,供程序读取方便。数据如表4-4所示。表44数据文件intersectionLines.txt的内容情况说明数据2,8号线换乘2,2,8,9,12,132,2,12,13,8,92,4号线换乘1,2,4,5,20,21,12,13,5,6 2,1,5,6,12,13,20,21,4,54,8号线换乘2,3,10,11,16,173,2,16,17,10,113,4号线换乘1,1,4,5,17,18,13,14,26,1 1,1,17,18,4,5,26,1,13,142,3号线换乘3,3,4,5,7,8 3,3,7,8,4,53,8号线换乘3,4,15,16,8,9 4,3,8,9,15,16linerelation.txt文件记录了从一条地铁线路到另一条所要经过的地铁现名称。0表示两条线路相交,无需借道。数据如表4-5所示。表45 数据文件linerelation.txt的内容情况说明数据2,8号线直接换乘004,2号线直接换乘004,8号线经过2号线换乘223,4号线直接换乘003,8号线直接换乘003,2号线经过8号线换乘884.3 功能模块详细设计 系统设计采用面向过程的设计思想,模块的设计大致是以功能方法的划分而划分的。如图3-1所示,模块的简单划分。功能模块工作的详细流程图,遵守解弱耦合和增强内聚的思想,如图4-5所示。图4-5 系统功能模块划分图使用面向对象开发中的系统顺序图,表示为系统方法调用流程图如图4-6。图4-6 系统方法调用流程图如下进行详细介绍。4.3.1“启动Google Earth”模块详细介绍在Visua

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论