2023年7月1日发(作者:)
基于WebGIs的旅游地理信息系统的设计与开发李骏 摘要旅游地理信息系统(TOurismGeogaphialIcnofnnationsystem,简称TGIs),是地理信息系统应用于旅游业的产物,是获取、存储、管理、传输、分析和应用旅游地理信息的多媒体信息系统。旅游地理信息系统将人类社会赖以生存的地球空间中的各种空间对象以数字化的形式在计算机中反映出来,它能够有效的管理空间数据、显示地理空间信息、为用户提供准确的信息咨询服务、为管理部门提供决策支持所需的信息。我国现有的旅游景区、景点的信息化建设十分薄弱,通过网上查询我们发现许多景点、景区没有配套的基于W七bGis的旅游信息服务平台。这使得游客无法通过Itnemet迅捷的获得信息咨询服务、景点失去了nIetmet这个全球化的宣传平台、游客和旅游管理部门信息交流也会因为失去了temenIt的支持而变得不畅。因此开发基于WebGIs的旅游地理信息系统具有极其重大的现实意义和市场应用前景。论文着重阐述了h itemet环境下,基于节几bGis的旅游地理信息系统的构造模型、关键开发技术,研究了webGls的相关理论,探索了基于0口clespaiatlgi的空间数据存储和访问,设计了旅游地理信息系统的系统结构并对其软硬件环境进行了配置,最后采用ASP.NET和MaPirXemo2005对系统进行了总体开发。本论文的研究工作分为以下3个部分: 1、系统平台的搭建,此部分在对M阳bG IS的特点、体系结构、构造模型和实现技术的研究基础之上探讨了系统的软硬件环境的构成、服务器端和客户端软件系统的配置,简述了系统开发所使用的技术,包括:AsP.N卫T技术、MapXtremeZoos和oraclespaiatlgi。2、原型系统的设计与开发,在此部分分别从普通游客和旅游管理部门的角度 对系统进行了总体设计,数据库设计,并在总体设计的基础之上完成了原型系统的开发。3、对节几bG IS性能的分析,在此部分对影响V叱bGIs性能的因素进行了分析,并探讨了提高V倪bGIS性能的技术,最后介绍了改进系统性能的方法。基于V阳bGI s的旅游地理信息系统为广大旅游者提供了可视化的旅游地理信息服务,为旅游管理部门制定政策提供了准确的信息。除此之外,在旅游产品的推广、宜传,旅游商务网站的开发、建设等方面基于WebIS的旅游地理信息系G统都是十分优秀的信息发布平台。关键字:GI STGlswebGIs朋P.NETMa眯termeZ加soralcspactialgiDesignandDcveloPmentofTourismGeograPhicalI nformationsystembasedonwebGISLIJunAbs tacrt1burimGesograPhiallcnformatinSysotem(TGIS)isamultimediainfomartinsoystemobtaining,storing,manalgng,tarnsefirng,anaIyzingandaPPlyingtourismgeograPhicalinformation,whichistheoutomeofgceographicalinfomatrionsystemaPPliedtotourism.TGISrefletcsdierfentsPaceobjetcsofgeosPacehumanbeingrelyonincomPuterinthediitgalform.ltcanmana罗sPacedataeeCftivel,ydisPlaythegeograPhicalsPaeinformation,PrviodeusersaccurtaeinformationunsocelingservieacndProvidcmanacmcntdegPanmettnhcneededinformatintoodecisin一omaking.T七econsturtCionofexitsing1nfonnatin一obascdtourbeautysotlpsveryunsbsutantilianourcuntory‘Accordingtothehitcmctlnquiirng,wefindthatmanyeautbysotpsae1rackofmatchingtourisminfomatrinsovire“PltaorfmbasdoenW七bGIS,whihmackestouritssunabletoacquieirnfomatri0ncunsoelingsevir“viatheIntemct.了七cbeatysuotpsloseItenmetasaglbaOlPublidzingPltaonn.Tfheinformatiniontercommuninbc卜o刃en1e0uritssandtourismmanagemenidcPartmentwillalobescomes1ackforto1hack0fInternet,ssuPport.SoitisofgretPraacticalsinigifncaceandmakrteaPPlitiacnProosepct.hiT sPaper,sresearchwerkCnbediavidedintothreePatsarSfo110ws:1 ・Cb”sturtCinoofsyscmPltatofm.IrnthisPatr,wcdiuscssteshoflwaearndhardwareenvionrmcntandthesofiwaesrystmcconfiUrgationofserverandclitanetefrhterescarchofw七bGIS,scharac抚rs,肛chlttuce,srtucrturemodelandimPlmeentnig抚chnolog.SyomctechnollesusgoedinthcsystemdevelPmcnOiP找‘ess峨alobseingdiuscsd,iencludingASP.NFT,MapXtremeZ)saX(ndoracleSPatialgi・ 2.DcsinanddegveloPmentofPmtot卯ingsystem.0叨ealdcsrinagnddatabaesdcsinwgilema由云。mdib日七reianngcsl-一common勿uritasnd10urismmanagemcnidePatrmet.T七cnwnewillfnii劝theProt0typlngsystmdecvcloPmenionthcbaSisofgenera】deigsn.3泊L nalyissofwcbGISsp,eiorfmane.W七叨aclyzethefatCora月贻CtingW七bGIS,5讲而加妙anddiuScs8somelechnlucqs确1比cniamPrvetohcM阳b0IS,5Perorfma似.htheend,we,ll1ntrducch0wtooimProvcsStyemCaPailbti.yTGI Sbasedon叭阳bGlSProvidcvisibletourimgesogrPhiacalinfomatrionservi优tovattsouristsandaccurateinformationtotourism刀lanagemetdePantmernttodecision一making.Bcsides,TGISbasedonW七bGISisaloaversyexcellentPlatofnnfortourismProduCts,户〕pularizati皿,proPagandaandthedevclPmcntaOndcnsoturtcionoftourismcommercewebsite.Ke ywordsGISTGISM几bGISASP.NETMaPXtremeZ加50racleSPatialgi学位论文独创性声明本人声明所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经注明引用的内容外,论文中不包含其他个人己经发表或撰写过的研究成果,也不包含为获得陕西师范大学或其它教育机构的学位或证书而使用过的材料。对本文的研究做出重要贡献的个人和集体,均己在文中作了明确说明并表示谢意。作者签名:清破日期:,・7,丁‘习学位论文使用授权声明本人同意研究生在校攻读学位期间论文工作的知识产权单位属陕西师范大学。本人保证毕业离校后,发表本论文或使用本论文成果时署名单位仍为陕西师范大学。学校有权保留学位论文并向国家主管部门或其它指定机构送交论文的电子版和纸质版;有权将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查阅;有权将学位论文的内容编入有关数据库进行检索:有权将学位论文的标题和摘要汇编出版。作者签名:着被日期:2竺业一军Jl第一章Ll旅游地理信息系统概述绪论LLI旅游地理信息系统的概念特点旅游信息系统( 肠ursm玩允溯aiiotnsysetm)的概念是1979年由美国学者Gunn提出的,他指出旅游信息系统是描述、采集、存储、加工、处理、分析和输出旅游信息的一种决策支持系统,同时旅游信息系统也是一个技术系统,是以旅游信息数据化为基础,采用地理模型分析方法,适时提供多种空间的和动态的旅游信息,为旅游管理者提供决策支持并向社会提供服务的计算机技术系统。地理信息系统( Geo邵aphiclnfomatrionsystem)是一种采集、传输、存储、管理、处理、分析、表达和使用地理空间数据的计算机系统,是分析、处理和挖掘海量地理空间数据的通用技术。地理信息系统由计算机软硬件、地理空间数据、用户等几部分组成,借助其独有的空间分析功能,准确、真实、图文并茂地输出用户感兴趣的信息。从处理对象的角度来看旅游信息系统侧重于对旅游景点的介绍、旅游产品的 推广以及为旅游管理部门提供决策支持,地理信息系统则侧重于对某一区域的地理数据的存储、查询和分析。随着计算机技术的飞速发展以及计算机通信网络基础设施的不断改善,越来越多的人可以通过网络访问旅游信息系统,从用户需求的角度来看,特别是从游客的角度出发,更多的需求是对旅游目的地地理信息的了解,如:建筑物位置查询、路径查询等,而这些都是地理信息系统所侧重研究的。旅游地理信息系统是旅游信息系统与地理信息系统相结合的产物。它是地理 信息系统在旅游业方面的应用,是具有获取、存储、管理、传输、分析和应用旅游地理信息的多媒体信息系统11。旅游地理信息系统具有以下几方面的特点: (1)广泛的用户群体 随着计算机技术和网络通信技术的飞速发展,旅游地理信息系统所面向的用 户群范围也越来越广,不仅包括旅游管理部门的决策者和管理者,还有更多的普通游客。(2)强大的处理复杂数据的能力 旅游地理信息系统所处理的数据包括地理空间数据和属性数据,这些数据具有数据量大、来源广泛、类型复杂等特点,因此旅游地理信息系统必须具备强大的处理复杂数据的能力。(3)图形处理和表达能力 使用传统的统计表格和文档来显示分析统计的结果已经不能满足目前用户的 需求。旅游地理信息系统强调人机的交互,通过地图渲染工具直接将旅游目的地的空间信息以地图的形式显示给用户,更加直观、生动和贴近当前用户的操作需求,因此旅游地理信息系统必须具备强大的图形处理和表达能力. 旅游地理信息系统具有的功能:(1)查询显示功能 这是旅游地理信息系统的基本功能,主要包括:通过可视化的图形、图像以及地图直观的反映旅游地的地理环境、景点分布、道路交通、旅游基础设施等信息;通过属性信息查找相对应的道路信息、景点信息等。(2)辅助决策支持功能 旅游地理信息系统通过对旅游信息的分析、加工、处理可以为旅游管理部门 作出决策提供准确的、可靠的依据:可以为广大的旅游者制定旅游方案提供帮助。(3)旅游管理功能 旅游地理信息系统可以方便旅游管理部门对行业信息进行统计,是良好的旅 游信息、政策发布平台、是监督旅游服务质量接受旅游者投诉的有效渠道。LLZ旅游地理信息系统研究现状近年来国内外对旅游地理信息系统的研究应用,己经积累了较多成果,主要 内容包括:基于WebGIS的网络旅游地理信息系统,旅游多媒体信息咨询系统,应用三维技术的旅游地理信息系统,虚拟旅游地理信息系统,嵌入式旅游地理信息系统,基于openGls的旅游地理信息系统。 (1)基于WebIS的网络旅游地理信息系统GWe bGIs是指工作在Wcb网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Inetmet上地理信息发布、共享和交流协作的基础11。随着计2算机网络技术的不断普及,基于WebGIs的网络旅游地理信息系统已经成为近年来旅游地理信息系统开发的主流。其最大的特点即将旅游地理信息系统的应用推广到无处不在的互联网上,无论是旅游管理部门还是普通游客只需要登录互联网打开浏览器就可以享受到其提供的旅游地理信息服务,无需安装任何客户端软件。基于WebGIs的网络旅游地理信息系统可以帮助旅游管理部门高效管理、准确分析与评价旅游资源:为旅游管理部门制定科学的、合理的旅游资源开发方案和规划提供依据;为旅游管理部门制订旅游营销策略提供依据;为广大游客提供旅游信息咨询服务。目前,国内外许多旅游景点都开发了基于WebGls的网络旅游地理信息系统,如:我国的数字武夷。(2)旅游多媒体信息咨询系统 多媒体技术是一种集声音、图像、影像、文字、通讯等为一体,并以最直观 的方式表达和感知信息,以形象化的、可触摸(触屏)的甚至可声控对话的人机界面操纵信息处理的技术。应用多媒体技术对旅游地理信息系统的系统结构、系统功能及应用模式的设计产生极大的影响,使得旅游地理信息系统的表现形式更丰富,更灵活,更友好。旅游多媒体信息咨询系统将文字、图形(图像)、声音、色彩、动画、影像 等技术融为一体,为旅游地理信息系统应用开拓了新的领域和广阔的前景。它不仅能为社会经济、文化教育、旅游、商业、决策管理和规划等提供生动、直观、高效的信息服务,而且将使计算机技术真正走进人类社会生活。目前在旅游地理信息系统中可以使用多种形式的多媒体数据。比如在Ar cieVw中通过使用hotlink或其它工具,可以把Word文件、Excel电子报表、VCD声像资料、摄影像片、卫星影像等纳入到GIS系统中,用户可以根据需要对这些信息进行查询和管理。(3 )应用三维技术的三维旅游地理信息系统三维旅游地理信息系统的理论和应用近年来受到许多学者的关注。在三维旅 游地理信息系统中,使用三维数据描述地理对象,即所有的对象都通过三维立体坐标(x,Y,2或经纬度与高程)进行表示113。三维旅游地理信息系统突破了传统的二维旅游地理信息系统缺点:基于抽象的符号系统,不能给人以自然界的原本感受ll’。它能够在计算机中真实的再现旅游点的空间环境,给旅游者以身临其境的感受。三维旅游地理信息系统不仅能够反映空间对象在水平方向上的关系还能够反映空间对象之间的垂直关系。目前许多Gls开发软件都支持三维开发功能,如:ESRI的户此viw3DAenalt,支持从ZD到2sy.5D矢量数据的快速转换,提供了对全球多分辨率数据进行三维无缝可视化以及基本的空间查询和表面分析的能力。(4 )应用虚拟现实技术的虚拟旅游地理信息系统虚拟现实是2 0世纪90年代以来兴起的一种利用计算机可视化将现实世界虚拟化的新型信息技术,通过建立网络虚拟空间,使人“进入”多媒体虚拟世界之中,实现人机互动、相互交流的操作及身临其境的感受,使人成为“景中人”,即人境一体化1]5。随着计算机图形技术和人机接口技术的发展,以及虚拟现实技术应用的推广, 将虚拟现实技术引入旅游地理信息系统成为近年来旅游地理信息系统研究的热点。虚拟旅游地理信息系统是建立在多维旅游地理信息系统,特别是三维旅游地理信息系统研究基础之上,它强调用“逼真”的再现旅游景点空间环境。通过虚拟旅游地理信息系统游客可以不受时空限制置身于高度仿真的旅游虚拟环境中,旅游管理部门也可通过虚拟旅游信息系统不断对景区的设计和规划方案进行模拟,从而进一步改进、完善旅游方案的设计与开发。(5 )嵌入式旅游地理信息系统嵌入式Gi s是运行在嵌入式设备(如掌上电脑、PDA、智能手机等)上的,它与台式Pc机不同,嵌入式Gls基础内核要小,功能适用,文件存储量要小1刀。嵌入式GIS目前已被广发应用于汽车导航、路径分析等方面,用户可以随时随处通过手中的移动终端设备轻松访问GIS并获得服务。近年来,随着无线通信技术的快速发展以及手机、PDA等无线通信设备的普 及,加之人们对空间数据的需求也日益增大,把旅游地理信息系统与嵌入式技术融合在一起,形成一个嵌入式的移动旅游地理空间集成平台,是当前旅游地理信息系统研究的一个重要发展趋势。 ()基于ope6nGIs的旅游地理信息系统开放式地理信息系统(ope lIsG)是由OpenGIs协会(oGC)制定的一个关于对地理数据和地理处理资源进行分布式访问的软件框架规范,它为所有的软件开发者提供了一个详细的公共准则,以使开发的软件能够达到对地理数据和地理处理资源进行互操作的目的115。Opc nGIs是指在计算机和通信环境下,根据行业标准和接口(加efrace)所建立起来的地理信息系统。它不仅使数据能在应用系统内流动,还能在系统间流动。 目前这种多用户、跨平台的openGIs技术正在被国外的许多研究机构、政府部门和高等院校所研究和开发利用。。伴nGIs在旅游地理信息系统中的应用可以使得不同的旅游景点之间实现不同格式数据与功能共享,有利于网络C巧及分布式GIS空间数据库的建立,使旅游地理信息系统的应用领域及其功能得到大大拓宽。IJ基于W七bGIS的旅游地理信息系统的研究背景及意义IJ.1研究背景我国是有着悠久历史的文明古国,拥有十分丰富的旅游资源,而旅游信息化 的发展程度十分滞后。以西安市为例,作为全国的重点旅游城市,至今还没有一个较为完善的基于W七b的旅游地理信息系统,旅游项目缺乏宣传平台,游客缺乏良好的信息查询平台,旅游管理部门与游客之间缺乏有效的沟通渠道,各景点间缺乏数据和信息的共享,有些著名景点虽然有自己的旅游网站但是仅仅是文字和图片的罗列。根据以上这些实际问题,作者希望设计出一个具有良好通用性和操作性的基于W七bGIS的旅游地理信息系统。LZJ研究内容及方法作者以西安市旅游资源为开发对象,以旅游管理部门和游客为用户,利用服 务器端应用程序和ASP.NET技术对西安市旅游地理信息系统进行开发。开发平台选择Mapnlo公司的Mafpxterme和微软公司的visaulsutdi.NE120o05,选定、分析、补充完善西安市1:5万路网电子地图数据,采用orclacsPaal设计存贮电子地图it数据。本系统除具有传统的属性数据的查询、分析、发布等功能外,着重强调在w七b上实现空间信息的查询、浏览、分析等功能以及数据的分布式管理,具有很好的通用性和实用价值。LZJ研究意义W七 bGIS使得用户可以通过玩妞met上的任何一个节点访问W七bGIS服务器提供的各种GIS服务,而且客户端不用安装昂贵的GIS软件,伴随着网络的飞速发展V几bGIs可以给越来越多的非专业人士提供Gls服务。而因为W七bGIS的跨平台、低成本、良好的扩展性等诸多优点使得节龙bGis的应用范围不断扩大,在科研机构、政府、企事业单位等部门,在教育、旅游、科研、军事等领域都被广泛使用。随着用户数量、种类,提供的服务的种类、要求的不断扩大和提高,开发高性能的WebGIs有着十分重要的现实意义.开发基于we祷1 5的旅游地理信息系统,可以借助Intmcet的覆盖全球的优势,为广大旅游者提供可视化的旅游地理信息服务,为旅游管理部门指定政策提供准确的信息,除此之外,在旅游产品的推广、宣传,旅游商务网站的开发、建设等方面基于WebGIS的旅游地理信息系统都是十分优秀的平台,因此开发基于WebGIs的旅游地理信息系统具有极其重大的现实意义和市场应用前景。第二章WebGIS概述随着I ntemct技术的不断发展,基于Internet技术的WebGIS就应运而生T。webGis是以现有的Intemet八ntaret为架构基础的网络互操作应用系统,它可利用nihetmet在web上发布空间数据,为用户提供空间数据浏览、查询和分析的功能。一方面,webGIS可为公众提供交通、旅游、餐饮、娱乐、房地产、购物等与空间信息有关的在线信息服务:另一方面,webGIS可为基于Intaret的企业内部业务n管理提供服务,如帮助企业进行设备管理、线路管理以及安全监控管理,等等。WebGls的广泛应用,使得它已经成为目前国际GIS发展的必然趋势。通过WebGIS,人们可以方便地从WWw的任意一个节点浏览或获取Web上的各种分布式地理空间数据以及进行各种在线的地理空间分析。2.1什么是WebGIS2.1.1、V七bGIS的概念 网络地理信息系统(WebGIs)是在网络环境下的一种存储、处理和分析地理信息的计算机系统,是Itement技术应用于GIS开发的产物,通过加emct和w节门那Gls的功能得以扩展和完善[l9。WebGl s具有统一的客户端应用程序,在Inetmct平台中,WebGIs将支持HITP协议的W七b浏览器作为统一的客户端。we bGIs在结构上采用分布式模型,通过w、vw机制来进行信息处理,实现客户端和服务器端的数据连接和交互操作。 bo通俗的说,WelS就是工作在Itement上的地理信息系统,是地理信息系统的延伸和发展,WcbGIS具有传统GIS的特点,可以实现空间数据的检索、查询、编辑等基本Gis功能,同时也是玩lemct上地理信息发布、共享和交流协作的基础。2.IJW七bGIS的特点(1)大众化 由于Inetmet的迅速发展,M陀b服务正以几何级的速度进入千家万户,W七bGIs作为Inlem以平台上的GIS,给更多用户提供了使用Gls的机会。仅仅通过W七b浏览器用户就可以方便使用W七bGIS提供的各种服务。这样不仅大大降低了客户端用户的经济和技术负担,同时在很大程度上扩大了Gis的用户范围。(2)全球化 全球范围内任意一个W、VW节点的I netmet用户都可以访问WebGIs服务器提供的各种Gls服务,甚至还可以进行全球范围内的015数据更新。3)可扩展性( nI etmet作为一种开放的、非专用的技术标准为W七bGIs进一步扩展提供了极大的空间,并为M几bGIS与其他信息服务进行无缝集成提供了最好的平台,从而使认乞bGIs的功能更丰富。(4)操作简单化 通过节儿b浏览器访问V左bGls,使得用户操作W七bGls十分简单。(5)跨平台性 客户端访问W ebGls不受制于客户端计算机的操作系统类型,只要能够访问Itnemet,用户就可以通过W七b浏览器访问W七bGIS。服务器端在使用了Ja va技术开发W七bGIS后可不受计算机的操作系统类型的限制,真正实现跨平台.(6)分布式的服务体系结构 Wc bGIS利用Inetmet把GIS数据和分析工具部署在网络中不同的计算机上。Gls数据和分析工具是独立的组件和模块,用户可以随意从网络任何地方访问这些数据和应用程序,而不需要在自己的本地计算机上安装Gls数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户。(7)动态性 Gls数据和分析工具是独立的组件和模块,从飞bGls利用htmcet的这种分布式系统把GIS数据和分析工具部署在网络不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,即不需要在本地计算机上安装Gls数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户。由于WeGIbs是分布式系统,数据库和应用程序部署在网络的不同计算机上,随时可被管理员更新,对于Iinerntc上的每个用户来说都将得到最新可用的数据和应用,即只要数据源发生变化,W七bGIs将得到更新。(8)平衡高效的计算负载 V而bGI s能充分利用网络资源,将基础性、全局性的处理交由服务器执行,而对数据量较小的简单操作则由客户端直接完成。这种计算模式能灵活在服务器端和客户端之间合理分配处理任务,从而提高网络计算资源的利用效率并且平衡服务器端和客户端的计算负载。2,IJ朋海bGIS与传统GIS的比较V怨bGI s与传统Gls的比较如表2一1所示表2,1:W七bGls与传统GIS的比较传统的Gis过专业培训的专业用户用户范围W七bGIS用户范围有限,仅限于受由于操作简单而且仅仅通过W七b浏览器就可以访问W七bGIS,因此W七bGIS用户范围十分广泛,遍及Iinemd所覆盖的任何地方。b浏览器就可以访问和有专门的客户端软件,用使用W七客户端要求户要访问Gls必须通过客使用V左bGls户端软件受制于用户计算机的操作不受制于用户计算机的操作系b浏览器系统类型,由于访问GIS统类型,只要支持W七平台独立性必须使用专门的客户端软就可以访问W七bGls件,因此针对不同得操作系统必须开发不同的客户端软件操作难易程度通过复杂的客户端软件操通过通用的V几b浏览器操作,作,难度较大差难度较低好数据共享程度bGIs能够充分利用网络资大都使用文件服务器结构W七的处理方式,其处理能力源,将复杂的处理交给服务器对客户端的依赖很强,数执行,对于简单的操作则交给系统平衡负载能力据处理效率较低客户端直接完成。这种在服务器端和客户端之间合理分配处理任务的计算模式大大提高了系统的工作效率.21.4V阮bGIS应用领域V叱卜Gl s是在继承了传统Gls功能的基础之上对Gis的革新,它在应用范围、使用对象、数据共享程度、数据更新速度等方面大大超越了传统GIS。伴随着加emct技术的发展和普及WebGIs的应用领域不断扩大,已经突破了传统Gls的应用领域。目前节几bGIS的应用领域非常广泛,可以应用于农业、林业、水利、地矿、交通、通讯、新闻媒体、城市建设,教育、资源(土地、森林、水、矿物、海洋等)、环境、人口、海洋以及军事等几十个领域。招屁的体系结构WebGIS是Intmaet技术应用于Gls开发的产物。由于Itenmet技术的飞速发目前Iinemet已经成为全球最为高效的信息发布平台,并且Iinemd为信息的开放和共享提供了切实可行的技术。因此,利用Intemet技术在Web上发布空间信息,就能从WWW的任意一个节点浏览WebGls站点中的空间信息,并进行各种信息检索和处理。与传统的GIS软件相比,WebGIS在体系结构上有了根本的转变。主要有以下几部分:(1)基于I ntemet/Intneart平台,采用了TCP/IP作为通信协议,极大的扩展了空间信息共享范围。 (2)在客户端采用了HTTP协议,客户端只需要安装通用的Wcb浏览器即可,不必再安装专门的GIS应用软件,大大增强了Gls的开放性。3)可以根据网络带宽、计算机性能等一系列资源状况,将Gi( s应用按照功能分布到不同的节点上,如分布到多台服务器上或是将一部分简单应用分布到客户机上,复杂的应用仍交给服务器执行,这样可以大大提高GIS系统的性能。 (4)空间数据的分布性。空间数据可以根据其本身具备的空间特征存储在最适宜的位置上,从而大大简化了对空间数据的管理。.2.2IM傀bGIS的组成结构从系统构成的角度来看w比Gi s由:wcb浏览器、web服务器、MaP服务器、Gis服务器、空间数据库构成。(l )Web浏览器是用户和webGIs的交互接口,用来显示地图和实现客户端的在线查询和分析功能; (2)web服务器响应来自web浏览器的请求,将客户端的请求发送给MaP服务器,并从MaP服务器得到请求结果发还给浏览器:( )M叩服务器是we3bGis的核心,它负责将web服务器转发过来的用户请求分配给相应的GIS服务器或空间数据库,并能够实现网络的负载平衡;4)Gi( s服务器是WebGIS的底层GIS软件,它提供了空间数据的存取、查询、分析、处理等功能;5)空间数据库是用来存储和管理空间数据。( We bGIs的组成结构如图2一1所示GIS 服务器二二了二)空间数据库 图2一 lwebGIS组成结构图2:2W七bGIS的结构模式根据We bGIs服务器和客户端的关系以及数据的传送形式,可以将WebGIS的结构模式分为三种:服务器模式、客户端模式和客户端/服务器模式1‘10。(1)服务器模式指客户端向服务器发出请求,请求处理在服务器端进行,处 理结果以图像的形式返回给客户端。客户端没有处理数据的能力,仅用于组织和发送请求、显示服务器的处理结果。这种模式通过高性能的服务器,可以让用户获得一些在客户端难以实现的对空间数据的处理能力,该模式可以有效的控制用户对数据的访问,保证数据安全。该结构模式的主要缺点是: ①受服务器性能影响大,由于所有的处理均在服务器上完成,因此服务器性 能的高低直接影响系统的性能;②当大量用户同时访问服务器时,服务器性能会降低,造成网络拥塞; ③客户端的所有请求和服务器端对请求的处理结果都要经过网络传送到服务器端,网络传输负担重:④客户端只用来发出请求和接收处理结果,无法发挥客户端计算机的作用。 2( )客户端模式指客户端向服务器发出请求,服务器返回给客户端的是矢量地图,由客户端负责对矢量空间数据进行分析与处理。这种模式可以充分发挥客户端计算机的作用,用户对数据的分析过程可以自由控制。该模式的主要缺点是: (D对客户机的性能要求较高,如果客户机性能较差可能会影响数据的处理;②由于一次性下载所有的数据和应用程序,因此对网络性能要求较高; ③需要在客户机安装G IS图形数据插件。(3 )客户端用及务器模式:数据量较大并且操作频率不高的任务和复杂的Gls分析由服务器端执行,数据量较小并且需要频繁操作的任务和涉及用户控制的任务则由客户端执行,由此更好的发挥服务器和客户端的性能,该模式汲取了前两种模式的优点,是W七bGls结构模式的发展方向。ZJW比GIS的实现技术和构造模型2盘1胡触bGIS的主要实现技术(1)CGI( 助mm皿Gatwaylentea“)frCGl (通用网关接口)是一段运行在服务器上的程序,用来提供同客户端HTML页面的接口,W比页面和M几b服务器中的执行程序通过CGI连接起来,它将HTML接收到的用户指令传递给服务器,再把服务器执行的结果返还给HTML页;用CGI可以实现处理表格,数据库查询,发送电子邮件等许多操作。CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。使用CGI方法实现的WcbGIS是利用外部CGI程序通过环境变量、命令行参数、标准输入输出与Web服务器和Gls数据库服务器进行通信,并传递有关参数和ls处理结果1G11。这种方法的缺点是,对于每一个客户端的请求,都需要启动一个新的服务进程,当多个用户同时发出请求时,服务器的负担就会很大,从而影响系统性能。同时由于所有操作都要在服务器上执行,因此诸如地图缩放、漫游、选择等操作必须传递到服务器进行处理,生成新的栅格图再传递到客户端显示,这样在加重了服务器的负担的同时也增加了对网络带宽的占用。(2)Ser verAPISc verrAPI(服务器应用程序接口)是对CGI的扩充,基本原理与CGI相同。不同之处在于CGI程序是单独可以运行的程序,而servrAPI往往依附于特定的eeb服务器,如Miwcrosonls好1依附于115(Intemetlnofmartionsever)r,只能在inWdows平台上运行,其可移植性较差。但是scrvrAPI启动后会一直处于运行e状态,其速度较COI快1]。由于s21ervrAePI依附于特定的,触b服务器,因此其可移植性较差。 (3)Plug-inlP ug-n(插件)指为一个较大的软件增加特殊功能的小段程序。如b忱meitxPElcProlg一uni、PhotoshoPPlusin等,许多大型软件通常有多个P-lu-gni,由用户根据自己的需要选择安装。Gi sPlg一un是扩充weib浏览器功能的可执行Gls软件。OISPlug-n的主要作i用是使Web浏览器支持处理无缝GIS数据,并为Web浏览器与Gis数据之间的通讯提供条件。lsPGlugin直接处理来自服务器的G-ls矢量数据。同时,lsPolug-恤可以生成自己的数据,以供web浏览器或其它Plg一uni显示使用11015利用Col或者S erverA夕1,虽然增强了系统的交互性,但是提供给用客户端的功能十分有限,用户不能操作单个空间实体诸如地图缩放、漫游、选择等操作,因为在客户端,整个地图是一个实体,任何GIS操作,如放大、缩小、漫游等都需要由服务器来完成并将结果返回。Plu-gn很好的解决了这个问题。对w比Gils而言,Gls插件不但可以增加客户端处理空间数据的能力降低服务器的压力,而且插件处理和传输的是矢量格式空间数据,其数据量小,网络也只需将Gls数据一次性传输,这样就降低了传输GIS数据时对网络带宽的占用,提高了WebGIS的性能从而使服务器更高效地为多个的用户服务。 GlsPlug一n的不足之处在于:i①P lg一un程序对于大型Gils数据的处理能力有限;②与平台相关,对于不同的操作系统、w比浏览器需要有不同的Gi sPlg一uni支持;③与GI S数据相关,对于不同类型的Gis数据需要有不同的GlsPlug一n支持;i④用户如果想使用,必须下载安装Pl ug一n程序,如果用户需要处理多种类型i的Gis数据就必须安装多个Plg一un程序,使得维护和管理这些Plig一un程序相对i复杂;⑤P lg一un程序本身存在版本升级问题。i(4)Act lveX控件Ac tviex是Miosrcofi提出的一组使用cOM(Componctobnje以Modcl,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Intenrt应用开发的技术,Adievex被广泛应用于WEB服务器以及客户端的各个方面。同时,ActvieX技术也被用于方便地创建普通的桌面应用程序。Adicx可将一个巨大的WevbGIS软件系统分解成相对独立的组件,通过组件开发技术和OLE等实现WcbGIs。由于ACtieX控件可以用多种语言实现,这样v就可以复用原有Gls软件的源代码,提高了软件开发效率1114. 与Plu兮in相似ACtiex也是用来扩展wveb浏览器的动态模块,但是Actvixe能被支持OLE标准的任何程序语言或应用系统所使用。早期A口iveX只能在Windows平台下运行,随着.NETFramework的出现这个问题得以解决,基于.NETRamcwork的ActlveX控件能够在网上自由地进行各种操作。ActviX将会成为主e流的WebGis实现技术。( 5)】avaAPPlet Java是一种具有简单、面向对象、分布式、解释性、健壮、安全、体系结构中立、可移植、高性能、多线程和动态等各种特性的语言,任何系统平台只要支持Java虚拟机就可以解释执行Jva程序,因而在互联网上得到了广泛的应用。aJaavA刚et(小应用程序),嵌入在HTML文件中,在网络浏览器下载该HTML文件时,Java程序的执行代码也同时被下载到用户端的机器上,由浏览器解释执行。 基于JavaApplct模式的Webols的实现中,oISJvaAaPplet嵌入在HTML文件中在网络浏览器下载该HTML文件时,Jva程序的执行代码也同时被下载到用a户端的机器上,由浏览器解释执行15101 IOSJaaAppvlt具有以下优点:e①体系结构中立,与平台和操作系统无关。在支持J va虚拟机的Weab浏览器上均可运行。 ②由于GlsjvaApplat保存在服务器上当客户端请求相应的服务时才从weeb服务器动态下载,所以当服务器端的GISJavaApPlt更新后,客户端总是可以获e得最新的版本。 ③由于当客户端请求服务后,服务器将相应的Gis数据和Jva柳plat一次性e的发送到客户端对Gls数据的处理和分析都是在客户端完成,因此采用JavaApplet可以大大降低服务器的负担和网络带宽的占用。 由于对Gls数据的处理和分析都是由JvaApplaet在客户端完成,受客户端硬件条件和JvaApplad本身的处理能力限制,JaaApplvt处理大型的Gels数据的能力较弱。(6)Scr vUII/允om方法 与JvaApplad运行在客户端不同Jvaseavlrt是运行于服务器端的小程序.eJavaservt不受AelPplt的安全限制,可发挥Jaeva的全部特性。许多Applt无法e或不适宜完成的任务,如复杂的空间关系和一些空间分析运算,Scvlrt在服务器c端都可以轻易完成11司。在Se y抽中,每个请求由一个Jrv线程处理,当多个用户并发的请求一个aersvt时,处理请求的是在同一个进程中的多个Jaelva线程。当请求的任务结束时,erslevt会自动放弃用户对相应线程的使用权,因此相比同样运行于服务器端的CGI程序来说,Jvasaervt处理GelIS数据更加高效,更加节省服务器资源。除此之外,Javaservt还具有可跨平台使用,可与weelb浏览器直接交互等优点。DCOM(分布式组件对象模型)是一系列微软的概念和程序接口,利用这些 接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。基于D CoM的分布式webois的最大技术优势在于对象池(o衍ctpcool)技术和负载平衡技术,可极大提高webGIs对多用户的处理能力和分布式计算效率11飞基于DCOM的we bIS通常可将GGIS任务分解为:表示逻辑、业务逻辑和数据逻辑三个逻辑层次:表示逻辑负责与用户交互和调用业务逻辑层的COM+组件来响应用户的请求;业务逻辑负责处理表示逻辑层的请求;数据逻辑层用来提供GIS数据。基于DCOM的We bGIS,具有以下特点:①数据交换由We b服务器完成,对用户而言,所有信息均来自Wcb服务器,所有通信都基于HITP协议,有利于实现分布、开放的Gls系统;②几乎所有的软件均可由c0M组件实现,提高了软件重用度,简化了开发过 程;③支持DCOM的开发工具较多; ④避免了客户端软件的安装和配置,充分发挥了WWW的简单、方便等优点;⑤直接采用本机代码,系统运行效率高。 (7 )JZEE/.NEI,方法JZEE是Su n公司发布的分布式计算平台,它采用多层应用体系结构,用组件的方法来设计、开发、装配及部署企业应用,其主要技术目标是为企业应用系统提供一个具有高度的可移植性、兼容性和安全性的平台ljsl。基于J ZEE模式的WcbGls的实现中,JZEE平台为WebGls提供了多层分布式应用逻辑,这些应用逻辑按功能划分为不同组件,各组件按其所在层分布在不同机器上。由于JZEE将WebGls从不同的层面划分为更多的层,因此在每一个复杂WebGIS操作中都可以为不同的服务提供一个独立的层。这样复杂的Gls操作就可以分解到分布在不同计算机上的组件来完成,充分利用了网络中的资源,从而大大提高WebGis的性能。. NEI,是微软公司(Miosrcof)Zotol年推出的基于分布式体系结构的软件平台,是一种融合信息、终端设备、分布的应用程序以及人力资源等到Itenmet大环境中的技术,由创建和操作新一代服务的NET基础结构和工具、微软和其它组织开发的一套核心XML网络服务、新一代智能互联网.NET设备软件、微软服务器架构等四个基本元素构成。作为一项革命性的技术,.NET包括分布式计算、XML、组件技术、即时编译技术等众多新技术和新理念。2加2年4月微软推出了基于.N主T技术的webGls产品MaPoiPt.NET,这意味着.nNET和webGIS的结合己成为现实可能,.NET将成为建立高效、安全、跨平台的WebGIS的一种新选择。ZJJM傀bGIS的主要构造模型WebGI s的主要构造模型从层次结构上可划分为:传统的客户端服务器(口5)二层结构、浏览器服务器(BZS)三层结构、基于中间件的B/S多层结构;从操作模式上可划分为封闭式操作模型和开发的互操作模型。(1 )传统的客户端服务器(CS)二层结构 IS结构体系主要采取客户端、服务器组成的二层结构体系。其特传统的V几bG点是:客户端查询工具由专门开发的GIS软件和浏览器构成;应用服务器和数据库服务器集中在一起。在传统的二层结构模型下对于W七bGIS客户端需要开发专门的软件,开发成本较高,通用性较差,用户使用之前需要进行培训;服务器端由于应用服务器和数据库服务器集中在一起,既承担数据的存储、管理又要对数据进行计算、统计、分析,这显然使得服务器的负载非常繁重,当大量用户并发访问V左bGIs时,有可能造成系统的崩溃。因此曰5模型无法保证大量用户稳定的使用W七bGls。客户端服务器(C/5)二层结构如图2一所示。图2 -2客户端服务器(05)二层结构图2)浏览器服务器(B/( s)三层结构现在流行的w ebGIs主要采用侧5模式11外.此模型是由数据库、应用服务器和客户端组成的三层结构体系。在此模型下在服务器端数据库服务器和Gis应用服务器被区分开来,客户端采用通用的W七b浏览器作为客户端工具。相对于传统的两层结构,客户端使用了通用的浏览器具有操作简便、支持多种操作系统、开发成本底等优势;服务器端由于将数据库服务器和应用服务器分开使得服务器的负载大大降低。在三层结构模型下用户通过客户端W七b浏览器向应用服务器发出请求,应用服务器接收到请求后从数据库服务器中取出数据,应用服务器根据用户的请求或将数据直接在服务器端处理,将处理的结果发送到客户端;或者直接将数据发送到客户端有客户端进行处理。按照浏览器和服务器端功能的多少,浏览器服务器三层结构模型可以划分为胖客户器/瘦服务器和瘦客户器/胖服务器两种。前一种体系结构由客户端实现015的绝大多数功能,只有少量的Gis功能在服务器实现,所以又被称为瘦服务器/胖客户端模式。后一种体系结构由服务器完成Gls的大部分功能,客户端仅充当对用户友好的接口,服务器端的负载较重,所以被称为胖服务器渡客户端模式1期。浏览器服务器(B/5)三层结构如图习所不.图2一 3浏览器服务器(B/5)三层结构图 (3)基于中间件的B/S多层结构中间件是一种二进制标准,即EXE和DL L程序标准。它使得其它的应用程序能够操纵、共享和访问由ExE或DLL中间件所提供的方法和数据11。Gl]=s中间件是一种可重用软件块,通过向用户提供预先定义的接口,来封装各种功能明确的GIS服务,使得用户无须从底层的基本功能做起,而以一种强大和灵活的开发手段来使中间件无缝地协同工作在自己的应用程序中1j。传统的Bs模式下,z2W七bGIs应用主要是建立在分布式数据库基础上,对于Gfs的应用则集中在一台服务器上,中间件技术的出现可以将GIS应用服务器中的各种Gis处理程序分布于网络上的多台服务器上,从而增强节几bGis服务器端的处理能力和速度。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,支持应用软件开发和运行的系统软件,使应用软件相对独立于计算机硬件和操作系统平台,为大型分布式应用搭起了一个标准的平台,以实现大型应用软件系统的集成。中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。基于中间件的到5多层结构如图2一4所示。图2一基于中间件的BZ S多层结构目前分布式计算的主要的中间件技术有CORBA,DCOM和E JB等。其中,oBRcA是由oMG(0坷etMacnaegm叨tGtoup)提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,支持异构分布应用程序间的互操作和独立于平台编程语言的对象重用。CORBA支持多操作系统平台,不仅包括Windows系列平台,还能支持Unux、U币x等,几乎包括所有的操作系统。DCOM及COM+模型是由Miosrcoft公司在COM组件基础上提出的高级COM技术。DCOM的实现基本用于微软操作系统Windows系列,并且DCOM仅仅对于C++支持较好,不象CORBA能够支持多种编程语言,这使得DCOM的代码可重用性和应用可扩展性较CORBA大大降低。但是由于Windows操作系统的普及对于中多的windws程序开发人员而言,Dc0M程序开发相对简单。EoJB(ntEe印riseJvaBea即)是JZEE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。它是基于Java服务器端的组件模型,提供了远程访问、安全、交易、持久和生命期管理等多种支持分布对象计算的服务。从发展趋势来看,Jva技术和aCORBA技术正在逐渐融合1)。324)叭几bGI( s的互操作模型根据正EE的定义,互操作性是指两个或多个系统相互使用已被交换的信息的 能力。就其本质而言,互操作性是对异质实体(包括异种体系结构、异种操作系统、异种网络和异种语言等)中可获得资源的透明调用的能力。 WebGls技术的飞速发展带来了WcboIS在各行各业的广泛应用,就单个的WebGIS系统而言都是为某一种特定的GIS数据及其应用而设计,由于V龙bGIS系统对空间数据库中数据处理技术的封闭性导致不同的V儿bGIS系统彼此无法共享数据和处理过程即不同的W七bGis系统之间无法实现互操作,所以用户很难在使用一个W七bGIs系统的同时去访问另外的W七bGIS系统中的数据。为了解决节几bGIs之间的互操作问题,美国oG侧openGIs协会,OP切Gisconsoitrum)提出了OPenGcodaalttenroperiotansp‘nctia一开放的地理数据互操作规范即oPenls。GPeOnGls的目标是:使得应用系统开发者可以在单一的环境和单一的工作流中,使用分布于网上的任何地理数据和地理处理。基于OpcnIS的空间数据互操作G(tcnIorePbiartyolfsPaitlDaata)是指通过规范接口自由处理所有类型空间数据的能力和在Gls软件平台通过网络透明处理空间数据的能力1]。互操作同时集成了42数据和数据处理过程,可以实现不同系统、不同环境之间的数据共享和操作。基于0声nGls的webGIs系统至少应具备以下四个特征 ①互操作性:用户可以在不同的节陀bGIs系统之间访问异构空间数据、针对空间数据的操作也可以在不同的场儿bGls系统之间相互调用;②可扩展性:要求尽可能利用己有空间数据设施,不做或少做改动;并且能 够兼容以后新出现的GIS系统所生产的空间数据。③分布式特征:包括数据分布和应用分布。 ④良好的交互性:作为用户对万维网空间数据应用的需求,应当允许合法用户对已有的空间数据进行更新和删节。.24WebGIS的应用前景与发展趋势.2.4IW七bGIS的应用前景计算机网络技术以及地理空间信息科学的快速发展极大的促进了W ebGIS的发展,计算机硬件性能的不断提高、网络速度的不断提升、高效的空间分析算法的实现以及海量数据存储、管理、索引的实现,这些都极大的推动了GIS应用项网络化方向快速发展。目前,人们对信息需求的不断扩大和利用程度的不断加深,新技术层出不穷并不断应用于实践,这些都为W七bGIS的应用提供了广泛的前景。(1)W七 bGIs自身与各种先进计算机技术相结合,例如虚拟现实技术、多媒体技术等,这将极大地扩展WebGIS的应用和发展空间。(2 )结合手机、手提电脑、GPS、PDA等移动终端的移动Gis技术的研发与应用,使得W七bGIS直接深入到人们的日常工作与生活中,为人们的生活提供更加丰富多彩的服务。(3 )在当今信息化的社会中,W七bGIS将为电子商务、电子政务等各个领域的信息化建设提供良好的平台和强大的支持。4)随着V陀bs( ervie的兴起,一系列的服务、通信标准的制定,在互联网c上实现Gls的互操作已成为可能。.2.42W七bGIS的发展趋势v傀bG IS新的发展趋势是GIS技术和恤emct技术新的发展方向的体现,随着计算机技术的发展和人们需求的日益增加更多的新技术将会被应用于webGis中。 (1)基于Websey溉的WerbGIs系统模式V阳bse vire是Icntmcet分布式计算环境中提供基础功能的编程模块(网络组件),M几bscrvie具有的开放通讯标准和强调互操作的特点已经使其成为异构系统c集成的平台和主要手段1周。由于webscvir“是在代码级上工作的,能够被其它软件调用,并与其它软件交换数据,最终形成一个能与用户交互的应用系统,因此基于Webscvire的webGIcS系统有望在更高层次上解决在大范围内webGIS数据集成和共享这一webGIS难题。2)开放的We( bGIs系统模式W七bGI s的发展现状及用户对V阳bGIS的要求,越来越表明V倪bGIS要想有广泛的发展和应用必须走开放的道路。开放是信息交流的趋势,传统GIS的体系结构是封闭的,而W七b的本质特征就是其开放性,因此W七bGls的体系结构应该具备开放、互操作、可升级、可扩展性。它囊括了网络、通信、面向对象、数据库、分布式计算等众多技术,并随着这些技术的进步而改变。开放的w七bGls的首先应该包括数据的开放,即分布在异构数据库中的信息能共享,GML的出现己经提供了一个很好的解决方案,GML(GcogrPayMahruplk明guae)即地理标记语言,g是由OGC于1999年提出的一种用于地理信息,包括地理要素的空间与非空间特性信息的建模、传输的XML规范。另外,还应该包括数据访问的开放,即不同的地理信息系统软件之间具有良好的互操作性。 (3)基于网格计算的Webols系统模式网格可以称之为第三代因特网应用,网格是把整个互联网整合成一台巨大的 超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。网格计算是分布式运算的一种方法,不仅包括位置,而且还涵盖组织、硬件和软件,以提供无限的能力,使连接到网格的每个人都可以进行合作和访问信息。基于网格计算的GIS平台,能够分布式、协作和智能化处理信息。网格计算己成为人们研究的热点,随着应用的深入,网络计算必将会运用到Gls中并和计算资源、空间地理数据和通信等集成,构成一个较完整的空间信息服务系统1咧。4)移动通信技术扩展Gi( s应用随着计算机通讯技术的发展, 无线应用协议wA尸(wi代lessApplciiotanprolo(01)的完善与推广,移动通信技术将使WebGIs的应用将得到进一步延伸。未来的Gls用户可以通过手机、PDA、手提电脑等无线终端随时方便地双向互动地获取btmcet通过无线网络提供的地理信息服务。‘第三章系统平台构建11硬拌结构框架本系统采用浏览器/ 服务器(B/5,Browser/ersver)三层构造模型。B/s构造模型是随着Inetrnet技术的兴起,对CIS构造模型的一种改进。在B/S三层构造模型下,整个WebGIs由Gis数据库服务器、Web应用程序服务器和客户端浏览器三部分组成。它对数据库与GIS应用程序进行分开管理,提高了整个WebGis应用系统的灵活性和可扩充性。在基于B /S构造模型的WebGIs系统中,客户端通过HTTP协议向WebGIs服务器发送空间数据请求,服务器在接收到请求后根据用户的要求,从数据库服务器发出请求提取数据,然后进行操作最后将处理的结果返回给客户端并在客户端浏览器中显示。采用B /S构造模型的优势在于,首先,它简化了客户端。无需再像C/5构造模型那样在不同的客户端要安装不同的客户应用程序,而只需要安装通用的浏览器软件。这样不但可以节省客户端的硬盘空间与内存,而且用户使用的过程更加简单、网络结构更加灵活。其次,BIS构造模型简化了系统的开发和维护。开发人员无须再为不同类型、级别的用户设计开发不同的客户应用程序,只需将所有的功能都在从七b服务器上实现,并就不同的功能为各个级别的用户设置权限即可。每个客户都是通过HTTp请求在其权限范围内调用web服务器上的不同处理程序,从而完成各项功能。最后,B/S构造模型简化了用户操作,对于C/S构造模型,由于客户端应用程序有自己特定的规格,因此使用之前用户都要接受专门的培训。而BIS构造模型中客户端仅仅是通用的W七b浏览器,因此用户可以直接使用无须参加培训。由于B/S构造模型的诸多优点以及Gis技术的成熟性,采用到5构造模型开发W七比15己成为目前节把bGIs开发的主流方向。本系统基于别5构造模型的结构如图3-1所示。图3一1本系统基于到5构造模型的结构图本系统h a,/ebGls服务器采用pcntium4cpU3.GHOZ、512M内存、12oG硬盘,操作系统采用WindowsXPProfessionSPZ并安装115,版本5.1。本系统的数据库服务器采用pe ntium4cpU300Hz、slZM内存、12叨硬盘,操作系统采用windowsscrvcrZoo3企业版SPI并安装115,版本5.1。3J软件环境构建32.1客户端作为访问W七 bGls系统的客户端计算机,不需安装任何软件,只需要有能够访问Iinemet的通用浏览器即可。对客户机的操作系统W七bGIS的要求也较低只需要具有图形用户界面并且能够运通用W七b浏览器。12.2服务器端(D操作系统:本系统服务器端数据库服务器操作系统采用Wi donwsscy“r2003企业版SPI,W七bGls服务器操作系统wi耐owsXPProfesinSPoZ。2)加忱me( t信息服务器:W七b0Is服务器安装115版本5.1。 3()webGls平台:MaPIno公司的Mafpxtemer6.6。4)数据库管理系统:or( alc。货oraclosPaiati。5)服务器端开发工具:Mi( osrcoftvisualstoid02叨5。(6 )服务器端开发环境:ASP.NET开发语言:VisualBaics.NET。3J开发技术体系结构3J.1ASP.NET技术SPA .NET是.NET框架的组成部分,是统一的W比开发平台,向开发人员提供生成企业级Web应用程序的服务。ASP.NET是新版本的ASP,用来提供开发人员生成企业级Wcb应用程序所需的服务。ASP.NET是一个已编译的、基于.NET的环境,任何ASP‘NEf应用程序都可以使用整个.NET框架。ASP洲石T提供了丰富的W比控件,同时允许开发人员自定义Web控件,方便了Web程序的开发和集成网。利用ASP .NET开发V阳b应用程序有以下几方面优点:(1)增强的性能 ASP .N卫T是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。ASP.NET利用提前绑定,即时编译,本地优化和缓存服务来提高性能。(2)开发的高效 SPA .NET通过.NETFramework提供的庞大而又结构清晰的类型,使得编程变得异常轻松,软件开发日期缩短,还有自动垃圾回收机制等一系列新的特性,可以让程序员有更多的精力放在考虑如何实现客户所需要的业务逻辑上,而不是计算机的控制上为内存如何分派之类的事情头痛.(3)支持多种编程语言 利用ASP .NET开发Web应用程序,可以使用多种编程语言。.NET还带来了多种语言之间的无缝集成,提高开发效率. (4)可伸缩性和有效利用性ASP .NET被设计成可伸缩的,能为集群和多处理器环境设计提高性能。而且,ASP.NET运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。 (5)可订制和扩展ASP. NET提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。事实上,使用自己的编写的组件可以扩展或者替换ASP.NET运行时刻的任何子组件。执行自定义验证或状态服务变得前所未有的容易。 (6)可靠的安全性在. NET中,安全性的考虑直接放到了代码级,通过一系列的技术,如代码访问安全(odeaccescssu“tcey)、基于角色的安全、强名称(storngname)、权限和权限集等,最大限度地保证了系统的安全性。3J.20raclespatial管理空间数据・or lescaPatl是。mdc公司推出的空间数据库组件,通过0阳cail。数据库系统存储和管理空间数据. Gls中数据分为空间数据和属性数据,二者紧密结合形成对地物的描述11。82空间数据是用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据,它具有定位、定性、时间和空间关系等特性。属性数据是描述空间对象属性特征的数据,如类型、名称、性质等。二者的紧密结合形成对空间实体的描述,对一类数据的操作必然会影响与之相关的另一类数据。因此,如何在计算机中有效存储和管理这两类数据是Gls的基本问题,也是G摇中最底层和最基本的技术。对于Gl s数据的管理可以分为两类:一是采用文件系统组织和管理;二是采用空间数据库进行管理。但使用文件系统组织和管理GIS数据己经不能适应飞速发展的W七bGls,其主要表现在以下三个方面:①文件中的数据安排与组织是依赖于操作系统和文件系统的,不具备独立性,致使不同操作系统上的GIS难以实现互操作;②文件系统受其自身性能限制,数据的安全性、共享性差,不适合以共享数据为主要目的M沱bGIS;③针对空间数据存储需生成数量庞大的数据文件,不利于GIS中数据的存取、调度与管理。采用功能强大的空间数据库对GIS数据进行管理使得空间数据和属性数据在同一个数据库管理系统管理之下,这样可以很容易利用空间数据库的优势,实现分布式结构,多元数据库连接,多用户等功能,因此使用功能强大的数据库管理系统进行空间数据的组织与管理是GIS技术发展的必然趋势。 ofaeslcPaiatl是基于oracle支持自定义的数据类型这一特性所开发的一套空间数据处理系统。oraccsPlaal的自定义数据类型有很多,都在MDSYs方案下,itMDSYS方案规定了所支持的几何数据的存储、语法以及语义,经常使用的数据类型是sD几GEoMETRY型。sD0esGEOMETRY表示一个几何对象,可以是点、线、面、多点、多线、多面或混合对象。3J.2.ioraclespatial存储空间数据的原理or alc。sPaal的空间数据存储结构是一个空间图层、几何体和元素组成的层it次结构12刃。其中空间图层由具有相同属性集的空间实体构成,每层的空间实体和相关的空间索引存储在数据库标准的表中;元素是空间实体的基本组成部分,元素的位置由坐标数据来确定。空间图层表示不同的要素类。在oradesPaiatl中,每一个图层对应于一个或者一组表,一个层中所有空间实体都应该具有相同的空间属性;空间实体是类型MDSYs.sD几GEOMETRY的实例;oradesPaal支持it的空间元素类型包括点、线串、多边形、复合线串、复合多边形、圆、弧线串以及弧多边形,类型MDsys.SD0seGEOMETRY存储点、线、多边形;坐标数据表示空间元素的(x,y)或者经纬度坐标对。在。r aclesPaiatl中每个空间实体存储为一个对象,用一行具有SDO一GEOMETRY类型字段的记录来存储。一个空间实体只需用一行记录就可以完成存储,极大地方便了数据处理、维护等操作。33).20几clespa“al空间数据管理Or acelspaiatl管理空间数据的方法是:提供一个MDsys模式,在其中包含了关于空间数据管理的所有内容,即提供一个对象数据类型sDoGEoMETRY、空间索引功能及多个针对SDO一GEOMETRY的函数/运算符等。在or aclespaiatl中通过空间元数据表和空间数据表共同管理空间数据。空间数据表(其中包含sD0weGEoMETRY类型的字段)存储数据,空间元数据表管理空间数据表,对各空间数据表进行描述,每一条记录描述了一张空间数据表的信息。在Gl s中,每幅地图根据不同的要素类可以分成不同的空间图层。相应的在。门clospatl中,为每幅地图建立一个元数据表,为每个空间图层建立一个元数ai据表。地图数据采用Maphfo公司的.atb文件格式存储,可以通过MaP玩foprofcsional提供的数据上传工具Easy助adr将空间数据层上传到cOraclcspatial中.3J・230raclespatial空间数据查询or adosPaiatl使用一种两级操作模型来解决空间查询。这两级操作分别称为首次过滤(primaryrilte)r和二次过滤(seocndaryFilte)T。首次过滤在所有候选记录中快速选取部分记录传送给二次过滤,它只是近似地比较几何体,这样可以减少计算的复杂性,因而成本较低。首次过滤得到正确结果集的一个超集;二次过滤对首次过滤的结果集进行精确计算,产生空间查询的准确结果。与首次过滤相比,二次过滤的成本较高,但它仅对首次过滤的结果集进行操作。当然,在很多情况下,仅用首次过滤就足够了,这也相应地要求首次过滤应尽可能地高效1翔。3JJMapxterme技术3J3.IMapxt代me2005简介M叩x term。是一个基于Inetme/tnIanrtet的地图服务器,具有伸缩性强、兼容性好,地图功能强大、开发简单、易于实现等特性。M叩xtermeZos是Maplnof公司最新开发的支持.NET框架的一个功能非常强大的应用程序开发工具,它可无缝集成到卜卜〔T框架中,可以在缩短时间和提高性能的基础上制定出数据可视化和地图绘制的解决方案,帮助用户实现桌面客户端地图应用系统和W〔B环境下的地图应用系统。 MaPXtremeZos为开发人员开发Web应用和桌面应用提供了同一个核心;MaP1rXmee2)5与v(0iuslsatdiuo.NET无缝集成,使开发变得容易;由于遵循工业标准和OGC标准,所以提供了真正的互操作性;增强的功能特性能开发更为复杂而又灵活的系统。MaPtrxemeZos提供了空间服务器访问。这是一项强大的功能,允许开发人员连接到存储在空间服务器(例如,在Micro‘oftSQLscrvre、Inofmirx或众aclespatil数据库上运行的M叩IaospfnatialMlare)中的实时数据13,103JJ.2M.Pxt代.e2005体系结构 M叩XtmecrZos的构建基础是Miosrct.foNET框架,MaPXlremc2005使用了Misforc.tNET框架包括的功能。通过M叩xtcrme我们可以并适应在.ET框架上N开发应用程序。使用类似的代码就可以使得开发出的应用程序既能在桌面又能在V叱b上部署。如果开发桌面应用程序,则可以调整应用程序,只需要更改很少的代码即可用于后续的节阳b部署。M叩xtremeZ()5体系结构如图3一所示。X桌面地图应用麟成豹1汤视{溯觅〕翻aplnfo.份indo,5Maplnfo.份e卜 戴鱼图匡死逸迪司1拉胜」匡翅陌云蕊}亚觅认‘。_:又肠口盆n.忿梦犷}钾“))必‘样丈-图3一 ZMaPxtemcrZos的体系结构Ma PxtemcrZ加5对象模型由大量命名空间组成。.N毛T命名空间是分类系统,用于区分具有相同名称的其它对象和特定的类、方法和属性。通过使用命名空间,.NET开发人员可以避免对象名称与其方法和属性名称发生冲突。3JJJMapxt ̄e数据体系结构Ma pxtcm。数据访问由cartlag驱动,Caotaolg是会话中当前所有打开表的库。使用caaltg打开、o创建新的或参考打开的表。然后使用MaPxlremeADO.NET接口来查询这些表,并返回记录集。 表是Mapxtrem。使用的基础数据容器。每个表是指数据库中特定的行集合。M叩xtcme将表分为两类,一类是可制图的并有一个空间组件,另外一类是不可r制图的,仅包含数据列。以上两种类型的表均可被MaPxtremeCaloatg打开,并在查询或连接中使用。33).4M.pxt代me访问数据的方法Ma PxtremcZos提供了多种方法将数据加载到Ctaalg中:o(1)直接访问数据源 Ma Pretxmc2005支持本地访问存储在RDBMs服务器(如sQL和Oraclc服务器)中的数据.可以使用了恤blelnosfervr类来定义连接串和SOL语句在远程e表上执行。MapXterme内部使用oDBc或ocl访问远程数据库。使用此类型的数据提供方时,catloag可以确定基于远程服务器表的空间特征,并将其正确显示。(2)通过AD( ).NET数据提供方访问 这种方法需要数据检索的ADO.NET类定义。只有不可制图的表可以提供为ADaNET表。不可制图的表是那些不包含关于数据几何体信息的表。但是,从ADo.NET提供方检索的表可以通过将sPaiatlschoma应用到表定义而成为可制图的表。用此种方法,无论何时用户请求数据,M叩xtrem。DatAcases引擎均将调用ADo.NET数据提供方。这会是一种较慢的访问数据的方法。但是,当与高速缓存共同使用时就会很好地执行。(3)来自第三方Web服务的XMUGML MapXtremcZoos可以将web服务xML或GML输出集成到catalog中以便用于Mapxterm。桌面或web应用程序中。数据可以通过MaPtxermeZoosAI进入caPtal昭并转换到Mul之iolPygon、Linostring、Point或其它Gemeotry。M即xtreme然后将oeomet即转换为Featurecolletcin,并依次将其保存到omemTable或本地TAB格式。如果想要使数据在MaPtxerme中可用但不必用于地图显示,则可以使用此方法。14系统结构设计本系统以西安市景点为例,采用目前较流行的三层设计模式,三层由表示层、 应用逻辑层和数据层组成,具体实现中三层分别是浏览器、应用服务器和数据服务器。本系统通过具体功能模块来实现,不同的模块对应不同的用户类,目前,本系统用户类别有普通游客和旅游管理部门。系统结构如图3一3所示。图3一系统结构图 3..41普通游客模块设计.3.4LI地图查询功能模块 在本模块中用户可以根据需要在地图上查询空间对象,查询分为两类:属性查询和空间查询。在属性查询中用户可以根据空间对象的某些文字性的属性值快速查出地图中符合条件的空间对象的具体位置,空间查询可以根据用户输入的空间对象的空间属性值快速的在地图中确定符合条件的目标。3..IJ地图操作功能模块4本模块主要是为方便用户浏览而提供的一组地图操作功能,包括地图的缩放、 漫游、点选、区域选择、鹰眼、全景、图层控制等基本的地图浏览操作。通过这些操作用户可以更加快速、方便的在地图中定位其所感兴趣的某一点或某一区域。.3.4IJ旅游信息查询模块本模块主要为游客提供旅游景区信息服务,包括交通信息、景点信息、食宿 信息、娱乐信息、天气信息、旅游路线信息等信息的查询,用户可根据需要按关键字进行查询。.3.4L4用户留言板模块 向用户提供一个可与旅游管理部门交流的平台。通过此平台游客可以向旅游管理部门提出建议和意见,游客之间也可以通过此平台互相交流。.34.1.5在线帮助模块提供简单但全面的系统使用的操作流程,旨在提高用户使用本系统的效率。 图3一 4普通游客功能模块组织结构图14.2旅游管理部门模块设计14么1用户管理功能模块 本模块包括用户权限管理和用户添加、删除。旅游管理部门可以添加、删除用户并且赋予用户不同的权限。14.2)旅游信息管理模块包括对系统信息的日常维护,添加、删除、修改等操作。 3:4J旅游信息统计模块本模块主要利用数据库技术,根据管理部门输入的关键字对旅游信息进行有 效统计、计算,为旅游管理者提供旅游需求分析、景区环境评价、旅游资源评估、旅游区域规划等决策信息.3滩2.4留言板管理模块本模块中旅游管理部门可对游客的留言进行审核、回复,删除不良信息。通 过旅游管理部门审核的信息普通游客才可在客户端通过W七b浏览器看到,这样可以避免别有用心的人通过留言板传播不良信息。图3一旅游管理部门功能模块组织结构图3j数据库结构设计 根据系统的功能和模块划分,本系统的数据表包括含空间数据的表和仅含属性数据的表两类。空间数据通过MaP加foProefsjnoaj处理,保存为tab文件。然后通过Mapnlof提供的数据转化工具Easylaoder将.tba文件导入到服务器端的orcalePsaital中。导入完成后,oradcsPaaitl会为每一个tab文件在数据库中建立一个与文件名同名的数据表,表中的字段即.tba文件中的地图对象的所有属性字段和一个SDo一GEOMETRY字段,其中sDo-GEOMETRY字段的值对应的就是一atb文件中的空间对象的空间数据信息。数据导入完毕后数据表中的每一条记录就代表一bat文件中的一个空间对象。仅含属性数据的表按照功能模块的要求来设计。本系统中我们首先按照空I ]e’对象的类型将地图分为公路层、铁路层、街区层、地标层等,每层都只存储相同类形的空间对象数据,然后,分别将保存有各层数据的.tba文件利用Easyloaedr导入至oralcespatial中。各层数据导入or alcesPaital后,数据字典如下所示:(1)adm一 area层C。如你目N占me拼纽N由愁1oaatT卿回。日翻自区NAME平毕POPNAME2夕VARCHARZ〔60】C口DE,丫勺ARCHARZ【3叨曰TY「桩专丫VARO」ARZ呀121015日肖丫暇丫NUM日ER闯甘〔冰丁ENT旧N日丫NUMBER阁7夕CHARll万M!ST丫L五8丫VARCHARZI之洲】MLPR!卜以切NUMBER(101GEOLOC0曰丫SDD-GEOM〔T阶尸图3一6表ADM一area数据字典(2)adm一iandmark层1 叫,N创加带llDN今呱〔1负55丫Pk,』内J‘月-匕一七蔗竺丫阿}aDT。“al贷}。日减嗽W!THINDISTRICTSHOWRANKMISTYLEM!PRIN洲G〔OLOC 6VARCHARZ10】V减日CHARZ1 6】NUMBER【 101ARCHARZ〔V 121NUMBERl lmARCHARZ〔V 254】NUMSER( 10】SD几GEOMETR丫 YYYYYN图3一7表ADM一lndmarak数据字典(3)blck层oCd“mnNa们吧硒自目自阅曰.侧.肖.比目曰..燕ID滞IIk洋丝些2曰。“下P,..,rR .月 . YNAMET丫尸〔丫哪RCHARZ【 60)NUMBER〔 51CHAR(1】溯。对被芍飞Y月‘YY,J月弓口J6〔洲TENT】ONMl_STYLEM}p日INXGEDLOCV汽RCHARZIZ训1NY图3一8表blck数据字典o(4)landmark层Co}咖NAMEPOPNAMEC以55DISTR!CT肖ODR〔55COMPLETESHOWR,训KM!SIYLEN己m.蒸IID汗习Pk啥.2月J月,567 月} . 问“田v丫丫丫丫丫}丫丫N丫 .呵 NUMBER(10)SDOG〔OMETRYD目翻止潮介“T。、黝I件 60〕VA尸CHARZ1V冷日CHARZ〔 刃】丫A日CHARZ【 日V冷日CHARZl lZI丫ARCHARZ( 1网〔日A月〔 11 1切NUMS〔R〔VARCH ARZ154】2NUMBERt 10]SDOGEOMETRI丫日OJOM!一阳1卜识6EOLOC图3一9表1胡dmark数据字典(5)lndause层箭溯心困Ik回”心P默只咖T押片滩黑Dd翻直 AvRC日胡2份田NUMBER〔 习HARlC l,VARCHARZI Z词】NUMBERl l0)SD几GEOMET日Y 雾茸丫丫冲冲IN丫29图3一10表lnduase数据字典,.2,J月马5 ̄b(6)POi层Co!Ll厅旧Na即吧..翻...匕目曰.诊.臼已口.军!10军1陈洋IN囚?戈!D以aT,阵丫丫丫丫Y丫丫丫丫丫N丫曰..气乙1〕J马一芬IOef创胜祠NA卜IE,,州.,...., ̄ ̄ ̄ ̄‘叫....V户RCHARZ〔0)6V冷归CHARZ〔刃】POP闪AMEENTRA闪CEC以55D!STRICTTELEPHONESE日VET{MEADDR三5515卿气RK!NGM!STYLEMIF日IN城GEOLOCNUMBERI匀V八RCHARZ问VARCHARZ(12】V八RCHARZ(加】}匀卜b,了n口OJ工U,.丹‘ .嘴 .曰 卫 曰. . , . 峪 ,‘,}曰尸口VA归CHARZ(171勺ARCH阴2【1加〕勺洛RCHARZ(301VRCHARZ〔A54】2NUMBER〔101SD06EOMET日Y图3一n表Poi数据字典(7)road层丫丫丫丫丫丫丫丫丫丫丫冲丫・IN丫FNOD〔TN00EENGTHLNAMENUMBER【10)NUMBER〔101NUMBERPOPNAMEDISTRICTATTR旧UTECODESF〔EOUMITTOLL6 7 8 9 101112131415D00R践ATEMl_STYLEMIPR!N只GEOLOC16V八日CHARZt)06哪月CHARZI刘丫八日阴ARZ【2刀ARCHARZ〔V1句VARCHARZ旧jVA日CHARZt刃】V减日CHARZfl田)ARCHARZ【V洲V冲RCHARZI淡刃】丫冷日CHARZ〔2541NUMg〔R【101SDO_GEOHETRY图3一 12表roed数据字典(8)rilaway层盯,犯协半『‘,甘J,一0月七里llN截马。如下然..住Dd以点… AVRCHA日2〔浏NUMBERI 习C州八日( 1)1,图3一3表r1ilaway数据字典丫丫v丫NvO3 V减日CHA妇21艺讲】NUMBERt 10】SDO -GEOMET户丫 『. .3‘地图数据的显示在之前的操作中我们将地图划分成了若干层对应于or alcoSpaiatl中的每一个数据表。通过MapXtermeZos各命名空间所提供的接口我们可以连接并读取数据库中的空间数据,将每个数据表中的空间数据显示为一个图层,这些图层叠加起来就是一幅完整的地图。此外,由于数据的分层存放也可以根据不同的用户类型或用户的不同需求显 示对用户有用的图层,这样可以降低服务器到客户端的数据的传送量从而又起到了提高系统性能的作用。地图数据显示的代码如下:Dimmape1AsMaPInfo.inWdows.Contolrs.MaPContol二rNewMaPlnfo.Windows.Contolrs.MaPControlDimconnectionAsMaPInfo.Data.MIonneCtcion二NewMaPlnfo・Data・MIConnectinoDimCatAsMaPlnfo.Data.Catalog=Maplnfo・Engine・Session・urCent・CatalgoCatc.01邪肠bl(e”tblancmea’)1打开数据库服务器连接conneCiotn.openo,打开以adc服务器的数据源肠bllcnfoserverDimtilAsM叩Inof.Data.肠blclnofsevrer二NewMaPlnfo.Data.肠blelnofservre(,,tablename,,).设置oadesratPila的连接字符串(包括服务器名,用户名,密码)til.onneCtcstirng=”SRVR二svemarcme;UID二usemame;PWD叩assword,,,设置查询字符串qeruytil.ouery二”Selt*FrCeomtlenabame”吸置服务器工具包为oacrlesPiatal的工具包ocitil了n沁Iikt=M叩Ino.fData.Severl了bolikt.oci,设置缓存类型为On,加快地图浏览的速度til.CachcsetiingS.Cache乃pe=MaPinfo.Data.Ca比e0Ptln.onODimtlsMap玩fAoMapPing.MapTablcLoadcr二NewMaP】nfo・MaPPin乡MaPTablcL习ader(i1t)mapel・Showo,设定显示区域的大小maPCIHciht二150g0mapel.Width二1500mapel.MaP・口cora,显示图层mapel.Map.劫ad1t()1,属性数据的显示在将. tba文件导入到oralccsPaital中时,.tba文件中的地图对象的所有属性数据也同时被导入了Oradespaital中,在读取这一部分数据是我们同样可以利用M叩xtremeZos命名空间所提供的接口将数据表中的属性数据也显示为一个图层,然后将它叠加到空间数据图层上即可。属性数据显示的代码如下:Di mti0AsMaPInfo.Data.aTblelnfosevrer二NewMaPInfo.Data.aTbIeInfoSevrer(,,tablename,,)t io.oCnnetcstring二”SRVR二sevremame;UID二usemame;PWD=Passwordft io.Que卿二”Select*Fromtablename,, tio.OTolkit二MaPInfo.DataserverTbolkit.cOit io.aCchesettings.CacheyTPe=MaPJnfoData.CahceOPtion,nODi mtbAsMaplnfo,Data.aTble二connection.Catalog.OPenTable(tio), 引用当前打开的表,创建标签Di msourceAsMaPlnfo.MaPPing.1刁belsource=NewMaPInfo.MaPPing.肠belsourec(tb)1 设置标签的值为当前表中的Name列 source.Default肠belProPerties.Captino二”Name”创建一个标签层 DimlabelaLyerAsNcwMaPInfo.MaPPing.UbelUyoor, 把标签值加载到层中l aeblUyeLSources.PApend(osurc). 把标签层加入到当前图层中 maepl.Map.uyers.玩stre(0,labeluyer)程序运行后显示空间数据和属性数据如图3-14和图3一巧所示:第四章WebGIS性能的提高 W七bGIS是指工作在Inetmet上的GIS,是传统的GIS在网络上的延伸和发展,具有传统的GIS特点,可以实现空间数据的检索、查询、制图输出、编辑等Gls基本功能,同时也是玩temet上地理信息发布、共享和交流协作的基础沐1。webGls经过不断发展己经被广泛的应用到了人们的日常生活中。随着WebGIS技术在各个领域的广泛应用,如何能够在合理的时间内为多个用户在同一时刻分发庞大的不同种类的空间数据成为W七bGIs发展所遇到的首要问题。在网络带宽有限的条件下,我们只能从提高W七bGIS的性能入手来解决此问题。.41影响W比GIS性能的因素 影响WcbGIS性能方面的因素很多,主要表现在时间上,有以下4个方面:(1)传输时间:传输时间是指客户端浏览器与We b服务器间的通信时间。(2)排队时间:排队时问是指应用服务器的数据等待时间。 3()渲染地图时间:渲染地图时间是指数据服务器根据用户需求动态生成地图,并发送地图快照的时间。4)查询地图时间:查询地图时间是指根据请求对存储于后台数据库系统中( 的数据查询时间131。4.2提高WebGIS性能的技术针对影响W七bGI s性能的不同原因,目前主要的提高WebGIS性能的技术包括缓存技术、多线程和群集技术、层次网格索引技术、预取技术等。.4.21缓存技术在解决传输时间过长问题时,我们引入缓存技术,包括:客户端缓存、服务 器缓存、反向代理缓存。 客户端缓存:位于客户端,又称为短期缓存。根据客户端用户使用数据的频率,最常被使用数据会被存储在客户端缓存,当用户提交一个请求时,客户端会首先检查是否所需要的空间数据已经存储在客户端缓存,然后再决定是否向服务器发出请求,这样就会减少数据的传输量从而降低数据的传输时间。但客户端缓存也存在缺点,客户端缓存中的数据只能够供本地用户使用不能够在多个用户之间共享,当同一时刻多个用户向服务器发出请求时,客户端缓存就发挥不了太大的作用了。服务器缓存:位于应用服务器端,V阳b服务器会将客户端的请求发送到应用 服务器,应用服务器在收到这些请求后首先检查服务器缓存查询是否所请求的数据己存在与服务器缓存,然后再决定是否访问数据库,从而提高了数据的获取效率。服务器缓存中的数据也是根据用户提交请求的次数来决定,最常被用户请求的数据会被存储在服务器缓存中。服务器缓存同样也存在缺点,当缓存的空间数据量较大和并发访问的用户较多时,服务器端的负担会加重,从而使效率降低。反向代理缓存:为了解决客户端缓存和服务器缓存引入了反向代理缓存。反 向代理缓存位于节几b服务器上。W七b服务器的功能是向应用服务器转发客户端的请求和将请求反馈的空间数据传回给客户端。通过在W七b服务器中增加反向代理缓存,可以缓存服务器反馈给客户端的空间数据少1。与通用反向代理缓存存储页面文件或对象(在内存或硬盘中)不同,WebGls反向代理缓存存储的是空间对象,客户端通常都以空间范围作为请求条件,因此,W七bGIS反向代理缓存无法像通用反向代理缓存那样,根据文件或对象的标识进行缓存对象的检索,必须通过建立空间检索机制来管理和调度缓存空间对象。缓存的空间数据可以存储在V北b服务器的内存或硬盘中,存储介质的选择视具体情况而定。反向代理缓存是客户共享的,任何可以访问V几b服务器的客户端都可以访问反向代理缓存中的空间数据;通过增加反向代理缓存既可以提高客户端的响应速度,也可以减轻原来V介b服务器的负载。或22多线程和群集技术 在客户端用户经常会同时执行多个相互独立的操作,当采用传统的单线程处理技术时这些操作将不能被并发执行,必须等待前一个操作的执行结果返回才能执行下一个操作,这就增加了排队等待的时间,如果用户数量较多那么排队的时间将会更加漫长,引入多线程技术是为了避免采用传统的单线程处理技术给用户带来的漫长的排队时间。假设有m个操作,每个操作所需要的时间是ti那么单线程模式下所需的处理时间为及。而引入了多线程技术后的处理时间变为max{几七二t)。l当并发访问的用户较多时,服务器的处理能力也会达到极限,这时我们可以 引入群集技术,群集指物理上相互独立,而逻辑上单一的一组网络计算机集群系统,以统一的系统模式加以调度和管理,为用户提供高性能、高可靠性服务1”气这些服务器能够并发的处理客户端的数据请求。采用群集技术后客户端的请求首先被发送到节点服务器,节点服务器再将这些数据请求发送到群集中的每个服务器,当一台服务器的处理能力达到极限或发生故障时,节点服务器会选择其它空闲的服务器来处理客户端的数据请求,这样就可以大大降低排队等待的时间从而提高V九bGIs系统的性能。.42)层次网格索引技术层次网格索引是对传统的网格空间索引的改进,传统的网格空间索引是将矩 形的地理范围划分为MxN个相同大小的小矩形网格区域,如图4一1所示,每个网格区域就是一个索引项。计算机为每一个索引项分配一块动态存储区,在该动态存储区中存储了所有落在该矩形范围内的空间实体的标识和该矩形区域的外接矩形。每当我们要查询空间实体时,首先计算机根据查询区也通过计算得到所需要的索引项,然后根据这些索引项得到空间实体。因为在划分索引项时我们规定了每个矩形的面积都是相等的,所以直接通过计算就可以得到与查询面积重叠的所有索引项,这样就可以有效地提高系统效率。但传统的网格空间索引在遇到范围较大的空间实体时,就会出现多个索引项 落在该空间实体的范围内,如图4一1所示空间实体A的范围就包含了16个索引项,而这些索引项又都记录了该空间实体索引信息,这样就造成了重复信息。这种重复信息不但会占用很多的存储空间,而且在查询时也会增加查询时间,从而造成空间索引整体性能下降。层次网格索引是多层的网格空间索引。它的基本思想是:一个矩形地理范围 被划分了n次:第一次划分把矩形地理范围平均划分为Ml行Nl列,每个划分矩形的长和宽为Ll和wl。第二次划分时,选取u和wZ为划分矩形的长和宽(其中u和wZ分别比u和wl大,一般情况下,我们选择LZ:u二wZ:w卜K>2),以此类推,直至第n次划分为1行1列。每个划分矩形称为一个分区,从0开始对所有各次划分得到的划分矩形统一顺次编号,每一个编号(索引号)对应一个划分矩形范围,所有完全落在这个划分矩形范围内的实体拥有相同的索引号,又称为分区号。划分到最后,整个地图就是一个网格。我们称第一次的Ml、Nl划分网格为第一层,依次类推,最后一次lxl的整图网格为第n层。对于任何一个空间实体,它的分区号按如下规则分配:检查该实体范围是否完全落在第一次划分的某个划分矩形中,如果不在,看它是否落在第二次划分的某个划分矩形中,依次查找,直到找到一个完全包含它的划分矩形(由于越后来的划分,网格的长和宽就越大,因此,总可以找到一个完全包含该实体的分区)。找到后,该实体的分区号就等于此划分矩形的编号。按上述规则,一个空间实体只在一个唯一的索引项中有记录。用上述规则构造的层次网格索引如图牛2所示。图中的实线线是第一次划分的网格,虚线是第二次划分的网格。第二次划分的网格是第一次划分的网格的大小的16倍。对于对象B,在扫描第一次划分的网格时,因为它完全包含在一个网格中,所以它的分区号就是包含它的网格的分区号.但对于对象A,由于它不完全包含于第一次划分的某一个索引项,所以,在第二次划分的更大网格中找,发现它完全包含在第二次划分的某一个网格中。所以它的分区号就是图中粗虚线网格所对应的编号。图4一黝B1传统网格索引图图4一2层次网格索引图相对于单层的网格索引,层次网格索引的优点如下: (1)由于每一个空间实体都属于唯一的一个划分矩形,所以不存在重复的索引信息(重复的索引信息不仅增加了存储索引的空间开销,而且查询时要去掉重复实体,增加了查询的时间开销),减少了索引所需要的存储空间。图4一2中,空间对象A和B都只在一个网格索引项中有记录。(2 )查询空间对象时,没有冗余的索引信息,减少了数据库的负担13]6。.4.24预取技术预取是一种传统的技术,在网络环境中,它利用用户在两次请求之间的时间 间隔,通过预先下载同所显示的网页相关联的页面,存储在缓存中,如果用户正好对足够多的这些已预取页面进行了访问,那么就可减少用户的等待时间,从而提高了系统的性能。飞(1 )累积的预取传统的缓冲机制在用户访问某个数据发生错误而中断时,就立即停止获取数 据,而把获取的部分所需数据从缓存中清除掉了,但实际上用户还可能会多次提出对同一个对象的访问请求,这样,就大大浪费了网络资源。累积的预取机制不把因上次访问失败而留在缓存中的部分所需数据清除掉,而是随着每次请求,把余下的所需数据部分一点点积累起来,预取到缓存中,组成完整的数据。这样既可减少带宽,又可提高用户访问效率。(2)速度控制预取 该机制基于节约带宽的考虑,认为在预取一个大数据对象时,没必要让它在网络中以最大的速度传输,只要在用户请求之前传输到客户端即可。因而,在预取过程中把传输速度降低到一定水平,以尽量使得恰好在某个预取数据对象被请求前,对它的预取过程正好完成,即该数据对象的最后的字节刚好传到客户端。这样在提高对数据的访问效率的同时也改善了网络性能。 确定预取候选对象一直是预取技术的难点,在W七bGIS中,根据其固有的空间邻接关系的特点,可参照位置相关性来确定预取候选对象。当用户点击地图上某些空间对象来调用相应的大对象数据时,可以认为用户会在访问了某个中心对象后,非常有可能访问其近邻对象,而不是任意地访问其他对象。以上对提高we bGIS性能的一些主要技术做了介绍,除此之外还可通过图像压缩技术、选择合适的数据格式(栅格数据比矢量数据的数据量大很多)、减少数据属性、使用比例因子以及提高数据库性能等方法减少在网络上传输的数据量,降低渲染和查询地图的时间,提高系统的性能。43对系统的优化4JJ利用ASP.NFT缓存机制优化系统性能改进系统的性能可以从硬件和软件两方面来进行。前者即增加投入,购买高 性能服务器、提高网络带宽,但对资金需求较高。本系统从改进系统软件设计和构建新的数据库模型两方面入手来提高系统性能。本系统是在ASP .NET环境下设计开发的,ASP.NET提供了多种缓存机制,通过这些缓存机制我们可以将那些使用频繁的页面缓存起来,定期刷新。用户在访问W七bGIS系统是对于这部分页面就可以直接从缓存中获得,无须每次都对ASP.NFT页面进行编译,从而大大提高系统的性能。ASP .NET提供了许多包括输出缓存、数据缓存、碎片缓存在内的多个级别的缓存。 (1)输出缓存主要用于提高动态页面的输出性能。使用输出缓存的页面可以将一个动态页面的输出缓存到内存中,当用户下一次提出同样的请求的时候,显示上一次缓存的内容1周。 可使用编译指令@outPtuCahe实现输出缓存,语法格式如下:c<%@OutPtuC滋chcDuraon二,it.#。伪econds.,Lo caiotn二,.nylAce叫D心叨nsilretmlascrvcdN面e.var yByOuolrt=”ntocorlnameffVa yrByCustom二,,brwsoer}ucstomsirtng,, VaryByHeader二,,Headcrs,,Var yByParm二,a,Paametrernamc,,%>参数D uraitn为必需属性。页面应该被缓存的时间,以秒为单位。必须是正o整数: 参数助caiotn指定应该对输出进行缓存的位置。如果要指定该参数,则必须是下列选项之一:Any、client、Donswteram、None、sevrer或5ovrer户门dClientodiet代表客户端缓存可用、Sernvr代表服务器端缓存可用、Dowensterm代表网络a代理服务器缓存可用、any代表以上缓存都可用、none代表以上缓存都不可用;参数va ryByContorl表示允许在服务器上高速缓存控件;参数va ryBycusotm允许在glbo.alasx中指定自定义变动;a参数va yByHcrdar基于指定的标头中的变动改变缓存条目。c参数va yByPrarm必需属性。Reaqcut中变量的名称,这些变量名应该产生s单独的缓存条目。”加ne,,表示没有变动。”.“可用于为每个不同的变量数组创建新的缓存条目。变量之间用”’进行分隔。;通过向ASP .NET页面中加入上述语句,并对参数进行设置就可以使用输出缓存来提高系统性能。(2 )数据缓存是可以保存信息的缓存。数据缓存通过与Sesisn和AoPpiltiacno对象类似的方式存储关键字或值,在多个页面之间共享对象和数据。 ac可以通过Che对象来进行数据缓存。在本系统中我们将连接数据库的字符串赋值给Cache对象 Cac he(,,onecCtoinstirng,,)二‘,servcr=lcaolhost;uid二uscrnamc;pwd=Pssword;datbasc二daatabasc’ 当其它地方也要连接数据库时,我们就可以通过调用Cache对象来实现。(3)碎片缓存是针对页面中特定部分的缓存,如对于某一We b页面,其中一部分是经过对大量数据的处理而生出的,那么通过对这部分的缓存而不是整个页面的缓存来提高页面的执行速度即碎片缓存。可以使用@。ututPCache编译指令设置用户控件的属性,实现碎片页面缓存。使用A SP.NET缓存技术后,通过实验,系统在客户端显示地图的时间如表今1所示:表4一1使用缓存前后显示时间对比表是否使用缓存否一是客户端显示地图时间103秒0228秒4人2从数据库系统构造的角度优化系统性能W七bGI S系统的性能受传输大容量的地图数据的影响较大,如何提高系统性能除了应用己有的技术之外,从数据库设计的角度来看,通过改变数据库的结构也可优化系统的性能。在本系统中,没有像大多数系统那样将空间信息存储在一张地图上,而是根 据空间对象的特征将一张地图分成若干图层,每个图层作为一张数据表存储在数据库中,这样传统的一幅地图就从一张表被分解成了多张表。到用户请求地图数据时,如果地图数据存储在一张数据表中那么服务器会将一幅完整的地图渲染好再传送到客户端,这样不仅渲染地图的时间长,而且生成的地图由于包含了所有元素所占空间就非常大,直接导致在网络上传输时不但要占用更多的系统资源而且更耗时间。 地图被分为多层后,每一层都由具有相同特征的空间元素组成,这样用户在使用时可以根据自身的需要向服务器发出请求,服务器接到客户端请求后,根据用户的需求,屏蔽掉无用的空间对象,通过含有用户需求空间对象的图层渲染地图,这样不仅可以大大节省渲染地图的时间,也可以降低数据传输的流量从而提高系统性能。表4一 2分图层显示时间对比表图层Road图层在浏览器显示所需时间全部8层3.6205秒在浏览器显示所需时间7.5937秒4.2031秒43593秒39218秒Blokcdm一aAe:r1刁fidU父一}1.93秒48}一1.1562秒14843秒Road+PolRoad+Poi+UndmarkRoad十Poi+加nduscAdmlndmarak1一375秒肠。dl仙rkPoi1.2965秒2.1718秒L125秒}Rai】way一}}}第五章结束语本文是在开发基于V几bG IS西安市旅游地理信息系统的基础上完成的,其间在数据收集、整理,系统分析与结构设计,数据库设计,硬件系统搭建,软件系统配置,系统程序设计等方面,作者都投入了大量的工作。旅游地理信息系统数据量大,对系统要求高,本系统融合了GI S技术,.NET技术,数据库技术等多种技术,应用了MapXtemeZoros、M叩Infoprofessional、MiorcsoftivsualstudioZoos、orcalespatialgi等应用软件和系统开发平台。.51论文工作总结总结本论文的研究成果,主要体现在以下3个方面: (1)本系统采用基于到5的构造模型; 2()基于v几bGIS是本系统开发的重点,本系统服务器端采用M叩xtcrmeZoO5进行信息发布,实现浏览、查询、缩放、测量等功能:采用oracleSPatilaig存储空间数据;客户端采用通用的V倪b浏览器来访问系统资源;( )3空间数据的管理是本系统的重要功能,本系统采用oralcosPaitalig管理空间数据,采用ASRNET+MaXPlreme2005开发系统应用程序,实现用户和系统的实时交互,使得管理工作更加方便快捷,从而提高工作效率。SJ对以后工作的展望目前己基本完成原型系统的设计,为了进一步提高系统的性能,在下一步的工 作中可以从以下几个方面对系统进行扩展改进: (1)在原型系统的基础之上进一步完善系统的功能。2( )由于系统所管理的数据为空间数据,数据量大,传输时对网络要求较高。目前本系统对空间数据的处理全部集中在服务器端,客户端仅仅负责处理结果的显示,客户端和服务器端的负担十分不平衡。对于空间数据在网络上的传输,虽然本系统采用了缓存技术以及从数据库的设计上来提高系统的效率,但是如果能够增强客户端处理空间数据能力,减少冗余数据在网络上的传输,则系统的性能将可以进一步得以提高。设计更加合理的系统体系结构是今后工作的重点。 3()将0详nGls规范、互操作模型等新技术融入到系统的开发中。用户在基于0沐nGIs规范的v陀b0Is系统之间可以访问异构空间数据、调用不同系统对空间数据的操作。基于0讲nGIs规范的,几bGis系统开发也可充分利用现有空间数据设施,提高系统的开发效率。随着Inlcmet技术的发展和普及,基于Q阵”GIS规范的W七bGIs系统必然是今后场℃bGIs发展的方向 本系统的开发和应用是W七bGis技术应用于旅游地理信息系统的一个尝试,在某些细节方面还有待于提高。由于作者水平有限,文中不当之处,恳请各位老师批评指正。参考文献1阂连权.旅游地理信息系统的设计与实现.测绘学院学报[].20J03,城1:4)7・9,453 1孟令奎,]2史文中,张鹏林.网络地理信息系统原理与技术.科学出版社【M】.2005]朱庆.313维地理信息系统技术综述‘地理信息世界I].J2加4,o2(3):8一21卜〕施加松,刘建忠.3DGis技术研究发展综述狈(绘科学1].22005,3岭):17一11195王峰,1刘仁义,刘南WcbGIS和虚拟现实技术在旅游业发展中的应用研究.浙江大学学报( 理学版)[J].2005,32(6):707一710【6】樊文平,刘荣,田维春,吴芳.虚拟Gls及其虚拟可视化技术研究.地理信息世界I J]・2()6,04(X2):21一24【7]彭海龙,李仁发基于嵌入式Gis在智能小区信息系统的设计与实现.计算机应用研究I J].2007,2:乃4・259【81坦如必丛业翌卫匹卫硕旦卫组1尚武.网络地理信息系统we0[bGls的现状及前景.地质通报I],2以拓,J25( ):’533一537【10]罗云,李华贵,方开红.基于玩tmcet的webGIs体系结构的研究.仪器仪表用户pl .2007,l4(l):12一131]康冬舟,1范大凯.基于CGI结构的webGIS应用研究.东北测绘II.J2002,25( 1):3一5,9【21】陈红丽,袁可风,吕善国.webGIs及其实现方式.华东交通大学学报【J】2.以”, 21(1):58一59,6711张成才,3孙喜梅,朱陶.几种流行网络地理信息系统的模式比较研究.计算机工 程与应用1].2205,15:-77,19401叼余志文,申辉军.基于ACtvix的weebIs实现技术.G侧绘通报1].2Zco3,2:53一65【51]王佐成,薛丽霞,汪林林,李永树.基于Java的webIS实现.G计算机工程与应用].21 2005,20:95一79【61】涂建光,边馥荃.基于Applet/scrvt模式的weelbGIs实现策略和技术研究.测 J绘信息与工程I].2的5,洲1:1)7一91【1刀童小华,伍吉仓,李金标.基于DCoM的分布式,叱bGIs架构与关键技术.同济大学学报(自然科学版)I JI.2以b,33(5):11胳11胎【11付俊娥,8王继周.基于JZEE的旅游网络地理信息系统研究.测绘科学[].2(J)6,X31( ):61).(6161【91刘小生,1栗奎峰.基于C/5与BZS混合模式的webIs模型设计.中国钨业GJI ]・2()6,21X(6):42一料【0】陈国良,2顾和和,论webIs研究现状与发展趋势.G矿山测量I].J206,4:27一92121]XiaodongUuCFACA:COmPonentframeorwkftfoeature一baseddesinandgPr escosPlnaning[J]。Con1Puter一AidedDesin,2(gX洲),32:397一)8(4[22llE仆.SIP:ScssionlnitiationPrtoocllZ].httP:刀切ww.ietLor/rgc/rfc3261.ftxt.2加2. 131肖潇,2罗益荣.基于分布式对象技术的webGls的研究.福建电脑[].J2007,3: 57一58【4】蒋红兵,2蒙印.webIS的空间数据共享与互操作.四川测绘1G月.2005,28( 1):20一22【51朱江,2宋关福,钟耳顺,张继南,李伟顾,胡中南.基于webserviecs和.NET技术的新一代we bGIS研究与开发.地理信息世界I].J2004,2()2:7一102【6]陈春来,2石纯,吴丹论webGIS及其发展趋势.衡阳师范学院学报(自然科学版) 〔Jj,2仪科,25(3):%一101口7』冯文钊,彭立芹,张宏,阁国年.基于.NET平台和websevrie方式的wecbIsG 系统集成[].计算机工程.J2以科,双21:)4一66【8]朱志伟,2刘书雷,李军一种基于OraclesatPil的WaebGls实现方法川.计算机工程. 2以抖,3仪2):8一190129]姚力波,王仁礼.基于oralcespatial空间数据库的Gls数据管理IJ].测绘与空间地理信息。 206,29(2):81一83,肠po]苏炳均,诸昌铃,李林.基于伪.dosPaiatl的Gis数据组织及查询1].2计算机应 用研究.2〕)6,12:278一25013llManfIPo公司.neveloperGuidcM叩xtreme2005_DcvGuide【EBZOL].httP:刀 ̄.maPxtermeZ()5.XmocpZI孟令奎,史文中,张鹏林网络地理信息系统原理与技术【Ml,科学出版社.2以)5:19 9一239.3[]肖心智,3苏奋振,杜云艳,周军其.cbGIwS性能分析与优化川.测绘与空间地理信 息.2005,28(4):1一3【41李浩松,3朱欣焰,李京伟,陈军M几bGIs空间数据分布式缓存技术研究I].J武汉大学学报・ 信息科学版.2005,洲12:1)03一1095135]C.、勺ng,D..W台Wng,R.、恤ngM,K泊允tosandQ.1.Pcribn刀anec一imPrviognt Cehniueqsinwcb一baedlsntematinaollJ]Joumalofocogra曲iacllnofnnation
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688187161a94617.html
评论列表(0条)