1、基于WEBGIS的物流信息系统的设计与实现作者姓名指导教师教授单位名称信息科学与工程学院专业名称计算机科学与技术东北大学2013年6月DESIGNANDIMPLEMENTATIONOFWEBGISBASEDLOGISTICSINFORMATIONSYSTEMBYSUPERVISORPROFESSORNORTHEASTERNUNIVERSITYJUNE2013东北大学本科毕业设计(论文)毕业设计(论文)任务书I毕业设计(论文)任务书毕业设计(论文)题目基于WEBGIS的物流信息系统的设计与实现设计论文的基本内容1了解项目开发背景,分析项目进度管理系统功能需求,研究其设计及实现技术。2设计基于WE
2、BGIS的物流信息系统总体结构,实现物流企业中业务流程的所有必需功能。作为物流企业的管理软件,系统必需能够实现诸如发送货物、运输货物、装载货物、卸载货物、车辆线路编辑等功能。3总结归纳所完成的任务,弥补不足,以最短的时间用最少的投入实现项目的开发。毕业设计(论文)专题部分题目设计或论文专题的基本内容学生接受毕业设计(论文)题目日期第1周指导教师签字2007年3月5日东北大学本科毕业设计(论文)摘要II基于WEBGIS的物流信息系统的设计与实现摘要随着经济的发展和通信技术的提高,物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降低消耗和提高劳动生产率以外的重要的利润源泉,在国民经济和社会
3、发展中发挥着重要作用。本文在物流企业的正常运营中,基于GIS的信息系统已经成为不可或缺的管理工具。在对WEBGIS技术和物流企业需求进行分析的基础上,结合不同企业的业务流程的具体特点,设计了一套扩展性较强的基于WEBGIS的物流信息系统。系统的主要功能是将企业管理人员与运输车辆之间通过服务器连接起来,实现物流系统的监控和管理。系统采用B/S架构,服务器端通过网络与车辆终端通信,向车辆发送控制信息并获取车辆的当前状态。同时它还和WEB客户端进行交互,向客户端提供地图服务,并执行WEB客户端的请求。WEB客户端采用AJAX技术与服务器端进行通信,通过动态地图监控车辆。它还实现了发送货物、编辑线路、
4、发送消息等功能。考虑到可扩展性,系统重点实现了服务器端进行消息中转的消息队列,建立了WEB客户端到车辆终端之间的消息通路,并可以随时更新消息队列中消息处理方式。本系统实现了物流系统的主要功能,极大提高了企业的管理水平。本文首先进行了系统的需求获取和业务分析。然后,采用分层的方法对系统进行设计,叙述了消息队列框架的详细设计与实现,并叙述了服务器端和客户端功能模块的设计和实现。并通过对系统的测试,对其功能和性能进行评估。最后,进行了总结,介绍了系统的特点和不足之处,指出了下一步的工作方向。关键词物流;WEBGIS;消息队列东北大学本科毕业设计(论文)ABSTRACTIIIDESIGNANDIMPL
5、EMENTATIONOFWEBGISBASEDLOGISTICSINFORMATIONSYSTEMABSTRACTWITHDEVELOPMENTOFECONOMYANDIMPROVEMENTOFCOMMUNICATIONTECHNOLOGY,ASANADVANCEDMODEOFORGANIZATIONANDMANAGEMENTSKILL,LOGISTICSISWIDELYCONSIDEREDTOBETHEMAJORSOURCEOFPROFITSINTHEENTERPRISEBESIDESREDUCINGCONSUMPTIONANDRAISINGLABORPRODUCTIVITYITPLAYSA
6、NIMPORTANTROLEINTHENATIONALECONOMYANDSOCIALDEVELOPMENTTHEGISBASEDINFORMATIONSYSTEMHASBECOMEANINDISPENSABLEMANAGEMENTTOOLINTHEREGULARBUSINESSOFLOGISTICSENTERPRISEBASEDONTHEANALYSISOFTHEWEBGISTECHNOLOGYANDREQUIREMENTSOFLOGISTICSENTERPRISE,AWEBGISBASEDLOGISTICSINFORMATIONSYSTEMWITHHIGHEXPANSIBILITYISDE
7、SIGNED,ACCORDINGTOSPECIFICBUSINESSPROCESSESOFVARIOUSLOGISTICSENTERPRISESTHEMAJORFUNCTIONOFTHESYSTEMISTOMAKEMANAGERCOMMUNICATEDWITHVEHICLESVIATHESERVER,ANDTOREALIZEMONITORINGANDMANAGEMENTOFLOGISTICSSYSTEMTHEB/SARCHITECTUREISADOPTEDINTHESYSTEMTHESERVERCOMMUNICATESWITHVEHICLESTHROUGHNETWORK,SENDINGTHEM
8、CONTROLDATAANDRECEIVINGSTATUSDATAFROMTHEMATTHESAMETIME,SERVERINTERACTSWITHWEBCLIENTS,PROVIDINGWEBMAPSERVICEANDEXECUTINGCLIENTREQUESTSWEBCLIENTCOMMUNICATESWITHSERVERWITHAJAXTECHNOLOGY,MONITORINGVEHICLESBYWATCHINGDYNAMICMAPSITALSOIMPLEMENTSFUNCTIONSSUCHASSENDINGCARGO,EDITINGROUTE,SENDINGMESSAGE,ETCAIM
9、INGATHIGHEXPANSIBILITYOFTHESYSTEM,MESSAGEQUEUEKEPTINSERVERISSERIOUSLYIMPLEMENTEDITMEANSTHATAMESSAGECHANNELBETWEENTHEWEBCLIENTANDVEHICLESISESTABLISHED,ANDTHEHANDLINGMETHODSOFTHEMESSAGESINMESSAGEQUEUECANBEUPDATEDATANYTIMETHESYSTEMMEETSPRIMARYREQUIREMENTSANDENHANCESMANAGEMENTQUALITYOFCUSTOMERFIRSTLY,IN
10、THISTHESISTHEREQUIREMENTELICITATIONANDTHEBUSINESSANALYSISARECOMPLETEDTHENSYSTEMISDESIGNEDINTOMULTILAYERARCHITECTURETHEPARTICULARDESIGNANDIMPLEMENTATIONOFMESSAGEQUEUEFRAMEWORKAREDESCRIBEDDESIGNANDIMPLEMENTATIONOFTHEFUNCTIONALMODULESOFSERVERANDCLIENTAREPRESENTEDFUNCTIONANDCAPABILITYOFTHESYSTEMAREEVALU
11、ATEDTHROUGHTESTATLAST,SYSTEMTRAITSANDDEFICIENCIESARESUMMARIZED,ANDNEXTTASKSAREPOINTEDOUTKEYWORDSLOGISTICSWEBGISMESSAGEQUEUE东北大学本科毕业设计(论文)目录IV目录毕业设计(论文)任务书I摘要IIABSTRACTIII第1章引言111课题研究的背景和来源112课题研究成果应用的实际意义213本文的内容及主要工作3第2章相关技术简介521GIS技术522WEBGIS技术5221WEBGIS介绍5222WEBGIS协议介绍7223WEBGIS的开源平台923AJAX架构1124
12、SPRING架构1125本章小结12第3章需求分析1331系统实现目标1332系统运行环境1333系统的开发环境1434功能性需求描述14341发送货物15342查询货物状态16343提货16344查询系统信息16345配置车辆线路16346实时显示系统信息17347传递消息17348发送实时状态信息17349车辆完成运输段183410操作货物18东北大学本科毕业设计(论文)目录V3411补充需求1835非功能性需求描述1936系统术语表1937本章小结20第4章系统设计2141系统设计原则2142系统总体设计2143数据访问层设计2244服务层设计2345WEB服务层设计2546消息处理部分
13、设计26461消息队列设计27462消息处理具体功能设计28463SOCKET控制层详细设计2947系统业务功能设计31471货物发送功能设计31472线路编辑功能设计33473货物运输功能设计34474权限操作功能设计3548数据库设计37481发货操作模块的表设计37482线路编辑模块的表设计38483货物运输模块的表设计38484权限控制模块的表设计41485消息处理模块的表设计4149本章小结42第5章系统实现4351地图数据传输与显示4352客户端设计与实现46521JAVASCRIPT语言面向对象编程46522客户端请求协议和请求流程实现48523客户端框架实现4953系统安全控制
14、实现52东北大学本科毕业设计(论文)目录VI54货物处理模块的实现5355消息处理模块的实现5656本章小结58第6章系统测试5961单元测试5962集成测试6063系统测试6164本章小结63第7章结论6571本文工作总结6572进一步展望65参考文献67致谢69东北大学本科毕业设计(论文)第1章引言1第1章引言11课题研究的背景和来源随着现代科学技术迅猛发展,全球经济一体化的趋势加强,各国都面临着前所未有的机遇和挑战。物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降低物资消耗,提高劳动生产率以外的重要的利润源泉,在国民经济和社会发展中发挥着重要作用。物流业产生于20世纪60年代,
15、发展到90年代,是以满足客户要求为目的,对货物、服务和相关信息在产出地和销售之间的实现高效率和低成本的正向和逆向的流动和存储所进行的计划执行和控制过程。由于现代生产技术的发展,产品的生命周期越来越短,在社会生产开始由单一品种的大批量生产向小批量、多品种定制化生产的同时,物流业开始由大批量、长周期的物流向小批量、多频次的方向发展,使物流的控制越来越复杂。随着科学技术特别是信息技术的发展,信息化的物流使企业能够在全球范围内进行超时空的交易,又促进了物流业的进一步发展与繁荣。在整个物流决策中,运输成本占到物流总成本的3550左右。所以,物流信息化的重点在于物流运输系统信息化1。物流信息化的技术主要包
16、括全球定位系统(GPS)、地理信息系统(GEOGRAPHICINFORMATIONSYSTEM,GIS)、射频(RF)、条形码和电子数据交换技术等。其中GIS技术起到一个非常重要的作用。GIS是一种以采集、贮存、管理、分析和描述整个或部分地球表面与空间地理分布有关数据的空间信息系统。在现代信息社会里,GIS作为一种集地理空间特征和各种统计信息为一体的特殊信息系统,是信息高速公路上的节点和基础设施,受到全社会的广泛关注,成为目前国内热门的研究课题。GPRS,GPS技术的发展又为GIS数据的实时获取和实时传输奠定了坚实的基础。基于GIS的系统已经开始在各个领域出现。尤其以交通运输、物流、森林数据分
17、布等与地理数据关系最为紧密的领域为甚。在物流系统中,GIS技术可以在模型参考数据、车辆监控和实时调度、监控车辆位置与状态、车辆导航以及选择最佳路径等大量涉及空间数据和属性数据的世纪应用中,提供有效的管理和科学决策依据2。对于基于C/S架构的GIS系统来说,服务器负责收集实时的地理数据,客户端负责访问。这种架构虽然能够充分利用客户端计算机的计算能力,降低服务器所承受到的压力。但是弊端也是很明显的,客户端过分臃肿,数据完整性不可控,不能适应复杂网络环境,安全性得不到保障,功能可扩展性低,代码维护困难重东北大学本科毕业设计(论文)第1章引言2重和服务器资源浪费等。无法胜任分布式应用系统的复杂性,客户
18、端软件系统只能运行在单一操作系统平台上,采用相同的网络传输协议等局限都大大影响了软件系统的可部署环境,这样就增加了企业在硬件及网络资源重复性投入的成本。可扩展性受到限制,软件系统被安装在客户端,一旦软件发现BUG,软件需要升级,对软件的修改将是企业的一笔不小的开支。对于GIS系统来说,数据源可能分布在多个不同地点,客户端也分布在不同的地点,那么整个系统在物理架构上来说就是一个分布式的系统。对于这种系统来说,要提高系统的运行效率、适应复杂的网络环境、降低维护费用,那么B/S架构相对于C/S架构有更大的潜力。随着WEB技术的发展,WEB技术与GIS相结合产生的WEBGIS成为GIS技术发展的必然趋
19、势。相对于传统的C/S架构的GIS系统。WEBGIS系统采用B/S架构。部署和升级时只需要对服务器进行操作,节省了企业的资源。目前WEB软件架构的发展,使得B/S架构已经向多层架构的方向发展,一般由客户端、WEB服务层、应用服务层、数据层等组成。客户端即浏览器,负责用户的输入和结果的显示;WEB服务层提供JSP或者SERVLET等的开发、部署和运行,为客户端准备前端显示页面代码;应用服务层实现企业业务逻辑和业务实体,并提供开发、部署和运行环境,同时该层也提供对分布式网络环境的支持,使得WEB软件架构具备跨操作系统平台和跨网络传输协议等优势;数据层封装了数据库的底层操作,包括添加、查询、修改和删
20、除等。B/S可分布式的架构能够明显减轻各个服务器的负载,提高系统的整体运行速度。通过B/S架构提供的WEBSERVICE服务,客户端能够利用JAVASCRIPT代码控制对各个WEBSERVICE的访问顺序,从而轻松地修改业务操作的实现流程,这对于业务流程比较相似的物流企业来说,意味着开发出来的系统经过简单配置能够方便地运用到其他企业的运营管理中,大大提高了可系统的扩展性和复用性。综上所述,需要一套基于WEBGIS的物流信息系统来优化物流系统的流程,提高企业的运行效率,降低运营成本。12课题研究成果应用的实际意义本文研究的主要目的是实现一个WEB客户端到GIS数据源之间进行消息传输的通用框架,并
21、在此基础上实现物流系统需求的功能。由于各个企业有各自的业务流程和数据表示方法,平时开发的过程中需要对不同的企业实现不同的数据结构和业务流程。而在系统开发的时候往往针对一个企业进行数据定义和建模开发。这种开发方式偏重于应用,没有过多的考虑系统的复用。如果需求有了变化,往往要大面积地修改代码,甚至是重新开发。这样东北大学本科毕业设计(论文)第1章引言3就浪费了大量的人力物力。要达到降低开发成本的目的,最直接的方法就是复用以前的系统。但是企业之间业务流程和数据表达方式的差异提高了系统复用的门槛,降低了不同企业之间软件复用的可能性。但是对于物流系统来说,它们处理货物的业务流程过程中数据流向和处理处理方
22、式是相同的,只是存在不多的差异。而在基于WEBGIS的系统中,由于GIS数据源和WEB客户端的抽象化,使得它们与服务器之间的数据流动更加清晰。最终能够整理出一份关于WEB客户端和服务器进行交互的通用需求和一份物流系统货物处理流程的通用需求。在软件复用中,如果一系列的系统共享特定的领域中的明确需求,那么这一系列的系统构成软件的产品线。它们之间能够共享架构,从而缩短类似系统的开发时间,提高开发的效率3。所以本系统可以侧重架构设计,从而产生一个能够复用的,支持GIS数据源、服务器、WEB客户端之间进行数据流动和数据处理的架构。架构确定了系统整体结构、层次划分、不同部分之间的协作关系以后,所形成的具体
23、实现组成了可复用的框架。框架的作用,在于确定企业各种业务的具体技术实现,并规定它们在系统中的组织方式和协作方式,从而组成完整的企业应用解决方案,快速的完成系统开发4。在框架的基础上,实现物流系统处理货物流程的通用需求,提供尽可能小的WEBSERVICE接口。这样,WEB客户端可以利用AJAX技术和服务器交互,将WEBSERVICE提供的服务连接起来,组成具体的业务流程。本课题研究的系统,就是要通过WEB服务器在企业的不同GIS数据源和WEB客户单的管理人员之间搭建一个实时的数据传输和处理架构,产生适用于WEBGIS系统的通用模板。并在此基础上添加数据结构和业务处理流程,实现物流企业中货物输入、
24、线路定义、车辆监控、实时消息传输等功能。考虑到物流企业需求之间的相似性,本系统的构建的框架可以经过简单的配置并添加适当的数据结构,直接应用到其他的企业中。13本文的内容及主要工作本文在分析介绍了WEBGIS技术,WMS/WMF协议、WEBGIS相关的组件的基础上,基于物流系统的需求特点,介绍了GIS数据转发传输和处理架构,并且实现了物流系统的基本功能。各章的内容组织如下第2章介绍了GIS技术、WEBGIS技术的协议和开源平台、AJAX技术以及SPRING框架技术;第3章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且根据实际情况补充了部分需求,提出了非功能性需求,并描述了系统术语表;
25、东北大学本科毕业设计(论文)第1章引言4第4章对系统进行总体设计,并对服务层、WEB服务层、数据访问层、消息处理部分、SOCKET控制层等进行详细设计,对系统中货物运输、线路编辑、权限控制、发送货物等功能进行了详细设计,对介绍了系统中数据库表;第5章主要介绍了JAVASCRIPT语言的面向对象和事件驱动的实现,展示了WEB客户端根据相关协议与服务器交互的流程,并介绍了客户端框架的实现以及定时更新机制的实现。最后是服务器端的具体实现,展示了安全控制机制下用户访问服务器的流程、货物从发货到最后提货的整个处理流程,重点介绍了消息在管理人员、服务器端、车辆终端之间进行交互的传输和处理流程;第6章介绍了
26、利用工具进行测试的情况,并对出现的错误进行了分析解决;第7章结论部分是对整个论文工作的总结以及下一步工作的展望,指出我们工作中有待改进的地方,同时指明了下一步的研究方向。东北大学本科毕业设计(论文)第2章相关技术简介5第2章相关技术简介21GIS技术GIS是以采集、存储、管理、分析、描述和应用整个或部分地球表面(包括大气层在内)与空间和地理分布有关的数据的计算机系统。它由硬件、软件、数据和用户有机结合而构成。GIS要实现的五个基本功能为数据输入、数据编辑、数据存储与管理、空间查询与空间分析以及图形输出与交互操作。GIS始于60年代的加拿大与美国,尔后各国相继投入了大量的研究工作,自80年代末以
27、来,随着计算机技术的飞速发展,地理信息的处理、分析手段日趋先进,GIS技术日臻成熟,已广泛地应用于环境、资源、石油、电力、土地、交通、公安、急救、航空、市政治理、城市规划、经济咨询、灾难损失猜测、投资评价、政府治理和军事等与地理坐标相关的几乎所有领域。GIS技术依托的主要工具和平台是计算机及其相关设备。进入90年代以来,随着计算机技术的发展,计算机微处理器的处理速度愈来愈快,性能价格比更高;其存储器能实现将大型文件映射至内存的能力,并且能存储海量数据。此外,随着多媒体技术、空间技术、虚拟实景、数字测绘技术、数据仓库技术、计算机图形技术、三维图形芯片、大容量光盘技术及宽频光纤通讯技术的突破性进展
28、,消除数据通讯瓶颈的卫星互联网的建立,以及能够提供接近实时对地观测图像的高分辨、高光谱、短周期遥感卫星的大量发射,这些为GIS技术的广泛、深入应用展示了更加光明的前景。同时,也使当前的GIS已不能满足信息时代、数字时代的要求,目前GIS总体上呈现网络化、开放性、虚拟现实、集成化、空间多维性等发展趋势。22WEBGIS技术221WEBGIS介绍WEBGIS是GIS技术与WWW技术的结合,是在INTERNET网络环境下的一种传输、存储、处理、分析和显示与应用地理信息的计算机系统。称之为WEBGIS的原因是大多数客户端应用采用了WWW协议。在INTERNET的支持下,根据TCP/IP和HTTP协议,
29、WEBGIS把支持标准的HTML的浏览器作为统一的客户端,所以狭义地讲WEBGIS是一种在INTERNET上发展起来的新技术,其核心是将GIS功能嵌入到满足HTTP和TCP/IP标准的INTERNET应用体系中,实现INTERNET环境下地理信息的有效管理和处理。与传统的地理信息系统相比较,WEBGIS有如下特点东北大学本科毕业设计(论文)第2章相关技术简介61更广泛的客户访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而INTERNET所特有的优势大大扩展了GIS的数据的处理能力,增强了空间数据的时效性。2客户端的平台独立性。无论客户机是何种操作系统,只要支持通用的WEB浏览
30、器,用户就可以访问GIS数据及服务器所提供的服务。3更简单的操作。要推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的用户,就要降低对系统的操作难度。通过WEB浏览器提供友好的用户界面无疑是一种很好的选择。4更高效的计算负载平衡。传统的GIS大都使用文件服务器结构的处理方式,其处理能力完全依赖客户端,效率较低。而当今的一些高级的WEBGIS能充分利用网络资源,将复杂的处理交由服务器处理,而简单的操作则由客户端直接完成。这种计算能灵活地在服务器端和客户端之间合理地分配处理任务,提高网络资源的利用效率,提高了系统的性能。5分布式的系统。INTERNET的一个特点就是它
31、可以访问分布式数据库和执行分布式处理,即信息和应用可以部署在跨越整个INTERNET的不同计算机上。GIS数据和分析工具是独立的组件和模块,WEBGIS利用INTERNET的这种分布式系统把GIS数据和分析工具部署在网络不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,不需要在本地计算机上安装GIS数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户,达到实时部署的性能。6动态性。由于WEBGIS是分布式系统,数据与应用程序部署在不同的计算机上,随时可能被管理员更新,对于INTERNET上的每一个用户来说,都能得到最新的数据和应用程序的最新版本,只要数
32、据源发生变化,和数据源的动态连接将保持数据的实时性。7交互性。WEBGIS可使用户在INTERNET上操作GIS地图和数据,用WEB浏览器IE,NETSCAPE等执行部分基本的GIS功能如缩放,漫游,查询和标注,甚至可以执行空间查询如“离你最近的旅馆或饭店在哪儿”,或者更先进的空间分析比如缓冲分析和网络分析等。在WEB上使用WEBGIS就和在本地计算机上使用桌面GIS软件一样。8经济性。一般专业的GIS软件非常昂贵,而对于普通用户来说,只使用一些最基本的功能,想购买专业软件显得不太可能,也不经济。WEBGIS在客户端只需要浏览器,GIS数据和GIS软件的管理与维护基本上由服务器完成,因此系统成
33、本比以往全套GIS软件平台要少得多,客户端软件的简单化节省的维护费东北大学本科毕业设计(论文)第2章相关技术简介7用也是很可观的。222WEBGIS协议介绍开放式地理信息系统协会(OPENGISCONSORTIUM,OGC)是非营利、国际自发性、研究地理信息系统标准的国际组织。OGC所提供的规范是帮助GIS开发者创造一个高效、无隔阂和透明的地理信息系统使用、分析、处理的环境5。开放式地理信息系统(OPENGIS)正是由OGC提出的一个为了实现开放式地理信息系统而提出的开放式地理空间数据互操作规范。按照OPENGIS的规范,可以构造一个能获取分布式地理空间数据和空间服务资源的软件框架。OPENG
34、IS给全世界的软件开发商一个详细的通用界面模板,使得不同开发商依照OPENGIS开发出来的不同GIS软件能够进行互操作。OPENGIS围绕着地理空间信息共享和提供地理空间处理服务两个技术目标,主要包括三部分内容开放式地理空间数据模型、OPENGIS服务模型和信息团体模型。其中与WEBGIS有关的协议主要有GML(GEOGRAPHYMARKUPLANGUAGE),WFS(WEBFEATURESERVICE),WMS(WEBMAPSERVICE),SLD(STYLEDLAYERDESCRIPTOR),WCS(WEBCOVERAGESERVICE)和WSCS(WEBSERVICESCOMMONSPE
35、CIFICATION)等规范6。其中GML、WMS、WFS和WCS可以作为WEB服务的空间数据服务规范,又可以作为空间数据的互操作实现。只要某一个GIS软件支持这个接口,部署在本地服务器上,其他GIS软件就可以通过这个接口得到所需要的数据。2221GML协议GML是一种用于建模、传输和存储地理及与地理相关信息的XML编码语言,它包括了地理要素(FEATURE)与层(COVERAGE)的空间与非空间特征。GML建立在W3C系列标准之上,以一种互联网上容易共享的方式来描述、表达地理信息,是第一个被GIS界广泛接受的元标记语言。在这之前开发的各种用于存储和交换地理信息的文件格式或标准,由于缺少相应的
36、支持工具,而没有被广泛接受。GML的一个重要优势就是它能够让开发者或用户非常灵活地使用已被广泛接受的XML技术,它建立在XML、XMLSCHEMA、XLINK和XPOINTER基础之上,GML数据能够很容易地与非空间数据集成使用。GML使用XML对地理数据进行编码,为开发商和用户提供了一种开放的、中立于任何厂商的地理数据建模框架,使地理信息能够在不同领域、不同部门进行语义共享。GML采用要素来描述地理实体和地理现象,GML要素是通过其属性(PROPERTY)来描述的,这些属性包括空间属性、时态属性及其他非空间时态属性。东北大学本科毕业设计(论文)第2章相关技术简介8OGC先后推出了3个版本的G
37、ML,GML10版本于2000年4月正式推出,GML20版本于2001年2月推出,GML212版本于2002年9月推出,2003年1月推出GML30版本。30版增加了对复杂的几何实体、拓扑、空间参照系统、元数据、时间特征和动态要素等的支持,使其更加适合描述现实世界问题。GML作为一个空间数据编码规范,它并没有强制采用它的用户使用规定的XML标识,而是提供了一套基本的标签、公共的数据模型,以及用户构建应用模式(GMLAPPLICATIONSCHEMAS)的机制7。2222WMS协议WMS从动态的地理信息中位置数据,产生空间参考数据的地图。地图的格式可以为PNG/GIF/JPEG/SVG/WEBC
38、GM中的任意一种。这个规范定义了三个操作GETCAPABILITIES操作返回XML格式的服务级元数据,它是对服务信息内容和可接受请求参数的一种描述;GETMAP用来从地图服务器得到一副具有特定的地理位置坐标范围的地图图像,在构造请求时需要设置图层名称、坐标范围、返回图像的高宽和格式等;GETFEATUREINFO是WMS可选的服务,用来提供进一步查询地图上的某些特殊要素的信息的接口8。2223WFS协议WFS向用户提供使用GML编码的地理空间要素数据,并支持在HTTP协议的分布式计算机平台上对地理要素进行查询、插入、更新和删除操作等。这个规范定义了五个操作GETCAPABILITIES返回W
39、FS性能描述文档(用XML描述);DESCRIBEFEATURETYPE向用户提供一个列表,表示WFS服务器能提供的服务的要素类型。列表还定义了请求具体要素实例时的请求格式以及输出时生成要素实例的方法。;GETFEATURE为一个获取要素实例的请求提供服务;TRANSACTION为事务请求提供服务;LOCKFEATURE处理在一个事务期间对一个或多个要素类型实例上锁的请求9。在具体的GIS应用当中,WFS经常用来实现对地图上数据的查询与修改,并经常与系统的领域层中的模型进行交互。2224WCS协议WCS协议是面向空间影像数据的,它将包含地理位置值的地理空间数据作为“覆盖(COVERAGE)”在
40、网上相互交换。WCS规范由三种操作组成GETCAPABILITIES,GETCOVERAGE和DESCRIBECOVERAGETYPE。GETCAPABILITIES操作返回描述服务和数据集的XML文档。WCS中的GETCOVERAGE操作是在GETCAPABILITIES确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。客户端能够指定获取哪些覆盖,以及对空间和非空间的查询进行东北大学本科毕业设计(论文)第2章相关技术简介9约束。DESCRIBECOVERAGETYPE操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述10。在M
41、APBUILDER库文件中,利用WCS进行地理空间数据数据交换。223WEBGIS的开源平台2231GEOSERVER地图服务器GEOSERVER是全面遵循OGC开放标准的J2EE实现,可以方便地发布地图数据,并且允许用户对特征数据进行更新、删除、插入等操作,通过GEOSERVER能够比较容易地在用户之间迅速共享空间地理信息。GEOSERVER支持POSTGIS、ORACLE,MYSQL等数据库数据源以及SHAPEFILE,MAPINFO等格式的文件数据源;能够运行在任何基于J2EE/SERVLET容器上;能够通过WMS将数据采用MAPS/IMAGES方式发布,也可以通过WFS协议直接发布实际
42、数据。GEOSERVER集成了GEOTOOLS工具。GEOTOOLS是一款基于JAVA的开源GIS工具集,允许用户对地理数据进行基本操作。通过GEOTOOLS的各种接口和HELPER类,可以写入新的数据格式,通过GEOTOOLS为GEOSERVER提供的插件,在不进行重新编译的情况下,可以让GEOSERVER支持更多的数据格式,甚至只需要通过GUI的OPTION设置即可。2232POSTGIS数据库管理系统POSTGIS是由REFRACTIONSRESEARCHINC开发的,它是对象关系型数据库系统POSTGRESQL的一个扩展,允许数据库存储处理GIS对象。POSTGIS提供了基于WKT和W
43、KB格式的EWKT和EWKB格式,存储与访问GEOMETRY对象的功能;同时,也提供了丰富的维护、检索和空间运算函数,确保能对矢量格式的空间数据及其属性数据进行有效地组织、索引,并能根据用户需求进行自定义函数的扩充。POSTGIS旨在支持开发POSTGIS以支持重要的GIS功能,包括对OPENGIS的完整支持,高级拓扑的构建,用于显示和编辑GIS数据的左面用户界面工具和基于网络的访问工具。与单纯使用POSTGRESQL相比,开发人员应用POSTGIS更易于实现空间几何对象,POSTGIS主要优点有1在3D扩展下支持OPENGIS的WKT空间数据对象,支持3DZ、3DM、4D坐标表示。2支持SQ
44、L及空间查询处理空间数据对象。3提供大量空间算子进行空间操作,并提供了支持多种标准投影类型的开源投影库(PROJ4)。东北大学本科毕业设计(论文)第2章相关技术简介10POSTGIS支持的GIS对象是OGC定义的“简单要素”的超集11。2233MAPBUILDERMAPBUILDER是一个基于AJAX(ASYNCHRONOUSJAVASCRIPTANDXML)技术的地图处理显示的WEB开源客户端。它支持INTERNETEXPLORER6、MOZILLA13、NETSCAPE6等浏览器。支持WMS和WFST服务。它根据WMS协议实现了地图显示、缩放、移动等操作,并且能够利用WFST协议修改服务器
45、上的地图数据。通过简单的配置,MAPBUILDER中的组件能够轻松的嵌入到网页文件中。在具体实现上采用MVC模式,MVC是MODELVIEWCONTROLLER(模型,视图,控制器)的缩写。这个模式的目的是为了简化应用程式的实现。此模式包括三个独立组件。MODEL表示数据,用户期待看到的数据。VIEW负责展示模型。视图在文本编辑器中可能按照适当格式显示一段文本,在多数情况下,试图在WEB应用中生成HTML,以便客户端浏览器解释浏览。CONTROLLER是一段逻辑,负责处理请求和按照客户请求行动,创建适当的模型,并将其传递到视图以供显示。在MAPBUILDER中分别对应于模式(MODEL)、饰件
46、(WIDGET)、工具(TOOL)三种类型的JAVASCRIPT对象,实现了数据管理、信息表达和交互操作的模块化。MVC模式中的一个重要问题是数据的组织管理,对于MAPBUILDER而言就是数据模型。MAPBUILDER不提供通常的点、线、面等几何对象的封装,整个数据流完全通过XML配置与解析进行管理,其优点是标准化程度高、客户端使用便捷、无需编码。这些数据流包括系统配置、地图配置以及服务器端交互所产生的各种GML数据。其中系统配置文件按照资源描述框架RESOURCEDESCRIPTIONFRAMEWORK,RDF语法以OBJECTPROPERTYVALUE格式定义所需对象,每个对象被赋予一个
47、唯一标识的ID,通过ID在全局域中可直接以CONFIGOBJECTSID来应用指定的对象实例。地图配置文件则按照OGC的WMC(WEBMAPCONTEXT)规范定义地图所需各参数,所有配置文件都将在页面加载时被自动解析,映射成为所定义的对象实例。系统配置自身被映射为模型对象CONFIG,所有模型对象都派生自抽象类MODELBASE,统一调用GET方法获取数据信息,并以SET方法设置、修改模型信息和状态。GML数据仅作为中间交换数据存在,通常需要进行XPATH或XSLT转换处理。MVC模式的另一个重要问题就是消息的传递和相应。MAPBUILDER中由两种消息类型一种是浏览器定义的各类系统消息,如
48、鼠标按下事件等;另一种是自定义消息,如加载模型事件LOADMODEL等。系统消息由派生自TOOLBASE类的工具对象处理,如响应鼠标点击事件。这些工具对象常作为饰件对象的一个属性配置在系统文件。事件对象则通过DIV等标记与网页建立关联来展现模型信息,一东北大学本科毕业设计(论文)第2章相关技术简介11般派生自WIDGETBASE类。WIDGETBASE类与MODELBASE类拥有共同的父类LISTENER,因此饰件对象注册给一个模型对象即可通过调用事件监听器互通自定义信息。模型的修改会影响饰件状态,饰件同样可以将系统事件的影响传递给模型处理12。23AJAX架构AJAX是一种创建交互网页的技术
49、,由ADAPTIVEPATH的咨询顾问JESSEJAMESGARRETT首先提出。它不是单一的技术,而是JAVASCRIPT、CSS、DOM、XMLHTTPREQUEST对象的集合。其中JAVASCRIPT是通用的脚本语言,WEB浏览器中嵌入的JAVASCRIPT解释器允许通过程序与浏览器的很多内建功能进行交互。CSS(层叠样式表)为WEB页面元素提供了一个可重用的可视化样式的定义方法。它提供了简单而强大的方法,以一致的方式定义和使用可视化式样。DOM(文档对象模型)以一组可以使用JAVASCRIPT操作的可编程对象展示出WEB页面的结构。XMLHTTPREQUEST对象允许WEB程序从WEB
50、服务器以后台活动的方式获取数据。在AJAX的使用当中,JAVASCRIPT定义了业务规则和程序流程。应用程序使用XMLHTTPREQUEST对象以后台方式从服务器获得数据。DOM对象根据服务器得到的数据修改客户端WEB页面中的元素值。CSS利用规定好的样式将DOM对象显示到浏览器中13。24SPRING架构SPRING是一个开源的架构,由RODJOHNSON开发并在他的著作EXPERTONEONONEJ2EEDESIGNANDDEVELOPMENT中进行描述。它用来简化企业应用程序的开发,使得程序仅仅利用JAVABEAN就能够完成以前只能由EJB来完成的工作。任何的JAVA应用程序都能从SPR