1、计算机毕业设计论文基于GIS的市政设施管理摘要基于GIS的市政设施管理系统摘 要基于GIS的施政设施管理系统采用了以C#为前台,SQL Server 2000为后台的设计方法,具体实现了电子地图的控制功能,市政设施数据管理功能和系统维护功能。本文详细论述了系统的设计和实现的过程,包括系统的需求分析,概念设计,逻辑设计,应用程序设计和主程序的调试和试运行情况,最后介绍了本系统的使用说明。在需求分析中着重介绍了系统的功能设置及系统的数据流程图和数据字典。实体及其之间关系模型的设计即概念设计和逻辑设计也在本文中进行了详细的说明。在系统的应用程序设计中,叙述了系统的主窗口界面和各部分的功能模块的设计思
2、想及实现的方法。系统程序调试章节中叙述了在调试中遇到的问题和解决的方法。Management System Of Municipal Facilities Based On GISAbstractThis dissertation introduces the course of design of Management system of municipal facilities based on GIS, included of requirement analyse, conception design, logic design, application design, main pr
3、ogram debugging and running test of main program, in the end, it introduces the using explain of the system. In the paragraph of requirement analyse, it particularly introduces general situation of system, function setting, collectivity target, structure of main system and subsystem, data flow chart
4、 and data dictionary of system. Conception design and logic design which aim at data design for this system, explain the designs of all kinds of information tables. In the part of application design, at first it introduces a software and modules for developing this system, then the main window and f
5、unction of every part in the window, in the end it explains design idea and method of functions in every subsystem, there are also some code for that. The paragraph of program debugging and running describes some debugging problems and how to deal with them, and show the running status in function t
6、est.Key Words GIS; Municipal facilities; Management system绪 论为了满足GIS对地球表面、空中和地下的若干要素空间分布和相互关系的研究,GIS都具有公共地理定位基础、标准化和数字化、多维结构的特点。此外,GIS还具有数据输入、存贮、编辑、查询、检索、显示输出的功能,能进行各种操作运算和应用分析,并易于更新维护。GIS对图形的编辑处理是其用户界面的最显著的特点之一。一般来说GIS的特点为:空间可视化,空间导向,空间思维。GIS概念的提出要追溯到二十世纪五十年代,计算机科学在测量学和地图制图学中的应用,使人们开始有可能用电子计算机来收集,存
7、储和处理各种与空间和地理分布有关的图形和属性数据,并希望通过计算机对数据的分析来直接为管理和决策服务。奥地利测绘部门首先建立了地籍数据库,而后加拿大的测量学家首先提出了地理信息系统这一术语,并建立了世界上第一个GIS加拿大地理信息系统,用于自然资源的管理和规划。六十年代IBM和COLORADO也开始致力于GIS的研究和相关软件的开发。七十年代受计算机软硬件发展的促进,GIS技术朝实用化方向发展,一些发达国家将GIS 投入实际应用,与此同时,GIS软件得到很大的发展,成为一个引人注目的领域。而后的几十年中GIS得到了普及和推广应用,GIS软件的发展主要在开放GIS的研究;关系数据库和GIS的结合
8、;GIS构件的开发和互联网成为了GIS新的操作平台。随着数字化信息产品的普及,GIS 已经成为了人们生产生活中不用可缺少的工具和助手。绝大多数的GIS,主要处理二维空间数据,从这些数据中经过处理得出的有用的信息,既可以通过图形图像的形式表达,也可以统计图,表格和各种各样的人机交互形式来表达。GIS可通过获取,输入,操作,传输,可视化,组合,查询,分析,建模和输出数据的形式为土地利用,自然资源,环境,运输,城市设施和其它管理的规划和管理提供决策支持。目前的GIS的研究和应用都处在一个高速发展的阶段,未来若干年空间数据的采集和GIS技术将会有更新更大的发展,从而给城市空间数据生产和GIS应用增添新
9、的活力。卫星影像技术,数字摄影测量和空间定位技术的发展将为GIS的发展提供支持,新的数据获取和更新技术的发展,新数据形式的应用,数据共享政策及其实施,国家多尺度空间数据基础设施的建设以及数字地球和数字城市的建设都将大大改善城市空间数据的状况。GIS技术的将在城市发展中得到实际应用,从而提高了GIS系统的应用的水平。城市GIS将进一步转向应用,为城市的发展建立一整套的数字信息,将会带来极大的实际效益,GIS也将真正走向产业化和市场化。本系统是基于GIS的市政设施管理系统,通过本系统,可以实现对市政设施的信息化管理,提高各市政部门的协同工作,改变现有的对设施的管理模式。系统的设计主要依据城市市政监
10、管信息化系列标准,通过C#平台来实现。1 基于GIS的市政设施管理系统的需求分析1.1 系统概况 基于GIS的市政设施管理系统的功能主要是对市政设施进行查找和管理,这是适应市政管理现代化,数字化和信息化的要求,结合已经制定的城市市政监管信息化系列标准,可以实现市政设施管理的无纸化操作,不但提高了工作效率,而且可以实现各个市政部门之间的协作。系统的开发使用C#平台和MapObjects2.3组件,可以对地图进行操作,实现地理位置和市政设施属性的互动,使用户得到更直观的信息。通过在C#中嵌入MO2.3便可以进行基于GIS的市政设施管理系统的开发。考虑到系统的应用范围和对象,主要实现两大关键功能,查
11、找功能和数据修改功能,并可以通过地图标记辅助查找定位功能。1.2 系统功能说明 基于GIS的市政设施管理系统主要是为市政部门提供一个信息化的管理方式,系统为一般用户提供了设施查找和定位功能,也为专业用户提供了数据修改功能以实现数据信息的更新。本系统分为七大子系统:电子地图控制子系统,电子地图显示子系统,电子地图输出子系统,查询子系统,数据修改子系统,帮助子系统,其他(系统维护)。(1) 电子地图控制子系统 电子地图控制子系统主要是对电子地图进行操作,实现放大,缩小,漫游的功能,并可以对电子地图的图层进行选择显示。(2) 电子地图显示子系统 电子地图显示子系统是控制系统各个地图显示的模块,可以对
12、所显示的地图做标记并可以通过刷新消除标记,显示所选择的地图,鹰眼功能可以在主地图显示范围变化时显示出主窗口地图在全比例地图下的位置和范围。(3) 电子地图输出子系统 电子地图输出子系统是对主窗口地图窗口范围或全部范围输出,并保存为bmp格式图片或通过打印机打印出来,满足不同的保存需求。(4) 查询子系统 查询子系统是本系统中的关键功能之一,用户可以通过此功能方便的查找到所需的设施。系统提供了两种查找方式:一个是通过选择部件或事件的大类和小类来查找相同类别的所有设施部件或事件;另外一个是通过物理位置查找,输入坐标和距离中心坐标点的位移来查找距离中心点某距离的所有设施部件或所有事件,或者在结果列表
13、中选择一个部件或者事件,再选择距离后就可以查找得到和所选部件或事件某距离内的所有部件或事件。设置这两种查找方式的原因是考虑到市政管理的特点,需要对相同类别的设施部件或事件进行查看分析,而查找某个坐标点或区域的设施部件或事件以便于市政部门分析区域事件进行设施维护和管理。(5) 数据修改子系统 数据修改子系统也是本系统中关键功能之一,用户通过此子系统模块实现对市政设施部件或事件及其属性的新建,修改和删除功能。部件和事件的属性设置根据城市市政监管信息化系列标准设置,通过主界面上或菜单栏中的数据修改功能的选项即可对数据库中的数据进行操作。新建功能:选择此选项即可往数据库中添加新的部件或事件,在大小类别
14、选择框中选择要新建的项目类别,然后输入相关属性即可添加成功;修改功能:首先通过大小类别下拉框选择要修改项目的类别,然后在结果列表中选择具体的部件或事件,也可以通过坐标查找要修改的具体的部件或事件,此时属性框中显示的属性即为修改前的属性设置,对某属性修改后点击修改按钮即可,当再次选择此部件或事件时,属性框显示的即为修改后的属性设置;删除功能:通过大小类别下拉框选择要删除项目的类别,然后在结果类别中选择具体的部件或事件,同样可以通过坐标查找要修改的具体的部件或事件,点击删除按钮即删除并刷新数据库通过结果列表显示。数据修改功能使市政设施管理系统保证数据适时更新,准确地反映现实情况,为市政管理提供最有
15、力的支持。(6) 帮助子系统 GIS系统相对来说是专业性比较强的系统,对于一般的用户使用起来可能会觉得有困难,因此在本系统中实现了帮助功能,单机帮助功能通过帮助文档能够为用户提供一般问题的帮助,当帮助文档不能解决所遇到的问题时,可以通过在线帮助链接帮助网页来解决更新的帮助文档不能解决的问题。帮助功能使初次使用的用户更容易适应本系统,并使本系统发挥很好的作用。(7) 其他(系统维护) 系统维护功能为系统的升级和日常维护提供了便利的接口,通过系统界面上的功能设置即可对数据库的数据进行操作而不必进入数据库中设置数据,使系统维护的难度降低,更加平民化,便于市政部门对系统的日常维护,不需数据库或系统的设
16、计人员来做系统维护。系统维护提供了大小类别的维护功能,通过系统主界面菜单栏系统维护选项即可进行维护操作,分别为大类别中部件和事件维护,小类别中部件和事件维护。为了保证数据的正确性,设定为系统维护后要求重启系统。1.3 系统总体达到的目标界面设计简单,美观;用户能够直接使用系统而不必接受培训;数据能够有效地更新;数据的更新不会影响到系统运行的稳定性;系统运行的结果能够有效反映相关数据的更新;保证系统的易维护性。1.4 系统总体结构和子系统结构1.4.1 系统总体结构 根据本系统的功能设置,系统的总体结构为:图1.1 系统总体结构图1.4.2 子系统结构 根据子系统的功能设置,电子地图控制子系统结
17、构为:图1.2 电子地图控制子系统结构图 根据子系统的功能设置,电子地图显示子系统结构为:图1.3 电子地图显示子系统结构图 根据子系统的功能设置,电子地图输出子系统结构为:图1.4 电子地图输出子系统结构图 根据子系统的功能设置,查询子系统和数据修改子系统结构为:图1.5 查询子系统和数据修改子系统结构图 根据子系统的功能设置,帮助子系统和其它功能部分系统结构为:图1.6 帮助子系统和其它功能部分系统结构图 基于GIS系统的市政设施管理系统根据各大功能类别将系统分为七大子系统,每个子系统由各自的功能模块组成,这样的子系统分类方式有利于系统的设计和代码的维护,也利于实现代码模块之间的相互独立,
18、通过一些接口调用其它模块,也符合面向对象编程的思想。1.5 系统的数据流程图和数据字典图1.7 数据流程图下面列出数据字典:表1.1 部件数据字典名称CityObj如何使用查询时输出,数据修改是输入描述CityObj=基本属性 | 基本属性+扩展属性基本属性=标识码,名称,所属部门,所在万米单元,位置描述,状态,现势性,初始时间,变更时间扩展属性=源比例尺,备注表1.2 事件数据字典名称CityEvent何处使用查询时输出,数据修改时输入描述CityEvent=基本属性基本属性=代码,名称,归属部门,问题位置,所在单元网格表1.3 部门数据字典名称DeptList何处使用和部件表,事件表关联。
19、查询时输出描述DeptEvent=基本属性基本属性=单位序号,单位代码,专业部门名称,单位类别表1.4 地区代码编码数据字典名称LocCode何处使用和部件表,时间表关联。查询时输出描述LocCode=地区编码,地区名称表1.5 部件大小类别数据字典名称ObjLevel何处使用和部件表关联。查询时输出,系统维护时输入描述ObjLevel=Obj2Code,Obj1code,Obj2Name,Obj1Name表1.6 事件大小类别数据字典名称EventLevel何处使用和事件表关联。查询时输出,系统维护时输入描述EventLevel=Event2Code,Event1Code,Event2Nam
20、e,Event1Name1.6 系统的软硬件支持环境 从本系统的应用范围和对象考虑,软硬件要求比较低。采用C#的编程平台和SQL2000数据库作为后台的编程方式也使本系统的通用性移植性比较强,各个市政部门的计算机和移动计算设备都可以运行。考虑到SQL数据库数据量比较大,建议使用256M内存,主频为1.3G以上的处理器,硬盘空间参考数据库存储量。系统编程平台为:C#为前台,SQL2000为后台。2 基于GIS的市政设施管理系统的概念设计图2.1 系统E-R图3 基于GIS的市政设施管理系统的逻辑设计(1) 市政设施部件基本信息表(CityObj)表3.1 部件基本信息表列名属性项数据类型长度允许
21、空主关键字Code标识码Char160Name名称Char300DeptNameID归属部门Char600GBCode所在万米单元Char120Pos位置描述Char300ObjState状态Char300ObjUseState现势性Char300BeginTime初始时间Date100EndTime变更时间Date100MapScale源比例尺Number101Memo备注Char1001(2) 市政事件基本信息表(CityEvent)表3.2 事件基本信息表列名属性项数据类型长度允许空主关键字Code代码Char100Name名称Char300DeptNameID归属部门Char600Po
22、s问题位置Char300GBcode所在单元网格Char120(3) 市政部门基本信息表(DeptList)表3.3 部门基本信息表列名属性项数据类型长度允许空主关键字DeptID单位序号Char100DeptCode单位代码Char100DeptName专业部门名称Char600DeptClassCode单位类别Char20(4) 地区代码基本信息表(LocCode)表3.4 地区代码基本信息表列名属性项数据类型长度允许空主关键字LocCode地区编码Char60LocName地区名称Char300(5) 单位分类基本信息表(DeptClass)表3.5 单位分类基本信息表列名属性项数据类型
23、长度允许空主关键字DeptCode分类代码Char20DeptName单位名称Char600(6) 部件分类基本信息表(ObjLevel)表3.3 部件分类基本信息表列名属性项数据类型长度允许空主关键字Obj2Code小类别代码Char20Obj1Code大类别代码Char20Obj2Name部件名称Char300ObjDeptName部件归属单位Char600ObjSuppDeptN部件处理单位Char600(7) 事件分类基本信息表(EventLevel)表3.3 事件分类基本信息表列名属性项数据类型长度允许空主关键字Event2Code小类别代码Char20Event1Code大类别代码
24、Char20Event2Name事件名称Char300EventDeptID事件处理单位Char6004 基于GIS的市政设施管理系统的应用程序设计4.1 相关软件介绍 C#是可用于创建要运行在NET CLR上的应用程序的语言之一,它是从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。使用C#开发应用程序比使用C+简单,因为其语法比较简单,而且C+的能完成的任务在C#中也能完成。C#代码通常比C+略长一些,这是因为C#是一种类型安全的语言,而且C#的代码更健壮,调试也比较简单
25、,.NET总是可以随时追踪数据的类型。C#只是.NET开发的一种语言,也是最好的一种语言,它有很多的优点:首先它是唯一为.NET Framework而设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。 MapObjects是ESRI在一九九六年推出的基于软件开发的地图和GIS组件,是ESRI的一个单独开发的产品,在短短的几年里就得到了广发的应用,MapObjects2.2增加了对.NET的支持,最新的版本MapObject2.3增加了一些补丁。MO作为一套制图软件集,它是程序员能够把地图加到应用程序中去,通过MapObjects便可灵活的建立适合用户的地图接口,在小内存空间中
26、,用户可以用多种工业标准程序环境之一去建立应用程序,来实现地图与用户信息的联系。MO的功能有:显示一张多图层的地图(道路,河流,边界等);地图的放大,缩小,漫游;生成图形元素,如点,线,圆,多边形;说明标记;识别地图上被选中的元素;通过线,方框,区域,多边形,圆来拾取物体,拾取距参照物特定范围内的物体;通过SQL描述来选择物体;对所选择的物体进行基本统计,对所选地图元素的属性进行更新;绘制地图元素,标注地图元素;从航片或卫星图片上截取图像;动态显示实时或系列时间组数据;在图上标注地址或定位。通过在C#中嵌入MO2.3便可以进行GIS系统的二次开发,其中对地图的操作可以通过MO中的控件进行一些程
27、序代码完成。4.2 主窗口设计根据系统的功能要求和方便使用的原则,主窗口设计如下图4.1:图4.1 主窗口设计图窗口上方的工具栏按钮依次为:系统维护,放大,缩小,刷新,漫游,输出,查询,数据修改,图例,帮助和退出。左侧的output_listbox是查询结果列表,显示查找结果和地图标记信息;下方是鹰眼地图显示窗口。右侧为查询和数据修改功能栏,可以进行查找和数据修改操作。中间空白处即为主地图显示窗口,显示所选择地图的相关图层。最右侧的一列小按钮是地图操作按钮,可以进行点选择,矩形选择,多边形选择操作和距离,面积量算。4.3 功能模块设计 4.3.1 电子地图控制子系统功能模块设计 电子地图控制子
28、系统主要包括地图放大,地图缩小,地图漫游三个功能模块。 (1)地图放大功能模块。此功能实现了地图的放大显示,方便用户的查询和查看。点击一次放大2倍,放大倍数同界面地图显示主窗口右上方的地图倍数选择快捷键相对应,地图载入时初始状态为原始比例。在进行快捷键实现放大和缩小功能前需设定屏幕中心点,以便在放大后保证地图的显示中心不变,具体语句如下:MapObjects2.Point pt; /设定中心点 pt = _map.Extent.Center;放大为200%(放大其他倍数方法同放大为2倍,)时具体实现如下: MapOpr.MO_ZOOMIN: if(_environment.CalcScale(
29、_map)MAX_SCALE) return; /达到最大倍数时不能继续放大 MapObjects2.Rectangle rect; rect=_map.TrackRectangle (); double dScale=_environment.CalcScale(_map); double dScale=_environment.CalcScale(_map,rect); double dWidth=rect.Width ; double dHeight=rect.Height ; if(null=rect) | (dWidth0.00005) | (dHeight0.00005) | (d
30、ScaleMAX_SCALE)MapObjects2.Point pt=_map.ToMapPoint (e.x,e.y); /放大的中心点是鼠标点击地图的位置 MapObjects2.Rectangle r=_map.Extent ; r.ScaleRectangle (0.5); /放大倍数设置为2倍 r.Offset (-(r.Center .X -pt.X ),-(r.Center .Y -pt.Y ); _map.Extent =r; else _map.Extent =rect; ReLableLayers(); /重新进行注记 ReShowLayers(); /依据比例尺控制各图层的显示状态 _m
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1