基于GIS的北京市信息服务系统(3)——系统设计

统设计


        1.系统概况及功能简介



        2.系统设计的总体框架

基于GIS的北京市信息服务系统(3)——系统设计_第1张图片


        3.系统分析



        4.模块分析



        5.关键算法说明


        该系统中涉及到公交换乘、列车时刻表查询、路径规划、属性和地物查询等的算法,由于MapObjects自身包含路径规划、属性和地物查询算法,因此这里将重点介绍公交换乘算法。算法的思路如下:首先记录每条公交线路的最小外包矩型(MBR),在公交换乘分析时先判断两条公交线路的MBR是否相交,如果相交,则这两条公交线路有可能换乘,否则这两条就不可能换乘。在可能换乘的两条公交线路中查找其换乘点,如果能够找到则这两条公交线能够换乘,否则不能。算法的具体步骤描述如下:
        Step1:把经过起始站点S的所有公交线路以及过与站点S在一定阀值内的所有站点的公交线路的MBR放到一个队列PS1中,同样把经过终点站点D的所有公交线路及经过与站点D在一定阀值内的所有站点的公交线路MBR放到队列PS2中。记录PS1和PS2中包含所有线路MBR的MBR1和MBR2。
        Step2:从队列PS1中取出一条没有遍历过的公交线路的MBR。求其是否与PS2中公交线的MBR相交。如果相交则判断其是否存在终点站D。如存在,则找到直达线路,否则这两条线路则为换乘一次的线路。标记该线路为遍历过把该线路从队列中去掉。如没有则转step4
        Step3:从队列PS2中取出一条没有遍历过的公交线路的MBR。求其是否与PS2中公交线的MBR相交。判断其是否存在终点站S。如存在,则找到直达线路,否则这两条线路则为换乘一次的线路。标记该线路为遍历过并把该线路从队列中去掉。如没有则转step4
        Step4:从队列PS1中取出一条公交线路L1的MBR。查找未被遍历过的且两MBR相交的公交线路,把其MBR放入PS1中。从队列PS2中取出一条公交线路L2的MBR。查找未被遍历过的且两MBR相交公交线路,把其MBR放入PS1中。循环执行Step2,Step3,Step4,直到至少有一个队列为空或换乘次数超过所规定的次数为止。
        Step5:把所查找到的所有公交换乘方案按找用户要求返回最佳换乘方案。

作者:宋烺

来源:智能交通网(www.21its.com)     

        (1)电子地图模块
        程序设计中有关北京市的旅游电子地图借助MapInfo进行矢量化,再进行数据的转换变成.shp格式。然后在VB程序中通过MO控件加以调用和操作。在该模块中实现了电子地图的显示、缩放、平移、全图显示、图层控制以及景点的选择、查询、闪烁显示等功能。这些功能的实现直接调用MO的相关属性与函数,实现比较的方便,操作也符合游客的习惯。
        (2) 基本信息查询模块
        该模块中用到的数据库文件全部借用Microsoft Office系列软件中的Access建立的;然后,运用现在比较流行的数据库访问技术——ADO在VB中利用Adodc和DataGrid两个控件加以实现。在这模块中实现了列车时刻表、航班时刻表、公交线路、宾馆饭店信息的查询。对于数据库操作:到顶、到底、上一个、下一个等均得以实现,其间注意到记录到顶和到底时的判断。
        (3)基本信息检索模块
        在该模块中我引用VB中的Web Browser控件,实现对Web页的浏览。通过网页浏览可以了解北京市概况、交通、气候、景点简介、旅游线路等相关的信息,给游客提供了很大的便利。这样,也就做到了图文并茂,使得游客不仅知道景点在北京市的地理位置,而却对于其所具有的特色感性的显示给游客,使得游客根据自己的兴趣爱好,结合自己的实际情况有目的的选择旅游景点,而不至于盲从。这样也有助于宣传北京市,使更多的人了解北京市的方针政策、风土人情、文化景点等等,以便吸引更多的游客,特别是国外游客。
        (4)鸟瞰图模块
        鸟瞰图窗口与地图主窗口是彼此相联系的,它们同时受“图层控制”菜单的控制,即两者显示的图层是一样的。
        由于地图主窗口显示的范围有限,对于有些地物则不在视野之内,通过手动移动地图非常的麻烦;如果我们事先知道该地物确切的地理位置,则我们可以直接在鸟瞰图上选中它,这样地图主窗口将以该地物中心坐标为地图显示中心显示地图,使得游客对该地物的周围环境有更深刻的认识。这样给游客的地图操作提供了很多的便利条件。
        有了上面的总体框架图我们就可以设计出系统的功能。
功能设计:一般的旅游地理信息系统地图应该有,数据的输入、显示、信息查询、分析、数据的输出等。
        所以,我为本系统设计的功能为:
        (1)增加地图图层
        让用户不但可以分析北京市旅游电子地图也可以添加自己的图层。
        (2)视图窗口
        视图窗口就是显示用户电子地图的窗口,通过本窗口用户可以查看北京市旅游电子地图。
        (3)鹰眼图
        鹰眼图也叫导航图,是一般电子地图都应该有的一项基本功能。具有整体定位和导航的功能。
        (4)实用信息查询和显示功能
        本系统的主要目的就是为来北京市旅游的游客提供具有实用信息的,为北京市旅游提供方便,所以对北京市的介绍、北京市旅游景点介绍、北京市的公交线路、北京市列车时刻表、北京市航班时刻表、宾馆饭店信息等这些信息都要详细的提供给用户。
        (5)对地图的浏览(放大、缩小、全图显示、漫游)
        为了能更好的浏览电子地图,系统应该提供放大、缩小、全图显示、漫游功能。
        (6)对电子地图的属性查询、分析和操作功能
        提供对电子地图上的某图层的分析操作功能、属性查询功能。
在系统设计时我们不但要提供一般电子地图应该有的基本功能,更要有一种责任感在里面,要对用户负责,不但应该有强大的功能还应该有友好的界面,操作起来简单明了。所以在实现设计时都要有这个思想。
        北京市旅游地理信息系统(BJGIS)是采用美国环境系统研究所( ESRI)于1996年研制MapObjects用VB语言进行二次开发而成,供用户在自己的PC机上安装,方便北京市旅游的系统。通过本系统用户可以浏览北京市电子地图、对地图进行放大、缩小、漫游等基本操作。查看各旅游景点的详细介绍、对旅游电子地图各个图层进行一些简单的分析操作,对北京市的公交、航班、列车时刻表等实用信息的查询等,并可以浏览一些网页信息。

你可能感兴趣的:(算法,数据库,datagrid,Microsoft,vb,旅游)