计算机毕业设计论文基于GIS的市政设施管理摘要.docx
《计算机毕业设计论文基于GIS的市政设施管理摘要.docx》由会员分享,可在线阅读,更多相关《计算机毕业设计论文基于GIS的市政设施管理摘要.docx(50页珍藏版)》请在冰豆网上搜索。
计算机毕业设计论文基于GIS的市政设施管理摘要
基于GIS的市政设施管理系统
摘要
基于GIS的施政设施管理系统采用了以C#为前台,SQLServer2000为后台的设计方法,具体实现了电子地图的控制功能,市政设施数据管理功能和系统维护功能。
本文详细论述了系统的设计和实现的过程,包括系统的需求分析,概念设计,逻辑设计,应用程序设计和主程序的调试和试运行情况,最后介绍了本系统的使用说明。
在需求分析中着重介绍了系统的功能设置及系统的数据流程图和数据字典。
实体及其之间关系模型的设计即概念设计和逻辑设计也在本文中进行了详细的说明。
在系统的应用程序设计中,叙述了系统的主窗口界面和各部分的功能模块的设计思想及实现的方法。
系统程序调试章节中叙述了在调试中遇到的问题和解决的方法。
ManagementSystemOfMunicipalFacilitiesBasedOnGIS
Abstract
ThisdissertationintroducesthecourseofdesignofManagementsystemofmunicipalfacilitiesbasedonGIS,includedofrequirementanalyse,conceptiondesign,logicdesign,applicationdesign,mainprogramdebuggingandrunningtestofmainprogram,intheend,itintroducestheusingexplainofthesystem.Intheparagraphofrequirementanalyse,itparticularlyintroducesgeneralsituationofsystem,functionsetting,collectivitytarget,structureofmainsystemandsubsystem,dataflowchartanddatadictionaryofsystem.Conceptiondesignandlogicdesignwhichaimatdatadesignforthissystem,explainthedesignsofallkindsofinformationtables.Inthepartofapplicationdesign,atfirstitintroducesasoftwareandmodulesfordevelopingthissystem,thenthemainwindowandfunctionofeverypartinthewindow,intheenditexplainsdesignideaandmethodoffunctionsineverysubsystem,therearealsosomecodeforthat.Theparagraphofprogramdebuggingandrunningdescribessomedebuggingproblemsandhowtodealwiththem,andshowtherunningstatusinfunctiontest.
KeyWordsGIS;Municipalfacilities;Managementsystem
绪论
为了满足GIS对地球表面、空中和地下的若干要素空间分布和相互关系的研究,GIS都具有公共地理定位基础、标准化和数字化、多维结构的特点。
此外,GIS还具有数据输入、存贮、编辑、查询、检索、显示输出的功能,能进行各种操作运算和应用分析,并易于更新维护。
GIS对图形的编辑处理是其用户界面的最显著的特点之一。
一般来说GIS的特点为:
空间可视化,空间导向,空间思维。
GIS概念的提出要追溯到二十世纪五十年代,计算机科学在测量学和地图制图学中的应用,使人们开始有可能用电子计算机来收集,存储和处理各种与空间和地理分布有关的图形和属性数据,并希望通过计算机对数据的分析来直接为管理和决策服务。
奥地利测绘部门首先建立了地籍数据库,而后加拿大的测量学家首先提出了地理信息系统这一术语,并建立了世界上第一个GIS—加拿大地理信息系统,用于自然资源的管理和规划。
六十年代IBM和COLORADO也开始致力于GIS的研究和相关软件的开发。
七十年代受计算机软硬件发展的促进,GIS技术朝实用化方向发展,一些发达国家将GIS投入实际应用,与此同时,GIS软件得到很大的发展,成为一个引人注目的领域。
而后的几十年中GIS得到了普及和推广应用,GIS软件的发展主要在开放GIS的研究;关系数据库和GIS的结合;GIS构件的开发和互联网成为了GIS新的操作平台。
随着数字化信息产品的普及,GIS已经成为了人们生产生活中不用可缺少的工具和助手。
绝大多数的GIS,主要处理二维空间数据,从这些数据中经过处理得出的有用的信息,既可以通过图形图像的形式表达,也可以统计图,表格和各种各
样的人机交互形式来表达。
GIS可通过获取,输入,操作,传输,可视化,组合,查询,分析,建模和输出数据的形式为土地利用,自然资源,环境,运输,城市设施和其它管理的规划和管理提供决策支持。
目前的GIS的研究和应用都处在一个高速发展的阶段,未来若干年空间数据的采集和GIS技术将会有更新更大的发展,从而给城市空间数据生产和GIS应用增添新的活力。
卫星影像技术,数字摄影测量和空间定位技术的发展将为GIS的发展提供支持,新的数据获取和更新技术的发展,新数据形式的应用,数据共享政策及其实施,国家多尺度空间数据基础设施的建设以及数字地球和数字城市的建设都将大大改善城市空间数据的状况。
GIS技术的将在城市发展中得到实际应用,从而提高了GIS系统的应用的水平。
城市GIS将进一步转向应用,为城市的发展建立一整套的数字信息,将会带来极大的实际效益,GIS也将真正走向产业化和市场化。
本系统是基于GIS的市政设施管理系统,通过本系统,可以实现对市政设施的信息化管理,提高各市政部门的协同工作,改变现有的对设施的管理模式。
系统的设计主要依据城市市政监管信息化系列标准,通过C#平台来实现。
1基于GIS的市政设施管理系统的需求分析
1.1系统概况
基于GIS的市政设施管理系统的功能主要是对市政设施进行查找和管理,这是适应市政管理现代化,数字化和信息化的要求,结合已经制定的城市市政监管信息化系列标准,可以实现市政设施管理的无纸化操作,不但提高了工作效率,而且可以实现各个市政部门之间的协作。
系统的开发使用C#平台和MapObjects2.3组件,可以对地图进行操作,实现地理位置和市政设施属性的互动,使用户得到更直观的信息。
通过在C#中嵌入MO2.3便可以进行基于GIS的市政设施管理系统的开发。
考虑到系统的应用范围和对象,主要实现两大关键功能,查找功能和数据修改功能,并可以通过地图标记辅助查找定位功能。
1.2系统功能说明
基于GIS的市政设施管理系统主要是为市政部门提供一个信息化的管理方式,系统为一般用户提供了设施查找和定位功能,也为专业用户提供了数据修改功能以实现数据信息的更新。
本系统分为七大子系统:
电子地图控制子系统,电子地图显示子系统,电子地图输出子系统,查询子系统,数据修改子系统,帮助子系统,其他(系统维护)。
(1)电子地图控制子系统
电子地图控制子系统主要是对电子地图进行操作,实现放大,缩小,漫游的功能,并可以对电子地图的图层进行选择显示。
(2)电子地图显示子系统
电子地图显示子系统是控制系统各个地图显示的模块,可以对所显示的地图做标记并可以通过刷新消除标记,显示所选择的地图,鹰眼功能可以在主地图显示范围变化时显示出主窗口地图在全比例地图下的位置和范围。
(3)电子地图输出子系统
电子地图输出子系统是对主窗口地图窗口范围或全部范围输出,并保存为bmp格式图片或通过打印机打印出来,满足不同的保存需求。
(4)查询子系统
查询子系统是本系统中的关键功能之一,用户可以通过此功能方便的查找到所需的设施。
系统提供了两种查找方式:
一个是通过选择部件或事件的大类和小类来查找相同类别的所有设施部件或事件;另外一个是通过物理位置查找,输入坐标和距离中心坐标点的位移来查找距离中心点某距离的所有设施部件或所有事件,或者在结果列表中选择一个部件或者事件,再选择距离后就可以查找得到和所选部件或事件某距离内的所有部件或事件。
设置这两种查找方式的原因是考虑到市政管理的特点,需要对相同类别的设施部件或事件进行查看分析,而查找某个坐标点或区域的设施部件或事件以便于市政部门分析区域事件进行设施维护和管理。
(5)数据修改子系统
数据修改子系统也是本系统中关键功能之一,用户通过此子系统模块实现对市政设施部件或事件及其属性的新建,修改和删除功能。
部件和事件的属性设置根据城市市政监管信息化系列标准设置,通过主界面上或菜单栏中的数据修改功能的选项即可对数据库中的数据进行操作。
新建功能:
选择此选项即可往数据库中添加新的部件或事件,在大小类别选择框中选择要新建的项目类别,然后输入相关属性即可添加成功;修改功能:
首先通过大小类别下拉框选择要修改项目的类别,然后在结果列表中选择具体的部件或事件,也可以通过坐标查找要修改的具体的部件或事件,此时属性框中显示的属性即为修改前的属性设置,对某属性修改后点击修改按钮即可,当再次选择此部件或事件时,属性框显示的即为修改后的属性设置;删除功能:
通过大小类别下拉框选择要删除项目的类别,然后在结果类别中选择具体的部件或事件,同样可以通过坐标查找要修改的具体的部件或事件,点击删除按钮即删除并刷新数据库通过结果列表显示。
数据修改功能使市政设施管理系统保证数据适时更新,准确地反映现实情况,为市政管理提供最有力的支持。
(6)帮助子系统
GIS系统相对来说是专业性比较强的系统,对于一般的用户使用起来可能会觉得有困难,因此在本系统中实现了帮助功能,单机帮助功能通过帮助文档能够为用户提供一般问题的帮助,当帮助文档不能解决所遇到的问题时,可以通过在线帮助链接帮助网页来解决更新的帮助文档不能解决的问题。
帮助功能使初次使用的用户更容易适应本系统,并使本系统发挥很好的作用。
(7)其他(系统维护)
系统维护功能为系统的升级和日常维护提供了便利的接口,通过系统界面上的功能设置即可对数据库的数据进行操作而不必进入数据库中设置数据,使系统维护的难度降低,更加平民化,便于市政部门对系统的日常维护,不需数据库或系统的设计人员来做系统维护。
系统维护提供了大小类别的维护功能,通过系统主界面菜单栏系统维护选项即可进行维护操作,分别为大类别中部件和事件维护,小类别中部件和事件维护。
为了保证数据的正确性,设定为系统维护后要求重启系统。
1.3系统总体达到的目标
界面设计简单,美观;用户能够直接使用系统而不必接受培训;数据能够有效地更新;数据的更新不会影响到系统运行的稳定性;系统运行的结果能够有效反映相关数据的更新;保证系统的易维护性。
1.4系统总体结构和子系统结构
1.4.1系统总体结构
根据本系统的功能设置,系统的总体结构为:
图1.1系统总体结构图
1.4.2子系统结构
根据子系统的功能设置,电子地图控制子系统结构为:
图1.2电子地图控制子系统结构图
根据子系统的功能设置,电子地图显示子系统结构为:
图1.3电子地图显示子系统结构图
根据子系统的功能设置,电子地图输出子系统结构为:
图1.4电子地图输出子系统结构图
根据子系统的功能设置,查询子系统和数据修改子系统结构为:
图1.5查询子系统和数据修改子系统结构图
根据子系统的功能设置,帮助子系统和其它功能部分系统结构为:
图1.6帮助子系统和其它功能部分系统结构图
基于GIS系统的市政设施管理系统根据各大功能类别将系统分为七大子系统,每个子系统由各自的功能模块组成,这样的子系统分类方式有利于系统的设计和代码的维护,也利于实现代码模块之间的相互独立,通过一些接口调用其它模块,也符合面向对象编程的思想。
1.5系统的数据流程图和数据字典
图1.7数据流程图
下面列出数据字典:
表1.1部件数据字典
名称
CityObj
如何使用
查询时输出,数据修改是输入
描述
CityObj={基本属性|基本属性+扩展属性}
基本属性={标识码,名称,所属部门,所在万米单元,位置描述,状态,现势性,初始时间,变更时间}
扩展属性={源比例尺,备注}
表1.2事件数据字典
名称
CityEvent
何处使用
查询时输出,数据修改时输入
描述
CityEvent={基本属性}
基本属性={代码,名称,归属部门,问题位置,所在单元网格}
表1.3部门数据字典
名称
DeptList
何处使用
和部件表,事件表关联。
查询时输出
描述
DeptEvent={基本属性}
基本属性={单位序号,单位代码,专业部门名称,单位类别}
表1.4地区代码编码数据字典
名称
LocCode
何处使用
和部件表,时间表关联。
查询时输出
描述
LocCode={地区编码,地区名称}
表1.5部件大小类别数据字典
名称
ObjLevel
何处使用
和部件表关联。
查询时输出,系统维护时输入
描述
ObjLevel={Obj2Code,Obj1code,Obj2Name,Obj1Name}
表1.6事件大小类别数据字典
名称
EventLevel
何处使用
和事件表关联。
查询时输出,系统维护时输入
描述
EventLevel={Event2Code,Event1Code,Event2Name,Event1Name}
1.6系统的软硬件支持环境
从本系统的应用范围和对象考虑,软硬件要求比较低。
采用C#的编程平台和SQL2000数据库作为后台的编程方式也使本系统的通用性移植性比较强,各个市政部门的计算机和移动计算设备都可以运行。
考虑到SQL数据库数据量比较大,建议使用256M内存,主频为1.3G以上的处理器,硬盘空间参考数据库存储量。
系统编程平台为:
C#为前台,SQL2000为后台。
2基于GIS的市政设施管理系统的概念设计
图2.1系统E-R图
3基于GIS的市政设施管理系统的逻辑设计
(1)市政设施部件基本信息表(CityObj)
表3.1部件基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
Code
标识码
Char
16
0
Name
名称
Char
30
0
DeptNameID
归属部门
Char
60
0
GBCode
所在万米单元
Char
12
0
Pos
位置描述
Char
30
0
ObjState
状态
Char
30
0
ObjUseState
现势性
Char
30
0
BeginTime
初始时间
Date
10
0
EndTime
变更时间
Date
10
0
MapScale
源比例尺
Number
10
1
Memo
备注
Char
100
1
(2)市政事件基本信息表(CityEvent)
表3.2事件基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
Code
代码
Char
10
0
Name
名称
Char
30
0
DeptNameID
归属部门
Char
60
0
Pos
问题位置
Char
30
0
GBcode
所在单元网格
Char
12
0
(3)市政部门基本信息表(DeptList)
表3.3部门基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
DeptID
单位序号
Char
10
0
DeptCode
单位代码
Char
10
0
DeptName
专业部门名称
Char
60
0
DeptClassCode
单位类别
Char
2
0
(4)地区代码基本信息表(LocCode)
表3.4地区代码基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
LocCode
地区编码
Char
6
0
LocName
地区名称
Char
30
0
(5)单位分类基本信息表(DeptClass)
表3.5单位分类基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
DeptCode
分类代码
Char
2
0
DeptName
单位名称
Char
60
0
(6)部件分类基本信息表(ObjLevel)
表3.3部件分类基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
Obj2Code
小类别代码
Char
2
0
Obj1Code
大类别代码
Char
2
0
Obj2Name
部件名称
Char
30
0
ObjDeptName
部件归属单位
Char
60
0
ObjSuppDeptN
部件处理单位
Char
60
0
(7)事件分类基本信息表(EventLevel)
表3.3事件分类基本信息表
列名
属性项
数据类型
长度
允许空
主关键字
Event2Code
小类别代码
Char
2
0
Event1Code
大类别代码
Char
2
0
Event2Name
事件名称
Char
30
0
EventDeptID
事件处理单位
Char
60
0
4基于GIS的市政设施管理系统的应用程序设计
4.1相关软件介绍
C#是可用于创建要运行在NETCLR上的应用程序的语言之一,它是从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。
因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。
使用C#开发应用程序比使用C++简单,因为其语法比较简单,而且C++的能完成的任务在C#中也能完成。
C#代码通常比C++略长一些,这是因为C#是一种类型安全的语言,而且C#的代码更健壮,调试也比较简单,.NET总是可以随时追踪数据的类型。
C#只是.NET开发的一种语言,也是最好的一种语言,它有很多的优点:
首先它是唯一为.NETFramework而设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。
MapObjects是ESRI在一九九六年推出的基于软件开发的地图和GIS组件,是ESRI的一个单独开发的产品,在短短的几年里就得到了广发的应用,MapObjects2.2增加了对.NET的支持,最新的版本MapObject2.3增加了一些补丁。
MO作为一套制图软件集,它是程序员能够把地图加到应用程序中去,通过MapObjects便可灵活的建立适合用户的地图接口,在小内存空间中,用户可以用多种工业标准程序环境之一去建立应用程序,来实现地图与用户信息的联系。
MO的功能有:
显示一张多图层的地图(道路,河流,边界等);地图的放大,缩小,漫游;生成图形元素,如点,线,圆,多边形;说明标记;识别地图上被选中的元素;通过线,方框,区域,多边形,圆来拾取物体,拾取距参照物特定范围内的物体;通过SQL描述来选择物体;对所选择的物体进行基本统计,对所选地图元素的属性进行更新;绘制地图元素,标注地图元素;从航片或卫星图片上截取图像;动态显示实时或系列时间组数据;在图上标注地址或定位。
通过在C#中嵌入MO2.3便可以进行GIS系统的二次开发,其中对地图的操作可以通过MO中的控件进行一些程序代码完成。
4.2主窗口设计
根据系统的功能要求和方便使用的原则,主窗口设计如下图4.1:
图4.1主窗口设计图
窗口上方的工具栏按钮依次为:
系统维护,放大,缩小,刷新,漫游,输出,查询,数据修改,图例,帮助和退出。
左侧的output_listbox是查询结果列表,显示查找结果和地图标记信息;下方是鹰眼地图显示窗口。
右侧为查询和数据修改功能栏,可以进行查找和数据修改操作。
中间空白处即为主地图显示窗口,显示所选择地图的相关图层。
最右侧的一列小按钮是地图操作按钮,可以进行点选择,矩形选择,多边形选择操作和距离,面积量算。
4.3功能模块设计
4.3.1电子地图控制子系统功能模块设计
电子地图控制子系统主要包括地图放大,地图缩小,地图漫游三个功能模块。
(1)地图放大功能模块。
此功能实现了地图的放大显示,方便用户的查询和查看。
点击一次放大2倍,放大倍数同界面地图显示主窗口右上方的地图倍数选择快捷键相对应,地图载入时初始状态为原始比例。
在进行快捷键实现放大和缩小功能前需设定屏幕中心点,以便在放大后保证地图的显示中心不变,具体语句如下:
MapObjects2.Pointpt;//设定中心点
pt=_map.Extent.Center;
放大为200%(放大其他倍数方法同放大为2倍,)时具体实现如下:
MapOpr.MO_ZOOMIN:
if(_environment.CalcScale(_map)>MAX_SCALE)
return;//达到最大倍数时不能继续放大
MapObjects2.Rectanglerect;
rect=_map.TrackRectangle();
doubledScale=_environment.CalcScale(_map);
doubledScale=_environment.CalcScale(_map,rect);
doubledWidth=rect.Width;
doubledHeight=rect.Height;
if((null==rect)||(dWidth<0.00005)||(dHeight<0.00005)||(dScale{
MapObjects2.Pointpt=_map.ToMapPoint(e.x,e.y);//放大的中心点是鼠标点击地图的位置
MapObjects2.Rectangler=_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