实习报告模版.docx
《实习报告模版.docx》由会员分享,可在线阅读,更多相关《实习报告模版.docx(19页珍藏版)》请在冰豆网上搜索。
![实习报告模版.docx](https://file1.bdocx.com/fileroot1/2023-1/2/ef6d9fee-c2e9-4638-bada-fff68cd24656/ef6d9fee-c2e9-4638-bada-fff68cd246561.gif)
实习报告模版
你的位置:
第一章概述
第一章概述
1.1GIS开发方式1.2GIS地图图形表达方式1.3工程数据来源1.4开发平台选择1.5功能设计
1.1GIS开发方式
GIS软件开发或建立的方式主要有三种:
一、底层开发
利用计算机的编程语言实现GIS数字地图和GIS数据库,使二者关联,并在此基础上继续通过编程实现GIS的各项功能;这种开发方式的难度很大、周期长、花费巨大,一般不作为各个GIS企业的开发方式,但这种开发方式可以拥有软件完全知识产权,而且基本上是完全按照需求者要求开发。
二、在GIS平台上建立简单GIS系统
在一些大型GIS公司开发的通用GIS平台,如最常用的MapInfo、ArcViewGIS、Arc/Info等,通过输入空间数据和属性数据,利用GIS平台原有的功能如空间数据与属性数据的链接、数据查询、空间分析等来实现GIS的各项功能。
另外,各个GIS平台还提供了二次开发语言如MapInfo的MapBasic和ArcViewGIS的Avenue等,可以使用户设计专门操作界面和实现特定功能,这种GIS开发方式简单(严格上说是GIS的建立)、快捷,能实现GIS系统最基本的功能,但必须建立在原有GIS平台基础上,通用性差,实现功能较少或者操作不方便,平台费用普遍较高。
另外,二次开发的界面单调,使二次开发有一定难度,只作为一些最基本GIS用户建立GIS的手段。
三、利用GIS控件或组件开发
大型GIS软件企业开发GIS平台都有对应的GIS开发控件或组件,如MapInfo的MapX,ArcGIS的ArcObject以及ArcViewGIS的MapObject,这种GIS开发是在高级编程语言中(VisualBasic、VisualC++等)添加GIS开发控件(或组件),通过各个控件导入GIS空间数据,通过编程实现对GIS数据操作以实现GIS的各种功能。
在开发控件中包含了可以实现GIS基本功能的模块和函数。
使编程建立GIS简单化,另外开发者还可以根据用户要求编程实现的GIS专有功能。
这种开发式GIS开发方式非常灵活,费用低,速度快,难度相对较低,实现功能多样性,是目前GIS开发的主流方式。
结合三种GIS开发方式比较,最优也是最实际的开发方式即采用GIS开发控件(组件)与高级编程语言结合开发。
1.2GIS地图图形表达方式
图形表达方式:
地图是GIS用户获取空间信息系统的方式,也是GIS系统与用户实现交互式功能的主要媒介。
一、2D地图
2D地图是目前为止使用得最广泛、历史最悠久的地图表达方式。
也是最广泛使用的GIS表达方式,2D地图空间数据结构简单,数据量较小,技术成熟,易实现空间数据与属性数据的链接,但表现力不够强,不能表达第三方向空间数据;
二、3D地图
这是目前GIS研究最新热点,由于3D体现需要计算机软硬件技术的支持,因此到近年才得到快速发展。
3D地图表达力好,能够实现真实世界的仿真,是未来GIS的主要体现方式,但数据量大,数据结构和模型复杂,技术不是很成熟。
空间数据与属性数据链接比较困难。
从地图认知方面看,要人们一下从普通的平面地图转向3D地图也需要较长的适应和普及时间;
三、仿3D地图
实际上是2D地图用颜色渲染、图形绘制、等值线等手段表达非真实数据的3D数据,如地形图、早期欧洲地图艺术学家的地图。
仿3D地图较2D地图有一定的体现力,但再GIS设计仿3D地图方面需要较高的艺术设计能力。
在三者中,选择2D地图作为广西基础地理信息系统的地图表达方式比较现实,工作量小、难度低,对数据采集和表达容易实现。
-----------------------------------------------------------------――――――――――――――――――――
1.3工程数据来源
数据,在地理信息系统中主要指空间数据和属性数据,是建立GIS的首要条件。
GIS工程建立前最重要、最基本的工作就是确定数据来源,由于GIS开发单位和GIS数据拥有单位一般是分离的。
确定GIS工程数据必须首先确定GIS数据的三个基本要素,即数据格式、数据精度和数据时效性。
(1)数据格式与标准:
数据格式与标准是GIS工程实现对数据进行操作的首要条件。
不同的GIS系统其数据格式标准是不同的。
GIS数据有通用开放式格式和专用非开放格式,一般GIS数据是保密的,因此通用的GIS数据其使用的是非开发的专用格式,而专用GIS系统一般采用通用的GIS数据格式。
GIS的开放式格式主要有MapInfo格式和ArcView格式。
一般开放性GIS数据格式数据来源好,费用低,容易开发;非开放性GIS格式需要一定的技术实现数据加密,可能会导致无法实现数据更新和共享。
由于GIS数据费用高,不能广泛实现免费使用,未来发展可能会偏向非开发性GIS格式,并且在保密格式数据基础上指定与通用格式数据的转换方法,可以实现数据转换以达到数据保密和共享的实现。
目前比较统一而且完善的开发性GIS格式是.e00格式。
对于一般用户或者作为GIS开发实践一般采用GIS开放性格式。
(2)精度:
GIS精度决定了该系统开发深度、广度,即GIS的使用范围。
GIS数据精度也决定了GIS数据价格,同时影响了GIS定价。
一般来说,GIS数据精度越高越好,但是GIS开发兼顾成本与适用性,因此因选择精度适合的GIS数据。
(3)时效性:
GIS数据时效性是指该GIS数据适用时间。
GIS数据时效性决定该系统数据更新频率和费用,在某些方面甚至决定了GIS系统生存周期。
GIS数据时效性与数据精度有紧密联系,一般情况下,数据精度越高,时效性越低,这也是造成高精度数据GIS费用特别是售后费用较高的原因。
根据实际情况,我选择1:
1300000广西交通旅游地图(广西地图院2005年1月第一次印刷)作为空间数据来源,点目标精度达到乡镇级,公路精度达到乡道,河流精度达到5级河流,面境界精度达到县一级,分辨率为1千米左右。
数据采集后采用.e00格式保存,可以转换为多种GIS标准格式,便于使用多种GIS开发平台。
数据精度合适,时效性大概为1年。
属性数据采用2004年版“广西地图册”上提供的数据,属性数据精度达到县级,主要数据有人口数据、第一、二、三产业GDP数据。
1.4开发平台选择
一、控件(组件)
GIS开发控件很多,但是在实际中能广泛运用的GIS控件不多,在所有GIS开发控件中最流行的有两个,即MapX和MapObject。
(1)MapX:
MapInfo平台控件。
MapX控件开发简单,可以通过Geoset实现图层的基本设置,从而使开发简单化。
图形数据与属性数据链接紧密,支持SQL和OracleSpatial数据库链接。
但编程方法不太符合很多人编程习惯,对其他数据的支持性能差。
不支持3D空间数据。
(2)MapObject:
ArcViewGIS开发控件,功能强大,可以支持多种图形数据格式,并带有网络开发的功能。
有良好的空间数据与属性数据链接,开发简单,开发方式良好。
同时属性数据格式是标准DB格式,可以非常简单实现属性数据操作。
但对大型数据库支持功能较弱,不支持3D空间数据。
二、开发平台
即开发编程环境,主要指流行的可视化编程环境,现在可视化编程语言众多,但是作为GIS的可视化编程环境主要包括以下几种。
三、VisualC++6.0
VisualC++功能强大,面向对象编程技术编程方便快捷,可移植性强。
但对编程人员要求较高。
四、Dephi6.0
Dephi编程功能很强,也很灵活,但是比较少作为GIS系统开发的平台,因此参考资料也很少;
五、VisualBasic6.0
VisualBasi6.0编程简单,方便,易于掌握,界面友好,提供了多种灵活而且功能强大的基本控件和扩展控件,无论是MapX还是MapObject对VisualBasic6.0的支持都很好。
由于MapOject控件功能强大,可以实现系统设计的各种功能,编程比较符合常规,因此作为广西基础地理信息系统开发的首选控件。
VisualBasic6.0开发简单、方便,而且对于MapObject支持很好,也比较符合开发者的实际情况。
因此,开发平台最终确定为MapObject控件和ViusalBasic6.0编程开发环境。
1.5功能设计
一、GIS系统的可视化功能:
放大、缩小、移动、选取、标注、图层控制显示。
二、GIS查询功能:
距离查询、面积查询,属性查询,属性扩展查询。
三、GIS分析功能:
缓冲区分析、道路分析、洪水分析。
四、查询与专题地图功能:
地名查询、SQL查询,GDP、人口多样专题地图生成。
第二章工程前期准备
2.1可行性分析
2.2实用性与效益分析
2.3开发计划
开发计划表
模型图
2.1可行性分析
一、平台:
原有VisualBasic6.0平台和MapObject2.1版本,由院提供,无限制使用,不考虑费用。
二、数据:
空间数据来源简单,广西地图(2005年版),数据可靠,时效性较长,其他数据由实习单位提供,以2003年广西统计局统计数据为主。
三、开发时间:
估计需要120小时,约2个月。
2.2实用性与效益分析
该系统可以作为一些低端用户的查询系统,可以在网上实现共享使用,同时源代码有限开放,可以实现数据的更新与功能扩展。
在商业认证后可以作为事业单位小型的基础地理信息查询系统。
2.3开发计划
一、空间数据采集:
报考图形数据采集(数字化)和属性数据输入,这是GIS工程中最简单和最繁琐的工作。
大概需要20天时间,估计不会出现太大困难。
二、界面设计:
界面设计对用户心理影响很大,同时也影响编程速度。
大概需要3天时间进行界面设计。
三、编码实现与调试:
编码实现GIS系统各项功能是GIS中难度最大的工作,通常每个功能编码实现后要进行反复调试及改正,实现全部功能大概需要23天时间,包括:
(1)界面可视化与数据导入组织:
2days
(2)基本功能实现:
3days
(3)属性查询与分析功能:
5days
(4)SQL查询与专题地图生成:
5days。
四、总体调试与更正:
测试各项功能是否冲突,系统稳定性、可靠性等,发现问题后必须改正或重新编码,调试后再重新进行总体测试,循环工作。
大概需要10天时间。
五、打包,书写开发报告:
大约需要10天时间。
第三章工程总体设计
3.1体系结构与模型
3.2空间数据库设计
3.1体系结构与模型
一、显示系统:
其中分为地图主显示窗口、附显示窗口、主功能工具栏、附功能工具栏、图层结构与控制栏、状态栏。
二、各个模块功能与分类:
(1)图层显示与控制模块:
通过目录树来表现各个图层关系分类及控制显示;
(2)显示与标注模块:
图形放大、缩小、移动,自动标注与手动标注。
(3)基本查询与分析模块:
包含查询,距离与面积,信息查询和扩展查询等;
(4)地名查询与SQL查询查询模块:
各个图层地名查询、SQL查询;
(5)模块关系与模型:
各个模块功能最终都将再视图界面上体现。
各个功能模块再功能上是独立的,显示模块不能与功能模块冲突,其它各功能模块不能同时实现,但查询系统不与分析功能冲突。
必须处理好、显示、查询、分析等功能模块的关系。
功能模型:
3.2空间数据库设计
一、数据组织
(1)数据项:
数据项是可以定义数据的最小单位。
也就是代表一定空间属性的描述数据。
其值可以是数值型、字符型或布尔型。
(2)记录:
由若干相关联的数据项组成的信息单位。
是关于一个实体的数据总和,构成该记录的数据项表示实体的若干属性。
每一个记录都有唯一标识,即关键字。
(3)文件:
文件是一给定类型的记录的全部值的组合。
(4)数据库:
大型具有特定联系的数据组织集合。
数据库的内部构造是文件的集合,这些文件或者记录之间存在某种联系,不能孤立存在。
由于数据没有涉及大规模海量数据和数据更新内容,广西基础地理信息系统在空间数据上没有采用数据库的形式,而是主要采用了数据记录和文件形式。
空间数据和基本属性存在着一一对应关系。
但是在扩展数据上是采用了数据库的结构。
由于时间比较紧迫以及扩展属性数据库并不是设计的主要内容,因此只设计了扩展属性数据库的接口,没有建立扩展属性数据库。
二、数据间的逻辑关系
空间数据间存在一对一和一对多包含关系,由于数据专门性,故没有多对多的关系。
数据间主要逻辑关系有模型:
三、主要数据关系结构
第四章工程详细设计
4.1界面设计
4.2操作方法设计
4.3具体功能设计
4.4属性数据库设计
4.1界面设计
采用无菜单操作界面,总界面由七部分:
一、地图主显示窗:
显示用户要查询地图,是用户与GIS交互或信息查询与分析的主界面;
二、地图鸟瞰窗:
显示地图主显示窗口在全地图中的位置机选择地图主窗口的显示范围;
三、图层控制窗口:
VB的扩展TreeView控件,可设置树结构和Check功能,以控制各个图层目标显示,使地图美观化和有针对性;
四、底部状态条:
显示软件信息,并显示某些查询信息(距离查询、面积查询)
五、比例尺条:
MapObject控件之一,显示主显示窗的地图比例尺;
六、顶部工具栏:
GIS系统的主操作工具栏,主要包括:
放大按钮、缩小按钮、选择按钮、移动按钮、手动标注按钮、信息查询按钮,面积查询按钮,距离查询按钮,缓冲区分析,包含分析(以上按钮为Groupbuttons属性);自动标注,洪水分析(以上为check属性);标准清除,缓冲区清除,图例,打印,软件信息(Dofeault属性)。
七、左部工具栏:
不用响应鼠标事件的查询与专题地图生成操作,包括:
地名查询,专题地图生成,SQL查询,旅行路线查询。
第四章工程详细设计
4.1界面设计
4.2操作方法设计
4.3具体功能设计
4.4属性数据库设计
4.1界面设计
采用无菜单操作界面,总界面由七部分:
一、地图主显示窗:
显示用户要查询地图,是用户与GIS交互或信息查询与分析的主界面;
二、地图鸟瞰窗:
显示地图主显示窗口在全地图中的位置机选择地图主窗口的显示范围;
三、图层控制窗口:
VB的扩展TreeView控件,可设置树结构和Check功能,以控制各个图层目标显示,使地图美观化和有针对性;
四、底部状态条:
显示软件信息,并显示某些查询信息(距离查询、面积查询)
五、比例尺条:
MapObject控件之一,显示主显示窗的地图比例尺;
六、顶部工具栏:
GIS系统的主操作工具栏,主要包括:
放大按钮、缩小按钮、选择按钮、移动按钮、手动标注按钮、信息查询按钮,面积查询按钮,距离查询按钮,缓冲区分析,包含分析(以上按钮为Groupbuttons属性);自动标注,洪水分析(以上为check属性);标准清除,缓冲区清除,图例,打印,软件信息(Dofeault属性)。
七、左部工具栏:
不用响应鼠标事件的查询与专题地图生成操作,包括:
地名查询,专题地图生成,SQL查询,旅行路线查询。
(图4.1:
总体界面)
(图4.1:
总体界面)
4.2操作方法设计
由于广西基础地理信息系统可以完全使用鼠标操作实现,因此分为响应鼠标事件操作和非响应鼠标事件的操作;在进行图层操作时,未来区分图层实现选择性操作,同时使操作界面比较友好,智能化,在很多功能上采用了弹出式对话框操作的方式;如手动标注、缓冲区分析、自动标注、图例、软件信息等。
在查询与专题地图生成功能都采用了弹出式对话框操作的设计方法,使用户选择操作图层与显示方式。
4.3具体功能设计
一、图层显示:
采用TreeView建立图形图形结构树,将图层分为五大类15小类,将TreeView的checkboxes属性设置为True,通过check的属性设置设置各个图层的可视化情况,图层分类标准如下:
二、基本操作:
(1)放大:
将鼠标指针放于主地图上,点击鼠标右键,地图放大1.5倍,且地图中心为鼠标点击处;
(2)缩小:
在没有恢复原图显示情况下,点击鼠标右键,地图缩小为原来2/3,且地图中心在鼠标点击处;
(3)选取:
用鼠标在主地图框或鸟瞰图中选取一范围,主地图框将显示选定范围;
(4)移动:
按住鼠标右键不放,同时移动鼠标,地图将与鼠标同时移动,松开鼠标右键,地图将停止移动;
(5)手动标准:
在弹出的对话框中选择需要标注的图层,对准需要标注的目标点击鼠标右键,则标注目标;
(6)信息查询:
鼠标点击所需查询时,弹出对话框显示目标基本信息列表。
在列表窗口中有一“更多信息”按钮,点击后会出现扩展信息列表框;
(7)距离查询:
鼠标沿所需查询距离点击鼠标右键,下状态框中将显示路线长即距离;
(8)面积查询:
即采用鼠标画多边形,下状态栏显示多边形框定面积;
(9)缓冲区分析:
弹出对话框,显示和建立缓冲区种类“点、线、面”和范围距离,选择后在图上画点、线、面,出现缓冲区分析结果。
(10)包含分析:
弹出对话框显示包含分析目标类型,在地图上画多边形,被包含的目标将变色显示。
(11)自动标注:
弹出的对话框中选择自动标注的图层,则图层将被标注地名信息;
(12)模拟洪水:
点击河流,将出现洪水流动情况和淹没的地区;
(13)清除手动标注:
点击后在自动标注中对各个目标的所有标注都将被清除;
(14)清除缓冲区:
清除缓冲区分析的区域;
(15)恢复全显示;
(16)图例;
(17)打印图形:
打印主窗口显示的图形;
(18)软件信息;
(19)退出系统。
(20)地名查询:
在弹出对话框中选择对话框中选择图层、输入地名,点击查询按钮,地图上被查询目标将闪动显示,同时被着以显著颜色;
(21)SQL查询:
选择图层,选择SQL查询内容,点击“查询”,查询到目标闪动;
(22)专题地图生成:
在弹出对话框中选择生成专题地图种类,点击选择生成专题图表现样式,将在主窗口中生成专题地图。
(23)路线查询:
弹出对话框中选择旅游行车路线,选择路线将闪动并着以鲜亮颜色。
4.4 属性数据库设计
一、基本属性数据库:
由于基本信息数据表与图形数据存在一一对应的关系,基本信息数据表是.dbf标准数据库表,因此可以采用Access或SQL建立数据库实现对数据的管理。
可以在数据库的基础上在工程中添加数据库操作功能,实现对属性数据库的操作和修改。
二、扩展数据库:
扩展数据库主要指表现目标的文字、数据表、影像、图片等多媒体信息,扩展数据库是独立于图形数据之外的数据,通过基本属性数据实现扩展属性数据与图形数据相链接。
扩展属性数据建立可以使用SQL建立和管理。
最终将在扩展信息界面中体现。
第五章工程实施
5.1数据采集
5.2图层数据导入与图层结构控制
5.3软件基本功能的实现
5.4地图查询与专题地图的实现
5.1数据采集
一、栅格图形数据的获取:
广西交通地图(2005年1月版),由于扫描仪幅面限制,所以采用分块扫描后拼合,各图拼合保持一定重叠度。
二、地图的数字化:
MapInfo中进行。
基本步骤:
(1)、地图的导入与配准:
将地图导入MapInfo中,将出现配准界面,选取四个点输入坐标实现地图配准定位。
由于没有改地图详细的坐标数据,另外不清楚地图投影方式(应该是多个中心投影拼接而成),故选取了正射投影。
图上四点坐标数据确定方法:
确定一点为坐标原点,用尺子量取其他三点坐标后乘以比例尺,得到其他三点坐标。
导入地图后在栅格图中配准时输入四个点的坐标得到配准后的地图。
后来检测发现定位数据基本正确,长度误差不超过0.3%,面积误差不超过0.6%。
(2)、地图数字化:
主题分图层数字化
面:
广西区域、地级市行政区域、县行政区域、水库与海洋;
线:
铁路、铁路、江河;
点:
机场、港口、火车站、地级市行政中心、县行政中心、乡镇、风景点、山峰;
数字化方法:
用鼠标沿面边界线、道路河流线、点目标进行跟踪。
(3)、属性数据输入:
在图形属性表中添加属性项,定义属性数据的类型和长度,使用MapInfo的属性数据查询与输入框,向点击目标输入属性数据;
(4)、GIS数据(图形数据和属性数据)转换:
MapInfo格式不是我们开发系统的最终数据,所以必须转换为所需的ArcViewGIS格式。
MapInfo中可以导入一将MapInfo文件转换问e00文件的ArcLink功能模块。
将数字化后的MapInfo格式的GIS数据转换为e00文件。
e00文件是一种开发式,可读的图形数据与属性数据集成格式,是目前最通用的GIS标准格式。
将MapInfo转换为.e00格式数据后,再通过ArcViewGIS的Import71将e00文件转换为Arc/Info的Coverage文件,用ArcViewGIS打开各个图层的Coverage图层文件,用ConverttoShapefile命令将Coverage格式转换为ArcViewGIS格式文件。
打开数据文件夹,,可以发现每个文件名(图层)有五中格式文件,其中最重要的是.shp图形数据文件和.dbf属性数据文件。
.dbf是数据库通用数据表文件。
在ArcViewGIS中打开表可以发现各个图层属性表,并且发现属性表中会出现新的属性项,这些属性项都是在数据转换时候系统自动生成。
点数据的ID号,线数据的ID号、长度,面数据ID号、周长、面积。
注意:
线长度和周长、面积不是真实值,而是根据象素计算出的值,必须在表中使用stastics统计乘以一定比例系数得到真实值。
可以使用Access建立数据库实现数据修改和操作。
5.2图层数据导入与图层结构控制
一、图层分类:
(1)区域:
广西区域、地级市区域、县行政区域;
(2)交通:
公路,铁路、机场、港口、火车站;(3)地级市行政中心、县行政中心、乡镇;(4)水系:
江河、水库与海洋;(5)其他:
风景点、山峰。
二、数据导入与图层设置:
将数据文件放在一个文件夹,工程文件放在一个文件夹,工程文件放在工程文件夹,导入MapObject控件后,必须使用数据链接方法实现工程与数据文件夹中数据的链接;
data.Database=App.Path+"\..\"+"gisdata"
实现图形数据的与工程的链接后,需要对每个图层逐个导入。
导入图层法则是:
建立新图层——链接图层数据——图层加载到窗口中;
Setlayer=NewMapLayer
Setlayer.GeoDataset=data.FindGeoDataset(" ")
Map1.Layers.Addlayer
Map2.Layers.Addlayer
图层必须按一定顺序排列,防止图层被覆盖,图层顺序为(由底图层向上):
广西区域-地级市行政区域-县行政区域-水库与海洋-江河-公路-铁路-火车站-风景点-港口-山峰-乡镇-机场-行政中心-地级市行政中心;
图层加载后底图层图层号为0,由0往上以次加1;
图层可见性设置:
使用图层.visible属性设定与树的check属性对应设置,大类中选择与小类对应,各图层不能相互影响。
三、图层渲染:
导入图层可以设置点、线、面的属性,以使地图符号化和艺术化;设置面渲染一般设置颜色;线可以设置线符号