《基于WebGIS的物流信息系统的设计与实现_毕业设计论文(65页).doc》由会员分享,可在线阅读,更多相关《基于WebGIS的物流信息系统的设计与实现_毕业设计论文(65页).doc(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于WebGIS的物流信息系统的设计与实现_毕业设计论文-第 56 页基于WebGIS的物流信息系统的设计与实现单位名称:信息科学与工程学院专业名称:计算机科学与技术东 北 大 学Design and Implementation of WebGIS-Based Logistics Information Systemby ZHANG SanyiSupervisor: Professor LI SierNortheastern UniversityJune 2008毕业设计(论文)任务书毕业设计(论文)题目:基于WebGIS的物流信息系统的设计与实现设计(论文)的基本内容:(1) 了解项目开
2、发背景,分析项目进度管理系统功能需求,研究其设计及实现技术。(2) 设计基于WebGIS的物流信息系统总体结构,实现物流企业中业务流程的所有必需功能。作为物流企业的管理软件,系统必需能够实现诸如发送货物、运输货物、装载货物、卸载货物、车辆线路编辑等功能。(3) 总结归纳所完成的任务,弥补不足,以最短的时间用最少的投入实现项目的开发。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第1周指导教师签字:2007年3月5日基于WebGIS的物流信息系统的设计与实现摘 要随着经济的发展和通信技术的提高,物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降
3、低消耗和提高劳动生产率以外的重要的利润源泉,在国民经济和社会发展中发挥着重要作用。本文在物流企业的正常运营中,基于GIS的信息系统已经成为不可或缺的管理工具。在对WebGIS技术和物流企业需求进行分析的基础上,结合不同企业的业务流程的具体特点,设计了一套扩展性较强的基于WebGIS的物流信息系统。系统的主要功能是将企业管理人员与运输车辆之间通过服务器连接起来,实现物流系统的监控和管理。系统采用B/S架构,服务器端通过网络与车辆终端通信,向车辆发送控制信息并获取车辆的当前状态。同时它还和Web客户端进行交互,向客户端提供地图服务,并执行Web客户端的请求。Web客户端采用Ajax技术与服务器端进
4、行通信,通过动态地图监控车辆。它还实现了发送货物、编辑线路、发送消息等功能。考虑到可扩展性,系统重点实现了服务器端进行消息中转的消息队列,建立了Web客户端到车辆终端之间的消息通路,并可以随时更新消息队列中消息处理方式。本系统实现了物流系统的主要功能,极大提高了企业的管理水平。本文首先进行了系统的需求获取和业务分析。然后,采用分层的方法对系统进行设计,叙述了消息队列框架的详细设计与实现,并叙述了服务器端和客户端功能模块的设计和实现。并通过对系统的测试,对其功能和性能进行评估。最后,进行了总结,介绍了系统的特点和不足之处,指出了下一步的工作方向。关键词:物流;WebGIS;消息队列Design
5、and Implementation of WebGIS-Based Logistics Information SystemAbstractWith development of economy and improvement of communication technology, as an advanced mode of organization and management skill, logistics is widely considered to be the major source of profits in the enterprise besides reducin
6、g consumption and raising labor productivity. It plays an important role in the national economy and social development. The GIS-based information system has become an indispensable management tool in the regular business of logistics enterprise. Based on the analysis of the WebGIS technology and re
7、quirements of logistics enterprise, a WebGIS-based logistics information system with high expansibility is designed, according to specific business processes of various logistics enterprises.The major function of the system is to make manager communicated with vehicles via the server, and to realize
8、 monitoring and management of logistics system. The B/S architecture is adopted in the system. The server communicates with vehicles through network, sending them control data and receiving status data from them. At the same time, server interacts with Web clients, providing web map service and exec
9、uting client requests. Web client communicates with server with Ajax technology, monitoring vehicles by watching dynamic maps. It also implements functions such as sending cargo, editing route, sending message, etc. Aiming at high expansibility of the system, message queue kept in server is seriousl
10、y implemented. It means that a message channel between the Web client and vehicles is established, and the handling methods of the messages in message queue can be updated at any time. The system meets primary requirements and enhances management quality of customer.Firstly, in this thesis the requi
11、rement elicitation and the business analysis are completed. Then system is designed into multi-layer architecture. The particular design and implementation of message queue framework are described. Design and implementation of the functional modules of server and client are presented. Function and c
12、apability of the system are evaluated through test. At last, system traits and deficiencies are summarized, and next tasks are pointed out.Keywords:Logistics; WebGIS; Message Queue目 录毕业设计(论文)任务书I摘 要IIABSTRACTIII第1章 引 言51.1 课题研究的背景和来源51.2 课题研究成果应用的实际意义51.3 本文的内容及主要工作5第2章 相关技术简介52.1 GIS 技术52.2 WebGIS
13、技术52.2.1 WebGIS介绍52.2.2 WebGIS协议介绍52.2.3 WebGIS的开源平台52.3 Ajax 架构52.4 Spring 架构52.5 本章小结5第3章 需求分析53.1 系统实现目标53.2 系统运行环境53.3 系统的开发环境53.4 功能性需求描述53.4.1 发送货物53.4.2 查询货物状态53.4.3 提货53.4.4 查询系统信息53.4.5 配置车辆线路53.4.6 实时显示系统信息53.4.7 传递消息53.4.8 发送实时状态信息53.4.9 车辆完成运输段53.4.10 操作货物53.4.11 补充需求53.5 非功能性需求描述53.6 系统
14、术语表53.7 本章小结5第4章 系统设计54.1 系统设计原则54.2 系统总体设计54.3 数据访问层设计54.4 服务层设计54.5 Web服务层设计54.6 消息处理部分设计54.6.1 消息队列设计54.6.2 消息处理具体功能设计54.6.3 Socket控制层详细设计54.7 系统业务功能设计54.7.1 货物发送功能设计54.7.2 线路编辑功能设计54.7.3 货物运输功能设计54.7.4 权限操作功能设计54.8 数据库设计54.8.1 发货操作模块的表设计54.8.2 线路编辑模块的表设计54.8.3 货物运输模块的表设计54.8.4 权限控制模块的表设计54.8.5 消
15、息处理模块的表设计54.9 本章小结5第5章 系统实现55.1 地图数据传输与显示55.2 客户端设计与实现55.2.1 JavaScript语言面向对象编程55.2.2 客户端请求协议和请求流程实现55.2.3 客户端框架实现55.3 系统安全控制实现55.4 货物处理模块的实现55.5 消息处理模块的实现55.6 本章小结5第6章 系统测试56.1 单元测试56.2 集成测试56.3 系统测试56.4 本章小结5第7章 结 论57.1 本文工作总结57.2 进一步展望5参考文献5致 谢5第1章 引 言1.1 课题研究的背景和来源随着现代科学技术迅猛发展,全球经济一体化的趋势加强,各国都面临
16、着前所未有的机遇和挑战。物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降低物资消耗,提高劳动生产率以外的重要的利润源泉,在国民经济和社会发展中发挥着重要作用。物流业产生于20世纪60年代,发展到90年代,是以满足客户要求为目的,对货物、服务和相关信息在产出地和销售之间的实现高效率和低成本的正向和逆向的流动和存储所进行的计划执行和控制过程。由于现代生产技术的发展,产品的生命周期越来越短,在社会生产开始由单一品种的大批量生产向小批量、多品种定制化生产的同时,物流业开始由大批量、长周期的物流向小批量、多频次的方向发展,使物流的控制越来越复杂。随着科学技术特别是信息技术的发展,信息化的物流使
17、企业能够在全球范围内进行超时空的交易,又促进了物流业的进一步发展与繁荣。在整个物流决策中,运输成本占到物流总成本的35%50%左右。所以,物流信息化的重点在于物流运输系统信息化1。物流信息化的技术主要包括:全球定位系统(GPS)、地理信息系统(Geographic Information System , GIS)、射频(RF)、条形码和电子数据交换技术等。其中GIS技术起到一个非常重要的作用。GIS是一种以采集、贮存、管理、分析和描述整个或部分地球表面与空间地理分布有关数据的空间信息系统。在现代信息社会里,GIS作为一种集地理空间特征和各种统计信息为一体的特殊信息系统,是信息高速公路上的节点
18、和基础设施,受到全社会的广泛关注,成为目前国内热门的研究课题。GPRS,GPS技术的发展又为GIS数据的实时获取和实时传输奠定了坚实的基础。基于GIS的系统已经开始在各个领域出现。尤其以交通运输、物流、森林数据分布等与地理数据关系最为紧密的领域为甚。在物流系统中,GIS技术可以在模型参考数据、车辆监控和实时调度、监控车辆位置与状态、车辆导航以及选择最佳路径等大量涉及空间数据和属性数据的世纪应用中,提供有效的管理和科学决策依据2。对于基于C/S架构的GIS系统来说,服务器负责收集实时的地理数据,客户端负责访问。这种架构虽然能够充分利用客户端计算机的计算能力,降低服务器所承受到的压力。但是弊端也是
19、很明显的,客户端过分臃肿,数据完整性不可控,不能适应复杂网络环境,安全性得不到保障,功能可扩展性低,代码维护困难重重和服务器资源浪费等。无法胜任分布式应用系统的复杂性,客户端软件系统只能运行在单一操作系统平台上,采用相同的网络传输协议等局限都大大影响了软件系统的可部署环境,这样就增加了企业在硬件及网络资源重复性投入的成本。可扩展性受到限制,软件系统被安装在客户端,一旦软件发现Bug,软件需要升级,对软件的修改将是企业的一笔不小的开支。对于GIS系统来说,数据源可能分布在多个不同地点,客户端也分布在不同的地点,那么整个系统在物理架构上来说就是一个分布式的系统。对于这种系统来说,要提高系统的运行效
20、率、适应复杂的网络环境、降低维护费用,那么B/S架构相对于C/S架构有更大的潜力。随着Web技术的发展,Web技术与GIS相结合产生的WebGIS成为GIS技术发展的必然趋势。相对于传统的C/S架构的GIS系统。WebGIS系统采用B/S架构。部署和升级时只需要对服务器进行操作,节省了企业的资源。目前Web软件架构的发展,使得B/S架构已经向多层架构的方向发展,一般由客户端、Web服务层、应用服务层、数据层等组成。客户端即浏览器,负责用户的输入和结果的显示;Web服务层提供JSP或者Servlet等的开发、部署和运行,为客户端准备前端显示页面代码;应用服务层实现企业业务逻辑和业务实体,并提供开
21、发、部署和运行环境,同时该层也提供对分布式网络环境的支持,使得Web软件架构具备跨操作系统平台和跨网络传输协议等优势;数据层封装了数据库的底层操作,包括添加、查询、修改和删除等。B/S可分布式的架构能够明显减轻各个服务器的负载,提高系统的整体运行速度。通过B/S架构提供的WebService服务,客户端能够利用JavaScript代码控制对各个WebService的访问顺序,从而轻松地修改业务操作的实现流程,这对于业务流程比较相似的物流企业来说,意味着开发出来的系统经过简单配置能够方便地运用到其他企业的运营管理中,大大提高了可系统的扩展性和复用性。综上所述,需要一套基于WebGIS的物流信息系
22、统来优化物流系统的流程,提高企业的运行效率,降低运营成本。1.2 课题研究成果应用的实际意义本文研究的主要目的是实现一个Web客户端到GIS数据源之间进行消息传输的通用框架,并在此基础上实现物流系统需求的功能。由于各个企业有各自的业务流程和数据表示方法,平时开发的过程中需要对不同的企业实现不同的数据结构和业务流程。而在系统开发的时候往往针对一个企业进行数据定义和建模开发。这种开发方式偏重于应用,没有过多的考虑系统的复用。如果需求有了变化,往往要大面积地修改代码,甚至是重新开发。这样就浪费了大量的人力物力。要达到降低开发成本的目的,最直接的方法就是复用以前的系统。但是企业之间业务流程和数据表达方
23、式的差异提高了系统复用的门槛,降低了不同企业之间软件复用的可能性。但是对于物流系统来说,它们处理货物的业务流程过程中数据流向和处理处理方式是相同的,只是存在不多的差异。而在基于WebGIS的系统中,由于GIS数据源和Web客户端的抽象化,使得它们与服务器之间的数据流动更加清晰。最终能够整理出一份关于Web客户端和服务器进行交互的通用需求和一份物流系统货物处理流程的通用需求。在软件复用中,如果一系列的系统共享特定的领域中的明确需求,那么这一系列的系统构成软件的产品线。它们之间能够共享架构,从而缩短类似系统的开发时间,提高开发的效率3。所以本系统可以侧重架构设计,从而产生一个能够复用的,支持GIS
24、数据源、服务器、Web客户端之间进行数据流动和数据处理的架构。架构确定了系统整体结构、层次划分、不同部分之间的协作关系以后,所形成的具体实现组成了可复用的框架。框架的作用,在于确定企业各种业务的具体技术实现,并规定它们在系统中的组织方式和协作方式,从而组成完整的企业应用解决方案,快速的完成系统开发4。在框架的基础上,实现物流系统处理货物流程的通用需求,提供尽可能小的WebService接口。这样,Web客户端可以利用Ajax技术和服务器交互,将WebService提供的服务连接起来,组成具体的业务流程。本课题研究的系统,就是要通过Web服务器在企业的不同GIS数据源和Web客户单的管理人员之间
25、搭建一个实时的数据传输和处理架构,产生适用于WebGIS系统的通用模板。并在此基础上添加数据结构和业务处理流程,实现物流企业中货物输入、线路定义、车辆监控、实时消息传输等功能。考虑到物流企业需求之间的相似性,本系统的构建的框架可以经过简单的配置并添加适当的数据结构,直接应用到其他的企业中。1.3 本文的内容及主要工作本文在分析介绍了WebGIS技术,WMS/WMF协议、WebGIS相关的组件的基础上,基于物流系统的需求特点,介绍了GIS数据转发传输和处理架构,并且实现了物流系统的基本功能。各章的内容组织如下:第2章介绍了GIS技术、WebGIS技术的协议和开源平台、Ajax技术以及Spring
26、框架技术;第3章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且根据实际情况补充了部分需求,提出了非功能性需求,并描述了系统术语表;第4章对系统进行总体设计,并对服务层、Web服务层、数据访问层、消息处理部分、socket控制层等进行详细设计,对系统中货物运输、线路编辑、权限控制、发送货物等功能进行了详细设计,对介绍了系统中数据库表;第5章主要介绍了JavaScript语言的面向对象和事件驱动的实现,展示了Web客户端根据相关协议与服务器交互的流程,并介绍了客户端框架的实现以及定时更新机制的实现。最后是服务器端的具体实现,展示了安全控制机制下用户访问服务器的流程、货物从发货到最后提货
27、的整个处理流程,重点介绍了消息在管理人员、服务器端、车辆终端之间进行交互的传输和处理流程;第6章介绍了利用工具进行测试的情况,并对出现的错误进行了分析解决;第7章结论部分是对整个论文工作的总结以及下一步工作的展望,指出我们工作中有待改进的地方,同时指明了下一步的研究方向。第2章 相关技术简介2.1 GIS 技术GIS是以采集、存储、管理、分析、描述和应用整个或部分地球表面(包括大气层在内)与空间和地理分布有关的数据的计算机系统。它由硬件、软件、数据和用户有机结合而构成。GIS要实现的五个基本功能为:数据输入、数据编辑、数据存储与管理、空间查询与空间分析以及图形输出与交互操作。GIS始于60年代
28、的加拿大与美国,尔后各国相继投入了大量的研究工作,自80年代末以来,随着计算机技术的飞速发展,地理信息的处理、分析手段日趋先进,GIS技术日臻成熟,已广泛地应用于环境、资源、石油、电力、土地、交通、公安、急救、航空、市政治理、城市规划、经济咨询、灾难损失猜测、投资评价、政府治理和军事等与地理坐标相关的几乎所有领域。GIS技术依托的主要工具和平台是计算机及其相关设备。进入90年代以来,随着计算机技术的发展,计算机微处理器的处理速度愈来愈快,性能价格比更高;其存储器能实现将大型文件映射至内存的能力,并且能存储海量数据。此外,随着多媒体技术、空间技术、虚拟实景、数字测绘技术、数据仓库技术、计算机图形
29、技术、三维图形芯片、大容量光盘技术及宽频光纤通讯技术的突破性进展,消除数据通讯瓶颈的卫星互联网的建立,以及能够提供接近实时对地观测图像的高分辨、高光谱、短周期遥感卫星的大量发射,这些为GIS技术的广泛、深入应用展示了更加光明的前景。同时,也使当前的GIS已不能满足信息时代、数字时代的要求,目前GIS总体上呈现网络化、开放性、虚拟现实、集成化、空间多维性等发展趋势。2.2 WebGIS 技术2.2.1 WebGIS介绍WebGIS是GIS技术与WWW技术的结合,是在Internet网络环境下的一种传输、存储、处理、分析和显示与应用地理信息的计算机系统。称之为WebGIS的原因是大多数客户端应用采
30、用了WWW协议。在Internet的支持下,根据TCP/IP和HTTP协议,WebGIS把支持标准的HTML的浏览器作为统一的客户端,所以狭义地讲WebGIS是一种在Internet上发展起来的新技术,其核心是将GIS功能嵌入到满足HTTP和TCP/IP标准的Internet应用体系中,实现Internet环境下地理信息的有效管理和处理。与传统的地理信息系统相比较,WebGIS有如下特点:(1) 更广泛的客户访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而Internet所特有的优势大大扩展了GIS的数据的处理能力,增强了空间数据的时效性。(2) 客户端的平台独立性。无论客户
31、机是何种操作系统,只要支持通用的Web浏览器,用户就可以访问GIS数据及服务器所提供的服务。(3) 更简单的操作。要推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的用户,就要降低对系统的操作难度。通过Web浏览器提供友好的用户界面无疑是一种很好的选择。(4) 更高效的计算负载平衡。传统的GIS大都使用文件服务器结构的处理方式,其处理能力完全依赖客户端,效率较低。而当今的一些高级的WebGIS能充分利用网络资源,将复杂的处理交由服务器处理,而简单的操作则由客户端直接完成。这种计算能灵活地在服务器端和客户端之间合理地分配处理任务,提高网络资源的利用效率,提高了系统的
32、性能。(5) 分布式的系统。Internet的一个特点就是它可以访问分布式数据库和执行分布式处理,即信息和应用可以部署在跨越整个Internet的不同计算机上。GIS数据和分析工具是独立的组件和模块,WebGIS利用Internet的这种分布式系统把GIS数据和分析工具部署在网络不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,不需要在本地计算机上安装GIS数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户,达到实时部署的性能。(6) 动态性。由于WebGIS是分布式系统,数据与应用程序部署在不同的计算机上,随时可能被管理员更新,对于Internet
33、上的每一个用户来说,都能得到最新的数据和应用程序的最新版本,只要数据源发生变化,和数据源的动态连接将保持数据的实时性。(7) 交互性。WebGIS可使用户在Internet上操作GIS地图和数据,用Web浏览器(IE,Netscape 等)执行部分基本的GIS功能:如缩放,漫游,查询和标注,甚至可以执行空间查询:如“离你最近的旅馆或饭店在哪儿”,或者更先进的空间分析:比如缓冲分析和网络分析等。在Web上使用WebGIS就和在本地计算机上使用桌面GIS软件一样。(8) 经济性。一般专业的GIS软件非常昂贵,而对于普通用户来说,只使用一些最基本的功能,想购买专业软件显得不太可能,也不经济。WebG
34、IS在客户端只需要浏览器,GIS数据和GIS软件的管理与维护基本上由服务器完成,因此系统成本比以往全套GIS软件平台要少得多,客户端软件的简单化节省的维护费用也是很可观的。2.2.2 WebGIS协议介绍开放式地理信息系统协会(Open GIS Consortium, OGC)是非营利、国际自发性、研究地理信息系统标准的国际组织。OGC所提供的规范是帮助GIS开发者创造一个高效、无隔阂和透明的地理信息系统使用、分析、处理的环境5。开放式地理信息系统(OpenGIS)正是由OGC提出的一个为了实现开放式地理信息系统而提出的开放式地理空间数据互操作规范。按照OpenGIS的规范,可以构造一个能获取
35、分布式地理空间数据和空间服务资源的软件框架。OpenGIS给全世界的软件开发商一个详细的通用界面模板,使得不同开发商依照OpenGIS开发出来的不同GIS软件能够进行互操作。OpenGIS围绕着地理空间信息共享和提供地理空间处理服务两个技术目标,主要包括三部分内容:开放式地理空间数据模型、OpenGIS服务模型和信息团体模型。其中与WebGIS有关的协议主要有:GML(Geography Markup Language),WFS(Web Feature Service),WMS(Web Map Service),SLD(Styled Layer Descriptor),WCS(Web Cove
36、rage Service) 和WSCS(Web Services Common Specification)等规范6。其中GML、WMS、WFS和WCS可以作为Web服务的空间数据服务规范,又可以作为空间数据的互操作实现。只要某一个GIS软件支持这个接口,部署在本地服务器上,其他GIS软件就可以通过这个接口得到所需要的数据。2.2.2.1 GML协议GML是一种用于建模、传输和存储地理及与地理相关信息的XML编码语言,它包括了地理要素(Feature)与层(Coverage)的空间与非空间特征。GML建立在W3C系列标准之上,以一种互联网上容易共享的方式来描述、表达地理信息,是第一个被GIS界
37、广泛接受的元标记语言。在这之前开发的各种用于存储和交换地理信息的文件格式或标准,由于缺少相应的支持工具,而没有被广泛接受。GML的一个重要优势就是它能够让开发者或用户非常灵活地使用已被广泛接受的XML技术,它建立在XML、XML Schema、XLink和XPointer基础之上,GML数据能够很容易地与非空间数据集成使用。GML使用XML对地理数据进行编码,为开发商和用户提供了一种开放的、中立于任何厂商的地理数据建模框架,使地理信息能够在不同领域、不同部门进行语义共享。 GML采用要素来描述地理实体和地理现象,GML要素是通过其属性(property)来描述的,这些属性包括:空间属性、时态属
38、性及其他非空间时态属性。OGC 先后推出了3个版本的GML,GML 1.0 版本于2000年4月正式推出,GML 2.0 版本于2001年2月推出,GML 2.12 版本于2002年9月推出,2003 年1月推出GML 3.0 版本。3.0版增加了对复杂的几何实体、拓扑、空间参照系统、元数据、时间特征和动态要素等的支持,使其更加适合描述现实世界问题。GML作为一个空间数据编码规范,它并没有强制采用它的用户使用规定的XML标识,而是提供了一套基本的标签、公共的数据模型,以及用户构建应用模式(GML Application Schemas)的机制7。2.2.2.2 WMS协议WMS从动态的地理信息
39、中位置数据,产生空间参考数据的地图。地图的格式可以为PNG/GIF/JPEG/SVG/WebCGM中的任意一种。这个规范定义了三个操作:GetCapabilities操作返回XML格式的服务级元数据,它是对服务信息内容和可接受请求参数的一种描述;GetMap用来从地图服务器得到一副具有特定的地理位置坐标范围的地图图像,在构造请求时需要设置图层名称、坐标范围、返回图像的高宽和格式等;GetFeatureInfo是WMS可选的服务,用来提供进一步查询地图上的某些特殊要素的信息的接口8。2.2.2.3 WFS协议WFS向用户提供使用GML编码的地理空间要素数据,并支持在HTTP协议的分布式计算机平台
40、上对地理要素进行查询、插入、更新和删除操作等。这个规范定义了五个操作:GetCapabilities返回WFS性能描述文档(用XML描述);DescribeFeatureType向用户提供一个列表,表示WFS服务器能提供的服务的要素类型。列表还定义了请求具体要素实例时的请求格式以及输出时生成要素实例的方法。;GetFeature为一个获取要素实例的请求提供服务;Transaction为事务请求提供服务;LockFeature处理在一个事务期间对一个或多个要素类型实例上锁的请求9。在具体的GIS应用当中,WFS经常用来实现对地图上数据的查询与修改,并经常与系统的领域层中的模型进行交互。2.2.2
41、.4 WCS协议WCS协议是面向空间影像数据的,它将包含地理位置值的地理空间数据作为“覆盖(coverage)”在网上相互交换。WCS规范由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType。GetCapabilities操作返回描述服务和数据集的XML文档。WCS中的GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。客户端能够指定获取哪些覆盖,以及对空间和非空间的查询进行约束。DescribeCoverageType操作允
42、许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述10。在MapBuilder库文件中,利用WCS进行地理空间数据数据交换。2.2.3 WebGIS的开源平台2.2.3.1 GeoServer 地图服务器GeoServer是全面遵循OGC开放标准的J2EE实现,可以方便地发布地图数据,并且允许用户对特征数据进行更新、删除、插入等操作,通过GeoServer能够比较容易地在用户之间迅速共享空间地理信息。GeoServer支持PostGIS、oracle,mysql等数据库数据源以及shapefile,mapinfo等格式的文件数据源;能够运行在任何基于J2EE/Servlet容器上;能够
43、通过WMS将数据采用maps/images方式发布,也可以通过WFS协议直接发布实际数据。GeoServer集成了GeoTools工具。GeoTools 是一款基于 Java 的开源 GIS 工具集,允许用户对地理数据进行基本操作。通过 GeoTools 的各种接口和 helper 类,可以写入新的数据格式,通过 GeoTools 为 GeoServer 提供的插件,在不进行重新编译的情况下,可以让 GeoServer 支持更多的数据格式,甚至只需要通过 GUI 的 option 设置即可。2.2.3.2 PostGIS数据库管理系统PostGIS是由Refractions Research
44、Inc开发的,它是对象关系型数据库系统PostgreSQL的一个扩展,允许数据库存储处理GIS对象。PostGIS提供了基于WKT和WKB格式的EWKT和EWKB格式,存储与访问Geometry对象的功能;同时,也提供了丰富的维护、检索和空间运算函数,确保能对矢量格式的空间数据及其属性数据进行有效地组织、索引,并能根据用户需求进行自定义函数的扩充。PostGIS旨在支持开发PostGIS以支持重要的GIS功能,包括对OpenGIS的完整支持,高级拓扑的构建,用于显示和编辑GIS数据的左面用户界面工具和基于网络的访问工具。与单纯使用PostgreSQL相比,开发人员应用PostGIS更易于实现空
45、间几何对象,PostGIS主要优点有:(1) 在3D扩展下支持OpenGIS的WKT空间数据对象,支持3DZ、3DM、4D坐标表示。(2) 支持SQL及空间查询处理空间数据对象。(3) 提供大量空间算子进行空间操作,并提供了支持多种标准投影类型的开源投影库(Proj4)。PostGIS支持的GIS对象是OGC定义的“简单要素”的超集11。2.2.3.3 MapBuilderMapBuilder是一个基于Ajax(Asynchronous JavaScript and XML)技术的地图处理显示的Web开源客户端。它支持Internet Explorer6+、Mozilla1.3+、Netsca
46、pe6+等浏览器。支持WMS和WFS-T服务。它根据WMS协议实现了地图显示、缩放、移动等操作,并且能够利用WFS-T协议修改服务器上的地图数据。通过简单的配置,MapBuilder中的组件能够轻松的嵌入到网页文件中。在具体实现上采用MVC模式,MVC是Model View Controller(模型,视图,控制器)的缩写。这个模式的目的是为了简化应用程式的实现。此模式包括三个独立组件。Model 表示数据,用户 期待看到的数据。View 负责展示模型。视图在文本编辑器中可能按照适当格式显示一段文本,在多数情况下,试图在Web应用中生成HTML,以便客户端浏览器解释浏览。Controller
47、是一段逻辑,负责处理请求和按照客户请求行动,创建适当的模型,并将其传递到视图以供显示。在MapBuilder中分别对应于模式(Model)、饰件(Widget)、工具(Tool)三种类型的JavaScript对象,实现了数据管理、信息表达和交互操作的模块化。MVC模式中的一个重要问题是数据的组织管理,对于MapBuilder而言就是数据模型。MapBuilder不提供通常的点、线、面等几何对象的封装,整个数据流完全通过XML配置与解析进行管理,其优点是标准化程度高、客户端使用便捷、无需编码。这些数据流包括系统配置、地图配置以及服务器端交互所产生的各种GML数据。其中系统配置文件按照资源描述框架(Resource Description Framework, RDF)语法以Object-Property-Value格式定义所需对象,每个对象被赋予一个唯一标识的ID,通过ID在全局域中可直接以config.objects.id来应用指定的对象实例。地图配置文件则按照OGC的WMC(Web Map Context)规范定义地图所需各参数,所有配置文件都将在页面加载时被自动解析,映射成为所定义的对象实例。系统配置自身被映射为模型对象Config,所有模型对象都派生自抽象类ModelBase,统一调用GET方法获取数据信息,并以SET方法设置、修改模型信息和状态。
限制150内