网络GIS实习报告.docx
- 文档编号:4714927
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:1.27MB
网络GIS实习报告.docx
《网络GIS实习报告.docx》由会员分享,可在线阅读,更多相关《网络GIS实习报告.docx(17页珍藏版)》请在冰豆网上搜索。
网络GIS实习报告
网络GIS程序设计实习报告
全国主要流域水质监测结果发布系统
设计与实现
专业:
遥感科学与技术
班级:
09031
组号:
1
组长:
2009302590211武红宇
成员:
2009302590083刘章
2009302590048赵旭一
2009301220023朱仁杰
2009302590123吴煜晖
遥感信息工程学院
2012年8月
1.实习目的(1
2.实习环境(1
2.1开发工具(1
2.2开发环境(1
3.小组任务(2
4.系统设计与实现(2
4.1系统概述(2
4.2总体结构(3
4.2.1体系结构(3
4.2.2软件平台(3
4.2.3系统风格(3
4.3数据(3
4.3.1河流数据(3
4.3.2国界、省界数据(4
4.3.3流域水质监测数据(4
4.3.4省份划分图层(4
4.3.5数据库(5
4.4系统功能设计(5
4.4.1GIS基本功能(5
4.4.2罗盘功能(5
4.4.3水质监测信息查询(6
4.4.3窗口弹出水质监测点选择(6
4.4.5鹰眼显示(6
4.4.5信息阶段性显示(6
4.5系统功能实现(6
4.5.1系统页面显示(6
4.5.2地图放大(7
4.5.3地图缩小(8
4.5.4地图全框显示(8
4.5.5地图漫游(9
4.5.6地图比例尺(10
4.5.7罗盘功能(10
4.5.8水质监测信息查询(11
4.5.9窗口弹出水质监测点选择(12
4.6关键技术(13
4.6.1SuperMapiClient6R(2012forFlex(13
4.6.2SuperMapDesktop.Net6R(13
4.6.3SuperMapiClient6R(2012forAjax(13
5.小组总结与体会(14
5.1武红宇个人总结与体会(14
5.2刘章个人总结与体会(14
5.3吴煜晖个人总结与体会(15
5.4赵旭一个人总结与体会(16
5.5朱仁杰个人总结与体会(17
1.实习目的
本次网络GIS程序设计实习以小组为单位,通过小组成员的相互分工合作,共同完成一个基于一定平台软件的WebGIS系统。
实习旨在通过自主学习实际编程操作,使学生了解所使用的平台软件的架构和功能,熟悉WebGIS开发环境的部署与装配。
同时通过小组成员合作完成WebGIS系统的开发,帮助学生理解其设计和实现过程中的原理与方法,掌握从地图数据准备、地图发布、系统总体结构设计、系统功能实现等开发过程中的具体操作,从而能够在锻炼实践能力的同时加深对WebGIS理论的认识和理解,为以后的学习和工作打下基础并积累经验。
2.实习环境
2.1开发工具
SuperMapiServerJava6R(2012
SuperMap服务式GIS平台是为顺应GIS系统服务性趋势的一类平台产品,该平台基于面向服务式架构,提供完整的GIS服务,不仅是高性能的企业级GIS服务器,还是可扩展的服务式GIS开发平台。
其中6R系列产品在传统二维GIS服务的基础上增加了三维GIS服务,致力于完善GIS功能、提供完备的二三维一体化GIS解决方案,并通过搭载桌面开发平台快速构建专属业务,带来全新体验。
。
SuperMapiServer6R是基于Realspace和SOA的企业级、跨平台、大型服务式GIS开发平台。
它定位于高性能的企业级GIS服务器和可扩展服务式GIS开发平台,用于构建面向服务的地理信息共享应用。
SuperMapiServer6R(2012提供的GIS服务涵盖的功能包括:
地图功能、数据功能、分析功能、三维功能等,这些GIS服务是松散藕合的,强调互操作,可以按照某种方式与组件、应用程序或其他服务进行组合。
2.2开发环境
1、MicrosoftVisualStudio2008
VisualStudio是微软公司推出的开发环境,也是目前最流行的Windows平台应用程序开发环境。
VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
其中,MicrosoftVisualStudio2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,代号“Orcas”,是对VisualStudio之前版本的一次及时、全面的升级。
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。
使用VisualStudio2008可以高效开发Windows应用。
设计器中可以实时反映变更。
同时VisualStudio2008支持项目模板、调试器和部署程序。
VisualStudio2008可以高效开
发Web应用,还可以高效开发Office应用和Mobile应用。
2.Adobe®Flash®Builder™4
Adobe®Flash®Builder™4(之前称为AdobeFlex®Builder™软件是一款专业级的开发工具,可借助开放源Flex框架快速构建跨平台的富Internet应用程序(RIA和内容。
其特点如下:
1、快速开发应用程序:
充分利用基于Eclipse™、功能强大的IDE,它加快了使用Flex和ActionScript®语言的开发工作,包括代码提示、语法着色、交互式调试、重构、新的“数据/服务”浏览器以及拖放数据绑定。
2、与现有基础结构集成:
与现有基础结构轻松集成,包括SOAP、REST、Java™/Spring、PHP和AdobeColdFusion®。
检查服务,然后使用一个简单的拖放方法将特定方法绑定到应用程序中的UI组件。
3、FlashBuilder的新增功能:
从FlashCatalyst导入功能性UI、与AdobeFlashCatalyst集成、与AdobeCreativeSuite设计工具集成、智能代码编辑和调试、以数据为中心的开发、交互式数据可视化。
3.小组任务
小组成员包括:
武红宇、刘章、吴煜晖、赵旭一、朱仁杰,具体分工如下:
武红宇:
进行小组任务的规划和分配,制作和下载全国河流、省界和各流域水质监测点的数据,进行站点属性数据的编辑,完成数据的录入,对系统功能设计的编写进行交流和纠正,以及Ajax版本程序的编程;
刘章:
完成网页基本框架的搭建,设计地图页面的用户界面,完成基本地图功能设计,对数据的内容进行纠正和评价,以及Ajax版本程序的编程;
吴煜晖:
完成Flex版系统主要功能的设计,包括地图基本功能、罗盘功能、水质监测信息选择功能、窗口弹出水质监测点选择功能等的设计,对系统功能进行反馈修改和纠正;
赵旭一:
完成系统实习报告的撰写,总结主要数据说明表格,对数据的内容进行纠正和评价,对系统的效果进行反馈;
朱仁杰:
完成答辩PPT和帮助文档的撰写,对系统的效果反馈和提出修改意见。
4.系统设计与实现
4.1系统概述
水是自然资源中的重要组成部分,它是生命的源泉,是人类赖以生存和法则的不可缺少的最重要的物质资源之一。
目前我国的湖,河,海等都已受到不同程度的污染,针对这一情况,进行水质治理已经迫在眉睫。
而想要想进行水质的治理,掌握水中各参数的情况是最为
重要的前提。
因此,通过对水质的自动监测,实现水质的实时连续监测和远程监控,就可以达到及时掌握主要流域重点断面水体的水质情况,预警预报重大或流域性水质污染事故、解决流域水污染事故纠纷、监督总量控制制度落实情况、排放达标情况等目的。
因此,本次实习我们是以WebGIS为平台,通过GIS系统的各种功能提供国家水质监测数据的发布和显示,以更好的实时获取全国各个流域水质监测站点的监测数据,并应用到具体的实际生产生活操作中。
4.2总体结构
4.2.1体系结构
本次实习所做系统在设计上采用的是B/S三层体系结构,分为表示层、业务逻辑层和数据层。
表示层:
主要进行与用户的交互。
用户在客户端通过Web浏览器向服务器(即业务逻辑层发出服务请求,把接受传来的运行结果显示在Web浏览器上;
业务逻辑层:
本层主要用于对用户所发出的服务请求进行处理,链接数据层和用户,以提供地图数据空间信息服务;
数据层:
负责存储支撑服务的各类数据,负责管理数据库,接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能及相关服务,并把结果数据提交给服务器。
4.2.2软件平台
本次开发的系统主要是以SuperMapiServerJava6R(2012为开发平台,利用MicrosoftVisualStudio2008以及AodbeFlashBuilder进行程序设计编写,详细介绍可以参见报告第二章的内容。
4.2.3系统风格
本次设计的系统由于主要针对较为专业的相关部门的查询和应用,因此系统设计风格以简洁明确、方便快捷为主要思路。
系统力图避免过于复杂的网页修饰,以简洁的网页设置显示用户所需数据和具体信息,页面布局明确严谨,信息获取较为方便;同时系统尝试设计高亮显示,流域信息窗口弹出等功能,以此为用户的各种查询编辑需求提供更为快捷的显示。
4.3数据
本次实习所使用的数据如下所列:
4.3.1河流数据
主要包括:
全国一级河流、二级河流的线数据和面数据,全国三级河流的线数据,
获取方式:
来源为从网络上下载相关数据,进行一定的配准处理进而投入使用。
4.3.2国界、省界数据
主要包括:
我国国界的线数据和面数据,各省省界的线数据,
获取方式:
来源为从网络上下载相关数据,进行一定的配准处理进而投入使用。
4.3.3流域水质监测数据
主要包括:
松花江流域、黄河流域以及长江流域的水质监测点获取的水质监测数据,获取方式:
通过建立数据表格,从网络下下载相关的水质监测点的监测数据,并将数据录入到数据表格中,然后通过SuperMapDeskpro软件提供类型转换等的高级地图处理功能,将表格中的文本属性文件转换为点数据集,然后将该数据加载到地图上应用到具体的查询等操作。
4.3.4省份划分图层
将各个省份划分出来的数据图层,即以不同的颜色显示不同省份以达到目视划分省份的效果。
获取方式:
利用SuperMapDeskpro软件地图编辑和地图输出功能,将网上下载的相关图层数据已不同颜色显示区分,以投入到系统网页基本框架的显示使用。
各主要数据说明如下表所示:
4.3.5数据库
本次实习的数据预期采用SQLServer数据库存储各类数据,使用数据库SQLServer的来实现数据库管理是因为SQLServer相对来说可以提供海量数据存储,系统运行比较稳定,可以更加高效地从数据库中获得空间数据和属性数据,这也是实时水质监测数据的海量性所需求的。
在实际的系统程序编写中,由于小组并不能获得实时的各类数据,只能取得一部分某一特定时期的数据,数据量不大。
并且系统本身作为功能的一个演示,无需大量数据,因此小组没有进行数据库的设计,而是在用户的操作过程中,直接连接显示录入制作好的各项属性数据。
4.4系统功能设计
实习初期设计的系统功能主要包括:
4.4.1GIS基本功能
主要包括对于河流数据、国界、省界数据以及省份划分数据的显示,放大,缩小、全框显示、比例尺和漫游等GIS的基本功能,用户可以使用系统网页上的相应图标对显示的图像进行相应操作,便于用户更好的选择和观察。
4.4.2罗盘功能
用户可以通过点击页面上的罗盘标志(类似一些常见的地图显示查询网站设计的标志,
进行比例尺的调节和地图的移动漫游,从而方便用户更为快捷的浏览地图。
4.4.3水质监测信息查询
系统为用户提供松花江流域、黄河流域以及长江流域的水质监测点获取的水质监测数据的查询。
用户可以通过点击网页显示图像上各个流域的水质监测点,来查询各监测点获得的实时水质监测数据。
4.4.3窗口弹出水质监测点选择
用户点击网页上显示的不同流域后,可以窗口弹出该流域所有的水质监测点,进而可以选择某一具体的水质监测点查看该点获取的水质监测信息数据。
同时所选择的水质监测点也会在地图中高亮显示,帮助用户在了解监测点水质监测信息的同时,也可以了解所选择的监测点的具体位置。
4.4.5鹰眼显示
网页中可以设置一个鹰眼视图,用以在用户点击某一具体流域或者水质监测点时,局部放大的显示用户选择的流域区域,并同时在鹰眼视图中高亮显示所选择的监测点。
4.4.5信息阶段性显示
用户可能需要对于某一监测点的一段时间的各项数据进行对比分析,因此系统可以提供7个工作日的几项主要水质监测参数进行简单的图表显示,方便用户观察参数的变化趋势和数据特点。
4.5系统功能实现
4.5.1系统页面显示
本次设计的系统的Flex和Ajax两个版本的初始页面显示如图1a.b.
a.Flex版本效果
b.Ajax版本效果
图1系统页面显示
4.5.2地图放大
本次系统除了实现可以点击图标进行地图放大以外,还实现了可以通过滚动鼠标滑轮进行地图的放大,Flex和Ajax两个版本操作效果如图2a.b.
a.Flex版本效果
b.Ajax版本效果
图2地图放大
4.5.3地图缩小
本次系统除了实现可以点击图标进行地图缩小以外,还实现了可以通过滚动鼠标滑轮进行地图的缩小,Flex和Ajax两个版本操作效果如图3.a.b.
a.Flex版本效果
b.Ajax版本效果
图3地图缩小
4.5.4地图全框显示
本次系统实现了通过点击图标实现地图的全框显示,Flex和Ajax两个版本操作效果如图4a.b.
a.Flex版本效果
b.Ajax版本效果
图4地图全框显示
4.5.5地图漫游
本次系统实现了可以点击图标实现地图的移动漫游,Flex和Ajax两个版本操作效果如图5a.b.
a.Flex版本效果
b.Ajax版本效果
图5地图漫游
4.5.6地图比例尺
本次系统实现了通过点击图标可以显示当前状态下地图的比例尺,Flex版本操作效果如图6.
图6地图比例尺显示
4.5.7罗盘功能
本次系统除了实现了可以点击图标实现地图的移动以外,还通过罗盘功能,即通过点击罗盘方位来实现地图的移动,Flex和Ajax两个操作效果如图7a.b.
a.Flex版本效果
b.Ajax版本效果
图7地图罗盘功能
4.5.8水质监测信息查询
本次系统实现了通过点击显示的水质监测点,可以查询并显示该水质监测点的水质信息,相应的信息显示在网页设置的显示框中,Flex和Ajax两个版本操作效果如7a.b.
a.Flex版本效果
b.Ajax版本效果
图8水质监测信息查询
4.5.9窗口弹出水质监测点选择
本次系统根据实际编程情况,实现了通过区域多边形查找选择水质监测点,即通过鼠标在图中画出一定的多边形,通过多边形查质监测点,操作效果为双击后可以显示该区域内所有的水质监测点,从而可以点击进行下一步的查询,Flex和Ajax两个版本结果如图9a.b.
a.Flex版本效果
b.Ajax版本效果
图9窗口图案出水质监测点选择
4.6关键技术
4.6.1SuperMapiClient6R(2012forFlex
SuperMapiClient6R(2012forFlex是一套基于AdobeFlex技术和AdobeFlashBuilder4开发平台的Web地理信息系统开发包。
SuperMapiClient6R(2012forFlex作为一个跨浏览器、跨平台的客户端开发平台产品,不仅可以在客户端快速的显示地图,还可以迅速地使用SuperMapGIS服务器或第三方服务器提供的地图与服务,从而构建表现丰富、交互深入、体验卓越的地图应用。
SuperMapiClient6R(2012forFlex是一款专业的客户端GIS程序开发工具。
它不仅支持普通用户对地图的浏览、查询等操作,还支持企业级用户构架高级的GIS客户端程序,定制专业的GIS服务。
SuperMapiClient6R(2012forFlex封装了一系列控件和组件,这些控件和组件通过专有的客户端服务代理器完成与Web服务层信息的交互,最终能够实现所需功能。
4.6.2SuperMapDesktop.Net6R
SuperMapGIS6R桌面产品是一套运行在桌面端的专业GIS软件。
这套软件包括三个级别的产品:
SuperMapViewer.NET6R、SuperMapExpress.NET6R和SuperMapDeskpro.NET6R。
其中SuperMapDeskpro.NET6R软件是可编程、可扩展、可定制的,二三维一体化的桌面GIS产品,提供了数据管理功能、地图相关功能、布局排版功能、三维功能以及数据处理和类型转换的功能,能满足用户的多样化需求。
具有美观流畅的用户体验、快速构建行业桌面级应用平台、真正的二三维一体化应用、强大易用的数据处理、丰富的地图可视化表达、高效准确的空间分析等特性。
4.6.3SuperMapiClient6R(2012forAjax
SuperMapiClient6RforAjax是一套基于标准的Web技术和MicrosoftAjax技术的WebGIS应用开发包。
SuperMapiClient6RforAjax采用简捷、易用的面向对象编程模型,无需安装任何插件,只需编写简练的代码便能在客户端实现加载地图、加载控件,还可以迅速地使用SuperMapGIS服务器或第三方服务器提供的地图与服务,从而构建界面丰富、高度互动、体验优越的ServiceGIS应用程序。
具有丰富的地图浏览方式,包括自由缩放、逐级缩放、拉框缩放、漫游、平移、视图切换、全幅显示等;灵活的地图显示方式,支持SuperMapGIS服务器或其他服务器动态加载和客户端智能缓存两种方式;丰富的专题图表现,提供单值专题图、分段专题图、标签专题图、统计专题图、等级专题图、点密度专题图,让地图能更为直观的表现出业务需求;地图控制功能,包括鹰眼、图例、图层控制、罗盘、缩放条、
比例尺等功能。
5.小组总结与体会
5.1武红宇个人总结与体会
在本次实习中,我作为组长,在与组员的共同努力下顺利且出色的完成了本次实习。
由于在课间实习中已经使用过了ArcGISServer软件,因此有了一点的了解与掌握,恰逢小组中有成员参加了超图杯的网络组的比赛,所以我们小组决定挑战自我,选择了并不熟悉的超图公司的IServer6R软件进行开发,而实习中的作品的主题也有最初的“武汉大学旅游导航系统”转变为了“全国主要流域水质监测结果发布系统”这一范围更广且更具实际意义的主题。
在实习中我主要完成了数据的编辑、属性数据的录入、地图的制作以及Ajax中的编程工作。
本次实习我们对于客户端部分采用了两种不同的开发模式,即Ajax和Flex,两种开发方式均为目前较为流行的开发方式,我们为了比较两者的不同,因此采用了两种方式开发客户端,其中有我和刘章同学负责Ajax方式的开发,吴煜晖同学负责Flex方式的开发。
在数据制作方面,只要受到了收集到的数据格式不统一、坐标系不统一、属性数据获取困难等问题,同时对于超图的桌面软件“SuperMapDeskpro.NET6R(2012”不够熟悉,使得自己在制作数据时花了不少时间,不过通过查找相应资料,最后顺利的完成了数据的制作。
由于Ajax方面参考文档较少,因此我与刘章在开发过程中遇到了很多的困难,比如最开始变由于相关库与图片引用格式不对,而无法显示已发布的地图,同时对添加鼠标单击事件等也不是很熟悉,因此花了较多的时间,期中超图的开发并不像此前的ArcGISServer那样有可视化的控件,因此也在一定程度上增加了我们开发的难度,不过在我们两个不断的努力下,终于解决了种种困难,使得最终完成了开发工作。
在实习中,我感受到了自己知识的有限,以及团队合作的重要性,同时也体验到了要做出好的产品是不容易的,同时巩固了自己之前学到的一些GIS知识,使得在实践中体会到了做网络GIS的不容易,从某种角度上也看出了国产软件与ESRI公司软件还存在一定的差距,也希望将来自己能为国产GIS软件的发展做出一点自己的贡献,最后再次感谢小组成员对我工作的支持与帮助。
5.2刘章个人总结与体会
在本次开发中,我完成了小部分的数据编辑,以及协同组长实现了Ajax开发模式下软件的开发。
本次实习中遇到了很多技术和非技术方面的问题。
在技术方面,由于是第一次接触超图
软件,因而对软件基础平台操作,软件开发的流程都不是特别熟悉,因而起步比较困难。
同时平时对JS网页开发方面的知识涉猎不足,也给程序的编写带来不小的障碍。
其中包括鼠标事件的响应,地图鹰眼控件,导航面板的添加,框架间的交互等。
遇到的2个主要的问题是人机交互查询和点击地图刷新页面中表格的属性,最后在和武红宇的协作下,顺利解决了这2个问题。
此外属性数据的编辑也是一个相当繁琐的工作。
非技术方面主要是体现在团队合作方面,软件的开发往往涉及到多个流程,每个流程之间又紧密相关,因而软件的开发,需要一个团队亲密无间的合作。
这次实习中我们小组在组长的带领下,合理的分配任务,灵活的调控计划,成功的实现了webGIS的应用。
但不可否认,由于大三暑假大部分同学面临考研的压力,能静下心来,聚在一起,根据每个人的特点,合理调整时间计划,完成项目的开发对小组的合作是一个不小的挑战。
有挑战就会有收获,当此刻回头再看这段时间的挑灯夜战,心中也有一丝满足感。
本次实习采用了Ajax和Flex两种开发模式,按照两种思路实现了全国主要流域水质监测结果发布系统。
我主要涉及了Ajax模式的开发。
在开发过程中,掌握了js语言和Supermapiserver网页开发的基础知识,了解了Ajax异步刷新网页的原理,熟悉了网页开发的流程,对程序开发中的团队协作管理有了一定的认识。
当然这些基础的认识还需在将来的程序开发中得到进一步的巩固。
本次选择supermapiserver做开发环境,相对于arcgisserver而言,一些功能还没有得到好的体现,在人机交互的实现方面欠缺一些灵活性。
许多功能的实现都走了不小的弯路。
当然,作为国内优秀的GIS软件,supermap还是给国内GIS的发展带来了不小的帮助。
希望在将来的学习中,能帮助封装完善supermap中的功能,为国内GIS事业的发展做出自己的贡献。
5.3吴煜晖个人总结与体会
本次网络GIS课程设计我将其与超图杯GIS程序设计大赛结合在一起进行,在超图杯中我的计划是用Flex技术将网络爬虫工具将街旁网签到数据扒下来并实现在线更新以及查询显示功能,但是受限于技术(我只掌握了利用C#来扒取数据以及下载速度过慢,我将数据在后台下载下来并利用超图Desktop软件制成地图并显示出来。
在经历了过超图杯后,我迅速进入了本次课程设计(时间上可谓是平行的,本组原计划是进行武大地图查询功能的,但是为了学习与了解超图软件,以及做出更有实际意义的系统,我们决定利用超图软件,并将主题改为全国主要流域水质监测结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 GIS 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)