《GIS系统开发综合设计》
课程设计报告
学 院: 资源环境学院
专 业: 地科10-1
名 称: 电子地图查询系统
指导老师: 田 根
成 员: 付云龙、方昌坦、刘璐
陈忠、 杜艳涛
日 期: 2014/1/8
目 录
1.GIS开发小组分工说明................................3
2.软件需求规格说明书.................................3
2.2硬件需求.......................................3
2.3软件需求.......................................3
3.系统总体设计.......................................3
3.1引言..........................................3
3.2系统模块设计 .................................3
3.3系统功能设计 .................................4
3.4系统基本界面截图 .............................4
4.系统详细设计规格说明 ..............................6
4.1系统设计流程 ..................................6
4.2功能设计......................................7
4.3系统使用范围..................................7
4.4部分功能代码示例..............................8
5.系统说明书及用户手册...............................9
5.1 系统说明书....................................9
5.2 用户手册......................................9
6.总结..............................................10
7.组员个人总结......................................10
【参考文献】........................................11
一.GIS开发小组分工说明
1.1开发成员:付云龙、方昌坦、刘璐、陈忠、杜艳涛
1.2开发人员分工:
付云龙:“鹰眼”视图及变化相关功能,整合其他组员代码调试程序,编写部分课程设计报告。
陈忠:“文件”菜单和“关于”菜单内相关内容及代码。
杜艳涛:“工具”菜单内相关内容及工具条的制作和相关代码。
方昌坦:“图层”菜单项下相关内容及代码,课程设计主要编写。
刘璐:“查询”菜单项下相关内容及代码前期资料的整理。
二.软件需求规格说明书
2.2硬件需求
Win XP及其以上系统版本,512M内存,CPU主频1G HZ以上;
2.3软件需求
需要首先安装MapInfo公司的 MapX控件,作为底层控件来调用。
三.系统总体设计
3.1引言
新型的电子地图系统所能完成的任务已经超出了传统地图的作用,例如其动态和可定制的地理要素内容和显示效果是传统方式无法比拟的。另一方面,社会生活和国民经济的很多领域也逐渐认识到,将各种关注的信息用电子地图的方式展现出来,会极大地提高工作效率,增强决策的客观性和科学性。
本系统目的在于开发一个通用的基础性的电子地图系统平台,不在于求具体的应用功能实现的先进性,而在于对基本的电子地图的图层显示、管理、查询、计算等操作的总体合理性,主要实现的功能是电子地图的分层显示、图层的管理、地图查询计算、地图的基本的缩放平移、地图的格式转换等。
3.2系统模块设计
图一 总体设计模块功能图
3.3系统功能设计
1) 地图信息
包括打开另存地图数据集,以及对当前地图输出成“BMP”等多种图片格式等主要功能。
2) 视图管理
包括放大、缩小、漫游等基本的视图操作及对图层的选择、加载、删除、可见、移动、标注、控制等操作。
3) 量测信息
包括地图的距离测量、面积计算以及范围、地物、精确、模糊等查询功能。
另外,一些常用的功能还通过工具栏的方式提供。主要包括:打开、保存、箭头、放大、缩小、漫游、选择、查询距离、全图显示、全部不选、图层控制、关于等基本功能。
3.4系统基本界面截图
图二 电子地图查询系统主界面
图四:电子地图面积查询结果显示
图五 图层控制界面
四.系统详细设计规格说明
4.1系统设计流程
可分为系统需求分析、系统总体设计、系统详细设计、系统实施阶段(代码编写)、系统测试与评价阶段。如下:
图六 系统设计流程图
4.2功能设计
图七 详细设计功能图
4.3系统使用范围.
本系统只是作为基础平台为实现,在其基础上的发展的应用管理系统有广阔的使用前景和市场,例如餐饮公交定位信息查询、大型工矿企业信息管理平台、城市等国土资源的规划、旅游交通信息管理行业等。
4.4部分功能代码示例 (详细代码见个人总结)
Private Sub Form_Load()
Formmain.Show ‘主窗体加载显示
menumapopen_Click ‘执行文件打开事件
If Map1.GeoSet = "" Then ‘如果地图集为空则工具、图层、查询功能不能使用
menutool.Enabled = False
menulayer.Enabled = False
menusearch.Enabled = False
Else ‘若果不为空则正常使用
menutool.Enabled = True
menulayer.Enabled = True
menusearch.Enabled = True
End If ‘结束If语句
Map1.CreateCustomTool 1, miToolTypePoly, 2, , , "距离查询"
‘调用函数进行距离查询
Map1.CreateCustomTool AREASEARCH00, miToolTypePolygon, 2, , , "面积查询"
Map1.CreateCustomTool AREATOOLSEARCH, miToolTypePoint, 2, , , "范围查询"
End Sub
‘鹰眼视图中部分代码
Set m_TempLayer = Map2.Layers.CreateLayer("T_tempLayer") '给Map2增加临时图层
If m_TempLayer.AllFeatures.Count = 0 Then
'设置矩形边框样式
Set tempStyle = New MapXLib.Style
tempStyle.RegionPattern = miPatternNoFill
tempStyle.RegionBorderColor = 255
tempStyle.RegionBorderWidth = 2
'在临时图层添加大小为Map1的边界的Rectangle对象
Set tempFea = Map2.FeatureFactory.CreateRegion(Map1.Bounds, tempStyle)
Set m_Fea = m_TempLayer.AddFeature(tempFea)
Set tempStyle = Nothing
Else '根据Map1的视野变化改变矩形边框的大小和位置
With m_Fea.Parts.Item(1)
.RemoveAll
.AddXY Map1.Bounds.XMin, Map1.Bounds.YMin
.AddXY Map1.Bounds.XMax, Map1.Bounds.YMin
.AddXY Map1.Bounds.XMax, Map1.Bounds.YMax
.AddXY Map1.Bounds.XMin, Map1.Bounds.YMax
End With
m_Fea.Update ‘图层进行更新
五.系统说明书及用户手册
5.1 系统说明书
运行“电子地图查询系统.exe”文件需要在电脑上安装Mapinfo公司的MapX 5.0控件。
打开系统源文件需在电脑上安装VB 6.0及MapX 5.0控件。
附:程序中使用的MSCOMCTL.OCX 控件不能自动添加,如手动添加“Microsoft Windows Common Controls 6.0”提示不能加载,请按下面方法操作:
1、先在开始—运行中执行下面命令反注册MSCOMCTL32.OCX控件:REGSVR32 /u C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX32。
2、把MSCOMCTL.OCX 控件(在本程序压缩包中提供)复制到 C:\WINDOWS\SYSTEM32\ 目录下
3、在 开始 - 运行 中用下面命令注册 MSCOMCTL32.OCX 控件即可:REGSVR32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX
5.2 用户手册
系统界面美观大方,实现基本的电子地图管理、设置、图层、查询功能。
鹰眼功能:用户在主图区域通过放大、缩小、漫游等功能改变视图时,用一个红色矩形框同时在缩略图中标出对应的区域,是用户对自己所观看的位置有一个整体的把握。
在文件菜单下用户可以实现打开、保存、另存、关闭数据集等功能。此外,用户可以对当前界面上的地图保存成“BMP”“JPG”等格式的地图。
在工具菜单下可以实现放大、缩小、漫游、全图显示等基本功能。
在图层菜单下可以实现图层(集)的加载、删除、可见、标注、移动、控制等功能。
在查询菜单下可以实现距离查询、面积计算以及范围、地物、模糊、精确等查询。距离查询和面积计算是双击鼠标结束该项功能。范围查询时在地图上指定一点后弹出对话框输入查询范围半径此时即以该点为圆心输入值为半径进行查询。
在“关于”菜单下用户可以看到本系统的制作团队基本信息。
六.总结
本次实习通过软件的总体功能设计和代码编写,分别实现了电子地图的显示缩放平移、文件转换、图层的控制管理、基本地图管理工具和相应的查询等功能。生成一个完整的电子地图管理基础平台,本系统不在于求具体的应用功能实现的先进性,而在于对基本的电子地图的图层显示、管理、查询、计算等操作的总体合理性,在此基础平台的基础实现有关电子地图的应用,例如旅游餐饮位置信息查询、大型工矿企业信息管理平台、城市等国土资源的规划、交通信息管理行业等。
有了本次实习的经验,对GIS软件的系统需求分析、系统总体设计、系统详细设计、系统实现(软件代码编辑与实现)、软件测试与维护,这一系统的工程有了更加深入的了解,对以后的GIS基础平台,应用开发垫下了坚实的基础。
七.组员个人总结(见附件)
【参考文献】
1.李连营著,基于MapX的GIS 应用开发,武汉大学出版社,2003。
2.胡鹏编著,地理信息系统教程,武汉大学出版社,2002。
3.李满春编著,GIS设计与实现,科学出版社,2003。
4.陈正江著编,地理信息系统设计与开发,科学出版社,2005。
5.刘光编著,地理信息系统二次开发教程(组件篇),清华大学出版社,2003
6.吴信才,《地理信息系统设计与实现》(第二版),电子工业出版社,2009
7. 《Visual C++开发GIS系统》 陈建春等编著
8. 《ArcGIS开发宝典》,刘仁义等
0806601-04 陈春光
一、设计时间
20##年12月19日-20##年12月23日
二、设计地点
湖南城市学院信息楼506机房
三、设计目的
1.利用影像配准(Georeferencing) 工具进行影像数据的地理配准;
2.编辑器的使用(点要素、线要素、多边形要素的数字化);
3.熟悉GRAMIN GPS手持机的基本使用方法。
四、设计小组成员
0806601-04 陈春光 0806601-09谭植
0806601-40邓海贵 0806601-07 莫欢欢
五、指导老师
王永红 祝青
六、设计课题
我们小组的选题是十一:
1.总结屏幕跟踪数字化过程的基本步骤及每一步骤的必要性。
2.分析数字化过程中误差的来源及减小误差的相关方法。
3.对配准后的数据进行重采样
七、基本思路及关键问题的解决方法;
基本思路:利用GRAMIN GPS手持机收集多个GPS点,数据采集回来后用MapSource 软件通过数据线将数据从GPS手持机中导入到计算机并存储为GPS.txt 文件并建立新的数据组保存,再运用ArcMap对存于计算机里的数据进行分析处理利用影像配准(Georeferencing) 工具进行影像数据的地理配准,最后对点要素、线要素、多边形要素编辑使用。
关键问题及解决办法:
(1)数据的收集:需利用大量课外时间对目标的区域进行GPS点数据收集,运用GRAMIN GPS手持机,小组成员需熟练的掌握GRAMIN GPS手持机的使用。
(2)数据的保存和分析,解决方法:熟练的掌握ArcGIS Desktop ---ArcMap的使用,注意保存数据文件的格式,对数据的分析。
(3)分析数字化过程中误差的来源及减小误差的相关方法:一方面在分析数据时要注意数据的单位,和数据保存的格式,减小数据收集中的误差,进行更为精确的数据定位,采集,另一方面时在数据处理时。要仔细认真不要有人为地误差。
八、技术路线图
九、关键步骤;
第一步 地形图的配准-加载数据和影像配准工具
1)、所有图件扫描后都必须经过扫描配准,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。
2)、打开ArcMap,添加“影像配准”工具栏。
把需要进行配准的影像—70011-1.TIF增加到ArcMap中,会发现“影像配准”工具栏中的工具被激活。
第二步 输入控制点
在配准中我们需要知道一些特殊点的坐标。通过读图,我们可以得到一些控件点――公里网格的交点,我们可以从图中均匀的取几个点。一般在实 际中,这些点应该能够均匀分布。
1)、在”影像配准”工具栏上,点击“添加控制点”按钮。
2)、使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击输入该点实际的坐标位置,如下图所示:
3)、用相同的方法,在影像上增加多个控制点(大于7个),输入它们的实际坐标。点击“影像配准”工具栏上的“查看链接表”按钮。
检查控制点的残差和RMS,删除残差特别大的控制点并重新选取控制点。转换方式设定为“二次多项式”
第三步 设定数据框的属性
增加所有控制点,并检查均方差(RMS)后,在”影像配准”菜单下,点击“更新显示”。执行菜单命令“视图”-“数据框属性”,设定数据框属性
第四步 矫正并重采样栅格生成新的栅格文件
在”影像配准”菜单下,点击“矫正”,对配准的影像根据设定的变换公式重新采样,另存为一个新的影像文件。
加载重新采样后得到的栅格文件,并将原始的栅格文件从数据框中删除。后面我们的数字化工作是对这个配准和重新采样后的影像进行操作的。
通过上面的操作我们的数据已经完成了配准工作,下面我们将使用这些配准后的影像进行分层矢量化。
第五步 分层矢量化-在ArcCatalog中创建一个线要素图层
该数据采用的是西安80坐标系统、3度分带
1)、打开ArcCatalog.在指定目录下,鼠标右击,在“新建”中,选择“个人 Geodatabase”。并修改该Geodatabase数据库的名称(例如test3.mdb)。
2)、下面将为该Geodatabase创建新的要素类,首先创建一个“等高线”要素类来存储等高线要素。在ArcCatalog中,鼠标右击test3这个个人 Geodatabase,在“新建”中选择“要素类”.
3)、输入创建的要素类的名称“等高线”,点击下一步。
4)、点击下一步
下面将是我们创建新的要素类的关键,为我们的数据定义坐标系统,空间范围,存储要素类型。以及可以在这增加属性字段。
5)、点击Shape字段。在对话框中将显示详细的选项,我们首先点击“几何类型”,并将要素类型选择为我们需要的类型(我们现在要创建等高线这个要素类,所以应该选择线)。
6)、点击“空间参考”选项后面的按钮,在“空间参考属性”对话框中的“坐标系”选项页下,将选择合适的坐标系统,点击“选择”按钮。在(Projected Coordinate Systems目录下,选择Gauss Kruger---àXian 1980--à Xian_1980_Degree_GK_CM_102E.prj)。点 击增加,现在这些坐标系统信息应该如下图所示:
7)、再点击“X/Y 域”选项页,在该选项页下为我们的数据定义存储的空间范围。该空间范围需要认真考虑,不仅要考虑你当前的纸制地图的空间范围,还要考虑到将来工作中还会出现的最大的空间范围。
为确定这个区域XY(最小值),XY(最大值),可以切换到ArcMap中,点击“绘制”工具栏上的“矩形框”按钮,在地图显示区中画一个矩形,使区在更大范围内包含已配准的栅格地 图。右键选中这个矩形框,设置“属性”,将填充色设置为“无”,可得到如下的效果:
在矩形框属性的“大小和位置”选项页中,可获取矩形框左下角和右上角的坐标(X,Y),将这里获取的X,Y值分别填入到上面“空间参考属性”对话框的“X/Y域”选项页 “最小X”、“最小Y”、“最大X”、“最大Y”输入框中
通过上面的操作我们为创建的要素类定义了正确的坐标系统和空间范围。
(1)下面我们将为该数据创建新的属性字段。“高程”,类型设置为“Float”用来存储等高线的高程值。
(2)点击完成这样,我们就创建了一个线状的要素类。
第六步 从已配准的地图上提取等高线并保存到上面创建的要素类中
1)、切换到ArcMap中, 将新建的线要素图层,加载到包含已配准地形图的数据框中,保存地图文档为Ex3.mxd
2)、打开“编辑器”工具栏,在“编辑器”下拉菜单中执行“开始编辑命令”,并选择前面创建的“等高线”要素类。确认编辑器中:任务为――新建要素,目标为――等高线,
3)、设置图层――等高线的显示符号为红色,并设置为合适的宽度。
4)、将地图放大到合适的比例下,从中跟踪一条等高线并根据高程点判读其高程,输入该条等高线的高程。
5)、进一步练习线要素的其它操作,比如线段的合并、分割、编辑顶点等操作
可参照以上步骤,从地图中提出多边形要素(比如居民地),并进一步熟悉多边形要素编辑的相关操作。
第七步 根据GPS观测点数据配准影像并矢量化的步骤
数据:扫描地图-昆明市旅游休闲地图(YNKM.JPG)、
Garmin 手持GPS野外采集数据(gpsdata.dbf)-GCS_WGS_1984 地理坐标系
1)、打开ArcMap,添加扫描地图-YNKM.JPG,打开“影像配准”工具栏(在ArcMap的工具栏的空白区域点击鼠标右键,然后选择“影像配准”)
2)、参考练习2中最后一步的内容,根据gpsdata.dbf中的内容,将其转换为一个新的图层:GPS.shp,并将其添加到当前数据框中。
a)、添加gpsdata.dbf
b)、执行菜单命令<工具>-<添加X,Y数据>, 在出现的菜单中指定坐标系统为地理坐标:GCS_WGS 1984, X坐标指定为经度(E),Y坐标指定为纬度(N)
c)、在TOC 面板中“显示”视图下,右键选择图层“gpsdata事件”,从右键菜单中执行“数据”->“导出数据”,将其导出成为一个新的Shape文件-名称为gps.shp
d)、将GPS.shp 添加到当前的数据框中
这里显示的数据就是第1个小组在野外用GPS获取的控制点,每个控制点在纸质地图上都有一个唯一的记号。
(3)在TOC中右键选择图层――YNKM.JPG,在出现的菜单中点击“缩放到图层”,并将其放大到某一尺度下
(4)在TOC中右键选择图层――GPS,在出现的菜单中点击“缩放到图层”,并将其放大到某一尺度下,并移动地图,可以方便地找到第1个控制点
(5) 在地图显示区中,我们可以看到第1组同学在野外采集的GPS控制点,找到与扫描地图中对应的那个GPS控制点,点击鼠标。
(6)通过以上操作我们已经完成了第1个控制点的选择。以类似的方法,添加至少4个控制点。
(7)如果操作正确,在完成以上操作后,扫描地图就被配准到了GCS_WGS_1984地理坐标系下。当鼠标在地图显示区移动时,在ArcMap状态栏上就会显示当前位置在GCS_WGS_1984坐标系下的经纬度坐标。
在添加所有控制点,并检查RMS后,可使用下拉菜单“地理参考”中的“矫正”命令对栅格地图重采样。转换方法使用“二次多项式”。加载重采样后的栅格地图,并将原始的扫描地图从数据模框中删除。
(8) 在ArcCatalog中新建一个要素类,可命名为:Schools,(要素类型为点要素-将用于从扫描图中提取各个学校的位置,添加所需要的字段-用于存储学校的名称,坐标系统设置为WGS_1984地理坐标系-与GPS野外数据相同)
(9) 将Schools图层添加到当前数据框中。
(10)在TOC面板中,右键选择“图层”,在出现的菜单中,点击“属性”,设定数据框的坐标系为GCS_WGS_1984
(11) 打开“编辑器”工具栏,在“编辑器”下拉菜单中执行“开始编辑”命令,选择要编辑的图层-Schools,确认“编辑器”工具栏中,任务为――新建要素,目标为――Schools。
(12) 将地图放大到合适的比例下,在“编辑器”中选中“草图”工具,在地图中找到图例为文的要素,在其所在位置,点击鼠标,分层提取昆明市的各高校位置数据-(点要素)。打开属性表,修改要素属性,比如:输入学校的名称。
(13)完成编辑后,停止编辑,并将修改结果保存到要素类-Schools中
十、课程设计心得体会;
制作这个课题并不复杂,但是如果没有相关知识的基础,仅仅是如何解决这个软件的注册更新以及使用都够你忙的。课程设计始终是一个实践性的东西,如果只是去参照书本上的东西而没有老师的教诲,没有老师去帮你解决实际上会出现的问题,没有在不懂的时候同学伸出的援助之手,我想我是很难完成的。我们只是看书上,只是依葫芦画瓢这样是不可能在我们遇到实际操作中的问题时给我们提供很大帮助的,所以我们要在知识之外进行思考,进行实践探索,我们才有实力解决出现的问题,最后谢谢老师孜孜不倦的教诲,同学不厌其烦的帮忙。
十一、参考文献
[1] 刘明德,林杰斌.地理信息系统理论与实务[M].北京:清华大学出版社,2006:22-25.
[2] 王亚民.地理信息系统及其应用[M].西安:西安电子科技大学,2006:14-22.
[3] 刘耀林.土地信息系统[M].北京:中国农业出版社,2003:45-46.
[4] 陆守一 .地理信息系统[M].北京:高等教育出版社,2004:14-16.
[5] 陈正江、汤国安、任晓东著译.地理信息系统设计与开发[M].科学出版社,2005:33-35.
[6] 宋小冬,钮心毅 编著. 地理信息系统实习教程(附光盘)[M] .北京:科学出版社,2007:57-59.
[7] 吴信才.MAPGIS地理信息系统[M].北京:电子工业出版社,2004:66-68.
[8] 李德仁,关泽群.空间信息系统的集成与实现[M].武汉:武汉测绘科技大学出版社,2000:16-22.
[9] 廖克.现代地图学[M].北京:科学出版社,2003:32-36.
[10] 刘湘南,黄方,王平等.地球信息科学导论[M].长春:吉林教育出版社,2002:17-25.
1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是…
一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3…
中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名10003…
信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年…
扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题…
GIS导论实验报告实验总结年级20xx级实验一实验一我感觉还不能很熟练的应用Mapinfo的功能以及菜单栏工具栏中各个图标的功能所…
华东交通大学课程设计论文目录目录1一实验目的与任务21课程设计目的22课程设计任务2二实验准备31数据准备32软件准备3三基于南方…
GIS课程设计实验报告小组组员钟蕾邢磊张成乃古色拉司宝元班级测绘试验班1101指导老师李光强赵玲1一课程设计数据中南大学校本部CA…
地理信息系统课程设计报告院系别南京工业大学测绘工程系班级测绘0903姓名陈鹏指导教师马文波20xx年6月24日1目录1课程设计目的…
河北联合大学GIS设计与实现实习报告题目xxxxxxxxxxxxxxxxxxxxxxxxxxx学生姓名学号专业班级学院指导教师20…
襄樊学院0811地理科学GIS软件开发课程设计报告书题目名称全球信息查询系统院系管理学院地理科学专业班级地理科学0811开发组员指…