毕业设计(论文)-基于arcims的湘潭地图服务发布系统_第1页
毕业设计(论文)-基于arcims的湘潭地图服务发布系统_第2页
毕业设计(论文)-基于arcims的湘潭地图服务发布系统_第3页
毕业设计(论文)-基于arcims的湘潭地图服务发布系统_第4页
毕业设计(论文)-基于arcims的湘潭地图服务发布系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE8PAGEII基于arcims的湘潭地图服务发布系统第2章基于目录摘要 1Abstract 2第1章绪论 31.1地理信息系统及webgis 31.1.1地理信息系统概述【10】 31.1.2webgis的定义[1] 31.1.3webgis的特点[1] 41.1.4webgis的优势[1] 61.2Webgis的发展现状及趋势[1] 61.2.1webgis国内外发展现状 61.2.2webgis的发展趋势 7第2章基于ARCIMS的WEBGIS构建技术 82.1ARCIMS介绍【9】 82.2ARCIMS的体系结构 82.2.1服务器端的组件构成[4] 92.2.2客户端组件构成[5] 112.2.3中间WEB服务器 112.3管理工具[4] 122.4Arcims的运行机制[4] 122.5基于ArcIms的地图服务响应过程[1] 132.6ArcIMS地图服务的创建与管理【3】【7】 14第3章湘潭市地图服务发布应用系统的实现 163.1系统实现的相关技术 163.1.1JavaScript在ArcIms开发中的应用[1] 163.1.2VisualStudio2005在ArcIms开发中的应用[2]【8】 163.2系统开发目的与环境 173.2.1系统开发目的 173.2.2软件环境 183.3系统设计及分析 183.3.1系统设计思路 183.3.2系统开发流程 193.3.2系统的体系结构 203.4ArcIMS创建地图服务 213.5网站的设计 263.6系统主要功能实现【11】【12】 26第4章结论 344.1主要成果 344.2存在的问题 344.3研究展望 344.4结语 35致谢 36参考文献 37基于arcims的湘潭地图服务发布系统摘要1摘要随着人们对地理信息需求的增加,基于Internet发布地理数据供用户查询、检索并提供服务的WebGIS已成为地理信息系统发展的重要方向。WebGIS的应用和研究是目前科学研究工作中的一个热点,其应用领域几乎涵盖了农业、林业、气象、水利、地震、海洋、国土资源、环境保护、铁路交通、电力、城市建设和规划等社会的各行各业。世界各大GIS厂商纷纷推出了自己的WebGIS产品,其中ESRI公司推出的ArcIMS,是一个功能强大且方便易用的工具,为建立及发布地图信息提供了便捷的解决方案。与此同时,2002年Microsoft推出了.NET开发平台,它的出现代表了Windows平台的软件开发进入了新的时代。随着.NET技术的日益成熟,其开发部署简单易行、可移植性强、跨平台等特点必将在WebGIS应用开发中得到很好的体现。因此,采用微软的.NET平台开发WebGIS应用成为一种新的趋势。本文对基于visualstudio2005平台和ArcIMS的WebGIS的开发方法和设计模式进行了研究,并结合具体的实际应用开发了湘潭市地图服务应用系统。关键词:地理信息系统;ArcIMS;网络GIS;缓冲区分析基于arcims的湘潭地图服务发布系统AbstractPAGE36AbstractAspeopleontheincreaseindemandforgeographicinformation,Internet-basedpublishgeographicaldataforenquiries,retrievalandprovidingtheservicesofWebGIShasbecomeadevelopmentofdirectionforgeographicinformationsystem.TheapplicationandresearchofWebGISisissueinthescientificresearchwork,Itsapplicationareascoveralmosttheagriculture,forestry,meteorology,waterresources,earthquake,marine,landandnaturalresources,environmentalprotection,railwaytransportation,electricity,urbanconstructionandplanningofsocialbusinesses.GISmajormanufacturershavelaunchedtheirownWebGISproductsallovertheworld,thecompanylaunchedtheESRIArcIMS,isapowerfulandeasy-to-usetoolfortheestablishmentanddisseminationofinformationtoprovideaconvenientmapofthesolution.Atthesametime,in2002,Microsoftlaunchedthe.NETdevelopmentplatform,itrepresentstheemergenceoftheWindowsplatformsoftwaredevelopmenthasenteredanewera.Withthe.NETTechnologyincreasinglymatures,itsdevelopmentsimpleandeasytodeploy,portabilitystrong,cross-platform,andothercharacteristicsoftheWebGISapplicationdevelopmentwillbeaverygoodexpression.Therefore,theuseofMicrosoft's.NETplatformtodevelopWebGISapplicationbecomesanewtrend.ThisarticlestudythedevelopmentofWebGISmethodsanddesignpatterns,whichisbasedonvisualstudio2005andArcIMSplatform,combinedwithspecificpracticalapplicationanddevelopedtheXiangtanMapServicesApplicationSystemKeyword:GIS;ArcIMS;WebGIS;bufferanalyze基于arcims的湘潭地图服务发布系统第1章绪论第1章绪论1.1地理信息系统及webgis1.1.1地理信息系统概述【10】地理信息系统(GeographicInformationSystem,GIS)是60年代提出并逐渐发展起来的一种采集、存储、管理、分析和输出各种地理信息的信息系统。它集计算机、测绘、遥感、地理学、空间科学、信息科学和管理科学于一身,是多种学科交叉的产物。近年来随着信息技术的迅猛发展,GIS技术在城市建设、规划、环境资源利用、决策支持等方面发挥了重大作用。当前Internet已不仅仅是一种单纯的技术手段,它正在改变着人们的生活方式,影响着生活的方方面面。随着地理信息系统与各种新技术的结合,网络化的思想也得到了迅速的发展,人们希望能够在互联网上提供地理信息,让用户通过浏览器获得地理信息系统中的数据和功能服务。这种想法促使了WebGIS(万维网地理信息系统)的诞生。1.1.2webgis的定义[1]综合各类的定义,简单的讲webgis就是基于网络的客户服务器的动态分布式地理信息系统,是在信息发布、数据共享、交流协作基础之上实现的在线查询和业务处理等功能的地理信息系统。webgis的实现在功能上是指空间分析处理功能和专业模型向网络的移植,另一方面,则是空间数据信息的开放和网络共享。webgis的研制与开发对于扩大地理信息来源、提高地理信息的时效性、促进地理相关信息应用的深度和广度具有重要意义。此外,通过空间数据的web发布,还能够为传统的非空间数据库提供丰富的空间背景信息,提高对空间及非空间数据库的信息挖掘能力,使人类对社会及自然规律的研究更加深入。通用的webgis基本组成:(参见图1-1)web服务器;web浏览器(可能含有GIS插件);页面描述语言:HTML,VRML,VML等;web交互程序:java,CGI,Active等;GIS服务器(群)GIS数据库管理器:ARCSTORM,SDE等或者GIS数据文件总的来说webgis应具有如下功能:利用互联网提供的物理硬件基础和浏览器/服务器( Broswer/Server)机制,遵循超文本传输协议(HTTP),支持常用的网络浏览器,如InternetExplorer(IE)、Netscape(NS)等,实现地理信息在互联网环境下的传输应用。以地理信息元数据标准为基础,实现在互联网上地理信息的时间、空间和属性数据的有机融合实现地理信息数据的多格式(如图形、图象和文本等)、双向式的可视化发布、检索和查询;提供互联网上的在线空间分析功能,如缓冲区分析、网络分析、层分析等;实现多地域、多平台、多格式的信息采集、共享,如各个业务部门地理数据的收集、发布等;空间数据保密、传输、系统维护、信息发布功能。把WebGIS技术应用于信息系统的建设,将会极大地完善传统信息系统的功能。它用图形、图像数字信息来表现种空间信息和非空间信息,通过Internet为用户提供各种信息的查询和检索服务;利用GIS强大的空间分析功能,为广大用户提供线路查询、缓冲区分析等服务。通过它可以实现信息的实时共享,给广大用户提供更加全面的服务,同时也可以为管理部门进行的发展预测、规划决策以及科学管理提供依据。1.1.3webgis的特点[1]WebGIS是一种基于Internet/Intranet标准和通信协议的网络化地理信息系统,其基本思想是在互联网上提供地理信息,让用户通过浏览获取地理信息系统中的数据和功能服务。WebGIS的开发模式主要包括基于服务器、基于客户端和基于服务器/客户端的混合模式。客户端通过浏览器向应用服务器提交请求,应用服务器接收到客户端请求后,与后台数据库服务器进行交互,处理结果通过Internet发回客户端。本文采用的是基于服务器模式,系统结构采用B/S三层架构,结构可可分为客户端、应用服务器和数据库服务器。WebGIS是Internet技术应用于GIS开发的产物。由于Internet的迅速崛起,使得Web技术成为高效的全球信息发布技术。因此,利用Internet技术在Web上发布地理信息,就能从WWW的任意一个节点浏览WebGIS站点中的地理信息,并进行各种信息检索和处理,为地理信息的开放和共享性提供了切实可行的技术。总的来说,基于Internet的WebGIS具有以下几个方面的特点:(1)webgis是集成的全球化的客户服务器网络系统应用客户/服务器概念来执行的分析任务。它把任务分为服务器端和客户端两部分,客户可以从服务器请求数据、下载分析工具或相应模块,服务器或者执行客户的请求并把结果通过网络送回给客户,或者把数据和分析工具发送给客户供客户端使用。(2)webgis是交互系统[5]webgis可使用户在Internet上操作GIS地图和数据,用Web浏览器(IE、NS等)执行部分基本的GIS功能:如Zoom(缩放)、Pan(拖动)、Query(查询)和Label(标注),以及执行空间查询,空间分析,缓冲分析和网络分析等,在Internet上使用就和在本地计算机上使用桌面软件一样。通过超链接,提供在Internet上最自然、最广泛的交互性。(3)webgis是分布式系统数据和分析工具是独立的组件和模块,利用Internet的这种分布式系统把数据和分析工具部署在网络中不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,即不需要在本地计算机上安装GIS数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户,达到Just-In-Time的性能。Internet的一个特点就是它可以访问分布式数据库和执行分布式处理,即信息和应用可以部署在跨越整个的不同计算机上。(4)webgis是动态系统由于webgis是分布式系统,数据库和应用程序部署在网络的不同计算机上,随时可被管理员更新,对于Internet上的每个用户来说都将得到最新可用的数据和应用,即只要数据源发生变化,webgis将得到更新,和数据源的动态链接将保持数据和软件的现势性。(5)是跨平台系统对任何计算机和操作系统都没有限制。只要能访问Internet,用户就可以访问和使用而不必关心用户运行的操作系统是什么。随着Java的发展,未来的WEBGIS可以做到”一次编写,到处运行”,使webgis的跨平台特性走向更高层次.webgis能访问异构环境下的多种数据和功能,此特性是未来webgis的发展方向.异构环境下在用户组间访问和共享数据、功能和应用程序,需要很高的互操作性。开放地理组织OGC提出的开放式地理数据互操作规范(OpenGeodataInteroperablitySpecification)为GIS互操作性提出了基本的规则.其中有很多问题需要解决,例如数据格式的标准、数据交换和访问的标准、分析组件的标准规范等"随着技术和标准的飞速发展,完全互操作的将会成为现实。(6)Webgis是图形化的超媒体信息系统使用上超媒体系统技术,通过超媒体热链接可以链接不同的地图页面。例如,用户可以在浏览全国地图时,通过单击地图上的热链接,而进入相应的省地图进行浏览。另外,WWW为Webgis提供了集成多媒体信息的能力,把视频、音频、地图、文本等集中到相同的页面,极大地丰富了GIS的内容和表现能力。1.1.4webgis的优势[1]与传统相比,webgis具有以下优势:特点与优势能合并不?真正的信息共享。互联网的开放性使得地理信息数据不再只局限于专业人士范围内,即使是普通用户也能很方便地获得以前只有专业人员才能获得的信息数据。更广泛的访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而这一网络所特有的优势大大方便了的数据管理,使分布式的多数据源的数据管理和合成更易于实现。平台独立性。无论服务器客户机是何种机器,无论服务器端使用何种软件,由于使用了通用的浏览器,用户可以透明地访问数据,在本机或某个服务器上进行分布式部件的动态组合和空间数据的协同处理与分析,实现远程异构数据的共享。更高效的计算负载平衡。传统的大都使用文件服务器结构的处理方式,其处理能力完全依赖客户端,效率较低。而当今的一些高级的能充分利用网络资源,将复杂的处理交由服务器处理,而简单的操作则由客户端直接完成。这种计算能灵活地在服务器端和客户端之间合理地分配处理任务,从而提高网络资源的利用效率,从而提高了系统的性能。较低的开发和应用管理成本。传统在每个客户端都要配备昂贵的专业软件,而用户使用的经常只是一些最基本的功能,这实际上造成了极大的浪费。在客户端通常只需使用浏览器有时还要加一些插件,其软件成本与全套专业相比明显要节省得多。另外还降低了硬件配置的成本并且简化了系统的操作和管理。巨大的扩展空间。互联网的技术标准是开放的、标准化的,使得可以很容易与其它信息服务无缝集成,建立功能丰富的具体应用系统。1.2Webgis的发展现状及趋势[1]1.2.1webgis国内外发展现状(研究综述)从20世纪90年代开始,各种Webgis系统如雨后春笋般地出现,各大GIS商业软件都在向Web靠拢,开始把自己的产品与挂钩、接轨和包装。在国外,地理信息服务技术发展迅速,成为各大厂商争相发展的前沿研究课题。Mapinfo公司推出了MapXtere2004,ESRI公司早在2002年就提联出.net思想,把系统的构建方式和应用从intarnet方式推动到了internet方式,ESRI公司的理论研究一直是走在Webgis技术的前面。在国内,对于相关Web技术理论的研究比较多,如何基于网络提供成熟的地理信息服务应用正处于试验阶段。在开发和应用方面,目前提供公众基础web地理信息服务的应用比较多,基本上是政府服务公众而建立的网站式服务,包括旅游、购物、住宿、公共交通等多方面的信息,辅之多媒体形式的信息共同发布。如数字北京()等。1.2.2webgis的发展趋势(这个是不是要写在1。1里?)(1)分布式数据处理功能在传统的集中式空间数据库中,从数据采集到纳入数据库,受时间和空间的限制,给数据的更新和信息的实时发布带来障碍,往往提供给用户的信息己失去了现势性,不能作为有效的判断和决策的依据.而地理信息描述的地理事务本身是分布的,如果把地理信息布局在分布式的地理数据库中,可以实时的更新,Webgis分布式将改变这一传统模式,使数据的获取与更新可以通过网络进行。在分布式网络地理信息系统中服务器端是一个局域网内的工作组,由多个计算机协同提供服务服务器不再访问一个集中数据库,而访问分布式的数据库,但是数据和服务在服务器端的分布状况对Internet客户是透明的,用户不需要了解数据的分布状况.这样的系统具有很好的扩展性,能够提供更强大的功能和地理信息服务.(2)开放的地理数据交换体系在网络环境下如何对地理数据采用规范化的编码使得分布在网络下的所有用户可以无缝地获取、访问、浏览地理数据还存在着很大的问题。地理标记语言GML及可扩展标识语言XML已经被大多数GIS开发商接受并得到进一步的开发。(3)处理海量数据的功能随着卫星遥感和航空摄影技术的发展,通过遥感获得的地理信息越来越多,特别是小卫星高分辨率遥感图象的商业化,遥感影像成为GIS一个非常重要的信息源.这些高分辨率的卫星遥感数据不仅包含着海量的信息,而且时效性强,获取影像周期短,数据量大.这对Webgis数据的及时存储与传输提出了很高的要求。如何快速响应客户对海量数据的请求至关重要。Webgis对于海量数据如何实现有效的网络数据传输是今后研究的热点。(4)栅格、矢量数据融合处理功能矢量结构和栅格结构是GIS中两种主要的空间数据结构。由于这两种数据结构有各自的优缺点,因此在目前的系统中这两种结构一般都存在。遥感信息是地理信息系统非常重要的信息源,而且随着Webgis的发展,对遥感信息的依赖性将越来越强。因此,矢量和栅格结构之间的相互转换的技术,尤其是栅格结构转换到矢量结构的技术,显得非常重要。(5)网络三维可视化在Webgis中,结合三维可视化技术,完全再现地理环境的真实情况,把所有管理对象都置于一个真实的三维世界里,真正做到了管理意义上的”所见即所得”,网络三维GIS的应用领域越来越广泛。真正的三维GIS必须支持真三维的矢量和栅格数据模型及以此为基础的三维空间数据库,解决三维空间操作和分析问题。(6)无线地理信息系统随着Interner及无线通讯的发展,把两者结合在一起的技术应运而生,WAP就是一个成功的典范。如何把地理空间信息在移动通讯上发布是当今的热门话题,依赖后台的空间数据库,它可以提供实时的空间定位服务,然后把查询结果按照符合移动通讯设备的格式发送到终端。这种服务对地理空间信息的普及应用是很有前途的。基于arcims的湘潭地图服务发布系统第2章基于arcims的webgis构建技术第2章基于ARCIMS的WEBGIS构建技术2.1ARCIMS介绍【9】(第一章的东西好象太多了,这个才是论文的主体!)ArcIMS(InternetMapServer)是ESRI最新推出的新一代互联网上地理信息系统平台,也是目前最受欢迎的WebGIS产品之一。其结构经过特别设计用来满足在Internet上提供地理数据和服务的需求。是一个通过中心网络门户来发布GIS地图、数据和元数据的有效解决方案。使用ArcIMS构建的GIS网站允许任意数量用户通过企业局域网或Internet进行访问。ArcIMS可以很容易地制作地图服务(MapServices)、开发与地图服务进行通讯的Web页面,并且进行站点管理。应用ArcIMS能够随时扩展服务器,以满足日益增长的请求。相比其它的WebGIS软件,目前的ArcIMS有着如下特征:1.从多个数据源合并数据的能力。ArcIMS应用服务器能同时连接不同的数据源,同时提供多个服务,每个服务可以包括单个地理图层或同时包括多个图层,而客户端可以选择访问其中某些服务或同时访问全部服务,并且客户端同时还可以访问本地数据源。2.安全访问地图服务。为管理站点安全,ArcIMS提供SecureSocketLayers(SSL)和HTTPS。此外,ArcIMS为地图服务进行用户身份验证,允许你定义哪些用户可以访问GIs数据。3.具有许多GIS功能。ArCIMS让你把许多GIS功能结合进你的Web站点。你可以提供影像着色,要素流,数据抽取,地理编码,以及进行空间和属性数据查询的功能。4.基于标准通讯,ArcIMS客户和服务器使用ArcXML通讯,是对XML的一个GIS扩展,ArcXML也提供易于使用、强大的方式定制ArcIMS应用。5.支持相当多的客户端,不仅包括文本所讨论的普通HtmlViewer和javaViewer这些免费客户端,还包括专门的WebGIS浏览器ArcExplorer、PDA用的ArcPad等其它ESRI的产品。6.有用的元数据服务,用来索引和共享地理信息。当和ArcSDE、ArcGIS桌面以对其连接使用时,ArcIMS让你创建一个中心知识库,用来自在Internet上发布和浏览数据。使用ArcGISArccatalog应用可以很容易的创造元数据,公布到ArcIMS元数据服务器,并能被其他人快速查到。连同ArcIMS元数据服务一起,用户可以收到元数据资源浏览器,可用来构建一个定制的,基于浏览器方式查询数据的一个JSP应用程序。可以快速搜索数据,因为用户是在任意组合地理范围,内容类型,数据格式或关键字基础下进行查询。2.2ARCIMS的体系结构ArcIMS运行在一个分布式的环境中,由客户端、服务器端和中间的WebServer组成。服务器部件允许你扩展一个站点使之有提供GIS服务的能力。ArcIMS站点可以提供GIS数据,地图以及应用。用ArcIMS可以设计并制作一个GIS站点。许多客户端的应用能够通过Internet连接到该站点,这些客户端应用从ArcIMS自带的HTMLViewer和JavaViewer浏览工具到更高级的ArcGISDesktop应用。图2-1ArcIMS的体系结构2.2.1服务器端的组件构成[4]ArcIMS的核心在服务器端的一系列组件上,服务器端的组件包括ArcIMS客户端连接器、ArcIMS应用服务器、ArcIMS空间服务器和一系列用来定制、设计、发布、管理地图服务的工具构成(例如Author,Designer,Administrator等)。服务器端包含应用程序:(1)Administrator:负责创建管理WebGIS系统的服务器(2)Author:对栅格和矢量数据进行组织生成AXL文件,定制地图服务(3)Designer:设计Web发布站点,定制客户端看到的界面,生成站点(4)Manager:可远程登陆服务器,对以上二个应用程序进行使用管理(5)Diagnostics:对服务器网站产生的问题进行诊断修复ArcIMS服务器端部件包括:(1)ArcIMSSpatialServer(ArcIMS空间服务器)(2)ArcIMSApplicationServer(ArcIMS应用服务器)(3)ArcIMSApplicationServerConnectorsArcIMS(应用服务器连接器)(4)ArcIMSManager(ArcIMS管理器)2.2.1.1ArcIMS空间服务器ArcIMS空间服务器处理对地图及相关信息的请求。当接收到一个请求后,ArcIMS空间服务器主要执行以下功能:(1)产生地图影像文件(2)将地图要素生成矢量流(3)查询数据库(4)使用地理编码,执行地址匹配操作(5)抽取或裁剪数据,返回一个Shape文件格式的数据子集。ArcIMS监控器(Monitor)和ArcIMS任务分配器(Tasker),作为两个中问进程在后台运行,支持ArcIMS空间服务器。它们可以作为Windows的服务或者UNIX的后台进程存在。图2-2ArcIMS空间服务器ArcIMS应用服务器ArcIMS应用服务器处理请求的负载平衡,并且追踪地图服务(MapService)运行在哪一个ArcIMS空间服务器上。ArcIMS应用服务器可以将请求传递到一个适当的ArcIMS空间服务器。ArcIMS应用服务器是一个基于Java的应用,作为Windows的服务或者UNIX的后台进程存在。图2-3ArcIMS应用服务器ArcIMS应用服务器连接器ArcIMS应用服务器连接器用于连接Web服务器到ArcIMS应用服务器。ArcIMS提供了多种连接器:(1)ServletConnector(2)ColdFusionConnector(3)ActiveXConnectorServletConnector是ArcIMS标准的连接器,是ArcIMS的默认连接器。它使用ArcIMS语言,即ArcXML,在Web服务器与ArcIMS应用服务器之间进行通讯。ArcXML是ArcIMS版本的XML,即可扩展的标记语言(eXtensibleMarkupLanguage)。ColdFusion和ActiveX连接器应用于特定的客户端,并将它们的语言翻译成ArcXML,用来和ArcIMS的应用服务器进行通讯。ArcXML[7]ArcIMS在不同的部件之间使用ArcXML进行通讯。ArcXML文件看上去与HTML页面类似。不同点是,HTML主要用于描述页面的显示结构,而ArcXML提供描述内容的结构。ArcXML的标记和属性用于描述下列结构:(1)地图服务(MapService)的配置文件。这些文件描述地图如何显示,包括图层清单及图层的显示符号等内容。(2)请求。请求可以在一个己经存在的地图服务配置文件上设置一个过滤器,指定地图上的哪一部分及相关的数据将会被处理。(3)应答。应答向客户端返回信息。(4)ArcXML设置地图服务内容,并且在客户、中间层和服务器之间处理、请求和应答。2.2.2客户端组件构成[5]ArcIMS提供了两种不同的客户端显示方式:HtmlViewer和JavaViewer。不同的客户端决定了ArcIMS站点的功能和外观,也决定了提供哪些空间、属性查询工具和显示工具。HTMLViewerHTMLViewer是由一组HTML和JavaScript程序组成。它比任何一种JavaViewer都更轻巧,但还不是最瘦的Viewer,Viewer的胖或瘦代表了需要下载此,Java客户端比其他的客户端更胖。通过Javaviewer浏览网站,用户必须首先下载两个plug-ins。JavaStandardViewer无法定制工具或布局。而JavaCustomViewer可以通过HTML和JavaScript调用applets进行定制。因为Netscape不支持applet编程,因此JavaCustomViewer不能在Netscape浏览器中使用。所有的JavaViewers都可以支持Image和FeatureMapServices,并且支持同时使用多个MapServices。FeatureMapService使用数据流,因此可以支持客户端的用户交互和分析功能。2.2.3中间WEB服务器ArcIMS支持多种Web服务器。Web服务器主要是用来接受客户端发送的请求,然后再通过Connector连接器连接到ArcIMS的应用服务器。同时Web服务器也负责接收ArcIMS地图服务返回的请求结果并把请求结果返回到相应的客户端。Web服务器还负责站点和地图的发布,使得客户端可通过Internet和Intranet访问到服务器端发布的地图服务所对应的站点。2.3管理工具[4]管理工具实现将要发布的数据的整理、网站的设计以及网络服务的管理,它包括Author、Administrator和Designer三部分。(1)ArcIMSAuthorArcIMSAuthor允许用户定义地图应用的内容,包括添加数据、设置地图属性(设置图层显示方式、设置根据比例尺显示图层,建立查询和地理编码功能和增加描述地图要素的标注等),产生一个在线地图作为地图服务。地图服务允许地图配置文件的内容在Internet上发布,并且设置Web站点的功能框架。ArcIMSAuthor输出一个地图配置文件。该文件可以独立于ArcIMSAuthor环境用文本编辑器进行编辑。Internet地图能够由Shape文件、ArcSDE数据集和影像文件组成;(2)ArcIMSAdministratorArcIMSAdministrator可以使用Author组织的数据建立地图服务,设置地图服务的属性以及地图服务的启动、停止等;(3)ArcIMSDesignerArcIMSDesigner可以使用Administrator已经建好的服务,生成一个网站。它提供了很好的向导功能。ArcIMSDesigner通过一系列对话框帮助用户选择客户浏览器使用的地图服务、模板和功能。它让用户在预先定义的菜单中选择工具条上的功能按钮。ArcIMSDesigner通过与用户的交互操作,生成一个包含地图服务功能的ArcIMSViewer,其输出结果是一系列HTML页面。Web页面可以包含所有工具,也可以为满足特殊需要进行定制。图2-4管理工具2.4Arcims的运行机制[4]ArcIMS的具体运作是这样完成的(见图3-5):客户端根据初始化的情况或用户的某一操作,转换为一个具体指令,发送给Web服务器,再通过Connector提交给ApplicationServer处理;ApplicationServer根据客户端的具体请求和客户端的类型、配置,提交给SpatialServer去读取数据集、进行具体的处理。处理的结果再按照相反的顺序回应给客户端,由客户端进行显示或其他操作。整个操作的请求/应答,无论是操作指令还是操作结果,全部为ArcXML格式。在这一过程中,Web服务器和Connectors之间、更确切地说应该是和支持Connectors运行的服务器端引擎之间,是通过TCP/IP协议的某一端口实现监听与通讯的;在Connectors和ApplicationServer之间,同样是通过一个指定的TCP/IP端口实现通信;如果SpatialServer是读取SDE数据源,同样依赖于TCP/IP协议,可见TCP/IP协议在ArcIMS体系结构内的重要性。图2-5Arcims的运行机制2.5基于ArcIms的地图服务响应过程[1]以ArcIms中Author工具为例,基于的地图服务响应过程分为以下几步,当用户创建基本的站点时,把用户选择的数据(例如shapefiles、影像)等整理成地图的图层设置显示比例尺,要素表现特性,和地理编码并输出一个用户写的地图配置文件.用这个地图配置文件生成一个Mapservice,ArcIms空间服务器解析用户请求并进行相应的处理,根据地图配置文件中的定义把这些数据组织在一起发送给客户端图2-6基于ArcIms的地图服务响应过程2.6ArcIMS地图服务的创建与管理【3】【7】地图服务(MapServices):只是在ArcXML编写的地图配置文件(Mapconfiguationfile)文件中定义的待发布数据的视图,它本身并不是一个物理文件。因为地图配置文件(Mapconfiguationfile)只存储了数据的引用信息以及数据是如何表达的,地图服务(MapServices)依赖地图配置文件(Mapconfiguationfile)。但是,地图配置文件(Mapconfiguationfile)并不依赖地图服务(MapServices)。在创建地图服务(MapServices)时,必须指定一个虚拟服务器。下图显示了ArcIMS空间服务器(ArcIMSSpatialServer)与地图配置文件(Mapconfiguationfile),地图服务(MapServices),请求(requests)和响应(responses)之间的交互作用。如图图2-7地图服务的建立(1)使用ArcIMS的Author程序可按照要求任意改变多边形、点、线和文字标签的显示,也可以设定其显示的比例尺范围,使得要素只在一定的比例尺内才显示。此外,还可以为查询属性表格数据设定好变量。设定显示图层及符号与颜色等等,建立地图配置文件(Mapconfiguationfile)。或者打开文本编辑器、XML编辑器使用ArcIMS语言编写地图配置文件。地图配置文件(Mapconfiguationfile):是记录了所要发布的数据,这些数据的存储位置以及这些数据是怎样显示的。地图配置文件是用ArcXML语言编写,它并不存储真实的数据图层,而只是存储了这些数据的引用信息。(2)使用ArcIMS的Administrator程序,在ArcIMS空间服务器(ArcIMSSpatialServer)内启动一个地图服务(MapServices),使用第一步获得的地图配置文件(Mapconfiguationfile)。(3)ArcIMS空间服务器(ArcIMSSpatialServer)接受一个ArcIMS的请求(requests)。(4)ArcIMS空间服务器(ArcIMSSpatialServer)产生一个ArcIMS的响应(responses)。基于arcims的湘潭地图服务发布系统第3章湘潭市地图服务发布应用系统的实现第3章湘潭市地图服务发布应用系统的实现3.1系统实现的相关技术3.1.1JavaScript在ArcIms开发中的应用[1]JavaScript是一种基于对象的脚本语言。它具有安全性及广泛性,使用它可以开发Internet客户端的应用程序。JavaScript在HTML页面中以语句形式出现,并且可以执行相应的操作在开发基于arcims的Webgis中,创建JavaScript,以便在客户端实现一些额外的功能.JavaScript程序的设计简单,直观,结构模块化且代码可复用。但是,JavaScrip是个脚本语言,而不是完整的编程语言,它不支持分类,继承,包装和信息隐藏等面向对象编程的基本功能。所以我们将它与VS2005结合使用,能达到开发系统的需求。3.1.2VisualStudio2005在ArcIms开发中的应用[2]【8】VS2005是微软推出的面向未来的技术和平台,特别是在开发上带来了颠覆性的改变,基于技术的应用和服务能使各种异构的系统无缝集成到一起,实现真正的跨语言和跨平台的分布式应用.如何vs与ArcIms结合开发是很值得研究的内容。利用的集成开发环境VS2005把功能分别封装成一个用于前台表现的webgis控件和一个后台服务组件,两者均由独立的程序集dll实现,从而把服务层和表现层分离开来,能使系统具有更好的可扩展性和灵活性。ArcIMS可以通过ImageServices的形式提供空间信息服务,服务之间的通讯采用符合XML(可扩展标记语言)标准的ArcXML来传递.利用.NET里的ASP.NET技术,结合ArcIMS的Serv2let连接器可以实现与ArcIMSImageServices交互的WebGIS控件,同时通过灵活定制个性化的ArcXML语句可以开发出可伸缩性和可扩展性更好的WebGIS应用图3-1.NET体系结构ASP.NET是统一的Web开发平台,可为开发人员提供快速生成企业级Web应用程序所需的服务.是一个己编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasie.NET、C#、J#和C++)创建应用程序。另外,任何ASP.NET应用程序都可以使用整个.NET框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等。这其中代码分离技术(CodeBehind)是最大的优点之一。3.2系统开发目的与环境近年来,随着“数字地球“、“数字城市”等概念的提出,以及网络、电子等技术的日趋完善和成熟,城市信息化建设得到了突飞猛进的发展,城市信息化的建设主要是依托硬件网络,通过信息技术手段,在提高工作效率和水平的同时,也为广大人民群众提供快捷、方便的服务,使居民切实感受到信息化带来的便利和实惠。湘潭市地图服务发布应用系统就是利用地理信息系统的独特优势,结合政府管理与服务工作的需要,以城市基础地理数据为基础,以客观科学的统计分析为手段,为政府行政管理和科学决策提供更为直观快捷和经济的辅助手段,以信息服务、辅助决策和服务大众为目标,将技术引入到日常工作、生活中,是城市信息化建设道路上的有益探索和尝试。3.2.1系统开发目的(1)有效整合大量空间数据,将以前散落的资料、数据加以规整,方便随时查询利用。(2)结合空间信息与人口、社会经济信息进行查询、统计,同时结合强大的分析功能,完成辅助决策。原来需要到处查找各种资料、数据,手工进行计算操作等工作时费时费力,缺少统计与分析,利用此系统可以方便地解决。(3)方便快捷的网上服务,提高社区居民的生活水平和生活质量,为居民的生活旅游提供方便快捷的服务。3.2.2软件环境客户运行环境Web浏览器:MicrosoftIE5.0以上版本服务器平台用IIS6.0以上版本建立Web网站和应用程序服务器操作系统:Windows2000Server/XPProfesional;开发工具MicrosoftVisualStudio2005提供编程环境,开发A网站系统ArcIMS9.2。创建发布地图服务ESRIarcmap矢量化地图,并修改图层属性J2SESDK1.4.2提供JAVA运行环境5.开发语言:C#,Javascript3.3系统设计及分析3.3.1系统设计思路利用VS2005ADF模板和ArcIMSImageServices,结合的实例简单介绍设计和实现的过程.湘潭市导航信息系统设计上采用基于B/S(Browser/Server)的3层体系结构(如图3-2),通过把数据层和服务层分离出来可以满足将来系统扩展的需求.系统的实现上分为数据的存储和配置、网站的设计和ArcIMS地图服务的创建和管理几部分内容.数据的存储和组织:系统使用的数据是湘潭市1∶10000万的Shapefile格式数据,包括市区界面、主要道路、主要河流、、主要建筑物、等基础地理数据,数据使用Author实现数据的加载、数据层显示属性的设置以及按照点、线、面的顺序叠加图层,最后生成各个axl文件采用ArcXML描述数据的组织情况.图3-2基于B/S的3层体系结构3.3.2系统开发流程系统前期数据通过arcmap矢量化并编辑其图层属性设置,导入Author进行地图文件配置,通过Administrator发布imagesevice地图服务,最后用VisualStudio设计地图网站,如图:数据前期预处理(arcmap矢量化并编辑图层)数据前期预处理(arcmap矢量化并编辑图层)Author地图文件配置(生成AXL文件)Author地图文件配置(生成AXL文件)Administrator发布imagesevice地图Administrator发布imagesevice地图服务VVisualStudio设计并构建居于地图服务的web站点地图管理功能辅助功能空间分析功能地图管理功能辅助功能空间分析功能活动层显示全图显示地图缩小地图放大点击查询功能缓冲区分析功能鹰眼导航放大镜功能活动层显示全图显示地图缩小地图放大点击查询功能缓冲区分析功能鹰眼导航放大镜功能距离量算功能空间查询功能图3-3系统开发流程与功能图3.3.2系统的体系结构(1)WebGIS客户端客户端浏览器方面采用常用的IE浏览器6.0版本,因为这种浏览器的应用最为普遍,一般的用户不需下载其他的控件或插件就可以使用本网站查询地理信息,这样做可以降低系统的使用成本。由于操作简单,使得GIS系统可以为普通的用户所接受。(2)WebGIS服务器端。服务器端的构成包括:Web服务器、ArcIMS应用服务器连接器、ArcIMS服务器端和空间数据服务器四个部分。图3-4系统系统结构1.Web服务器端。用于接收来自客户端的请求信息,并把请求移交给ArcIMS应用服务器。本系统的Web服务器采用的是Microsoft的InternetInformationServer(IIS)技术。为了扩展Web服务器使其可以处理Java代码,还应用了Servlet引擎(本系统采用的是ServletExec)。2.ArcIMS应用服务器连接器。ArcIMS应用服务器和Web服务器之间通过Servlet连接器(本系统采用JavaConneetor连接器)进行通讯,请求和响应之间以ArcXML格式进行。3.ArcIMS服务器端包括ArcIMS应用服务器、ArcIMS空间服务器。其功能是接受来自Web服务器的请求,并生成所访问地图数据的“快照”,以影像数据的格式传回给客户端显示。4.空间数据服务器。本网站的所有数据均采用shapefile的文件格式提供数据服务3.4ArcIMS创建地图服务AXL(theArcextensiblemarkupLanguage)文件格式定义了数据存储时的一种标准,AXL文件记录格式与XML相同,是基于ArcXML语言编写的。AXL文件是ArcIMSAuthor的输出文件。ArcIMSAuthor在写AXL文件时记录了所要发布的是哪些数据,这些数据的存储位置以及这些数据是怎样显示的。AXL文件并不存储真实的数据图层,而只是存储了这些数据的引用信息。当ArcIMSAuthor中点击“save”会生成AXL文件(AXL文件名与初次生成站点时指定的MapFile名相同)。AXL文件是文本文件,可以在写字板中打开进行定制。图5-2、图5-3、为本系统地图配置文件即AXL文件建立过程:1.Author是三个ArcIms管理应用程序之一,它支持以下几种数据格式(shapefiles、影像格式等)通过该工具,允许Web开发者决定在站点中使用哪些数据,以及这些数据的显示效果可以符号化任一个点、线、面或文本标注可以设置比例尺因子,定义在哪个比例尺范围内进行图层显示还可以设置属性数据查询如图,使用Author创作地图配置文件,通过设置图层属性,修改图层的表现,为图层定义标注,设置参考比例尺,设置比例尺的屏幕坐标和实际坐标,保存地图配置文件。图3-5系统的配置文件<?xmlversion="1.0"encoding="UTF-8"?><ARCXMLversion="1.1"><CONFIG><ENVIRONMENT><LOCALEcountry="CN"language="zh"variant=""/><UIFONTcolor="0,0,0"name="SansSerif"size="12"style="regular"/><SCREENdpi="96"/></ENVIRONMENT><MAP><PROPERTIES> <ENVELOPEminx="72.87063403315173"miny="-4588.041681458456"maxx="3972.7095224486106"maxy="-1964.1567917695315"name="Initial_Extent"/> <MAPUNITSunits="decimal_degrees"/></PROPERTIES><WORKSPACES> <SHAPEWORKSPACEname="shp_ws-0"directory="C:\DocumentsandSettings\fang\桌面\xtmap"/></WORKSPACES><LAYERtype="featureclass"name="河流"visible="true"id="0"> <DATASETname="river"type="polygon"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOLboundarytransparency="1.0"filltransparency="1.0"fillcolor="151,183,214"boundarycaptype="round"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="区域"visible="true"id="1"> <DATASETname="region1"type="polygon"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOLboundarytransparency="1.0"filltransparency="1.0"fillcolor="255,234,190"boundarycaptype="round"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER><LAYERtype="featureclass"name="花园"visible="true"id="2"> <DATASETname="park"type="polygon"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOLboundarytransparency="1.0"filltransparency="1.0"fillcolor="200,220,100"boundarycaptype="round"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="道路"visible="true"id="4"maxscale="1:1791414545"> <DATASETname="road"type="line"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLELINESYMBOLwidth="1"captype="round"color="232,190,255"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="公交站点"visible="true"id="5"> <DATASETname="stop"type="point"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="51,102,51"width="5"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"labelpriorities="2,2,2,4,5,1,2,4"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER><LAYERtype="featureclass"name="学校"visible="true"id="6"> <DATASETname="school"type="point"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="122,190,255"width="6"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="旅馆"visible="true"id="7"> <DATASETname="hotel"type="point"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="127,127,127"width="6"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="医院"visible="true"id="8"> <DATASETname="hospital"type="point"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="255,0,0"type="star"width="6"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"labelpriorities="2,2,2,4,5,1,2,4"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER><LAYERtype="featureclass"name="政府部门"visible="true"id="9"> <DATASETname="goverment"type="point"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="0,0,255"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"labelpriorities="1,2,2,4,5,3,2,4"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER><LAYERtype="featureclass"name="部门"visible="true"id="10"> <DATASETname="department"type="point"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="0,0,255"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="公司"visible="true"id="11"> <DATASETname="corporation"type="point"workspace="shp_ws-0"/> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="127,227,27"type="triangle"/> </SIMPLERENDERER></LAYER><LAYERtype="featureclass"name="建筑楼盘"visible="true"id="12"> <DATASETname="building_dish"type="point"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="27,27,27"width="6"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"labelpriorities="1,2,2,4,5,3,2,4"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER><LAYERtype="featureclass"name="银行"visible="true"id="13"> <DATASETname="bank"type="point"workspace="shp_ws-0"/> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEMARKERSYMBOLcolor="227,227,127"width="6"/> </SIMPLERENDERER> <SIMPLELABELRENDERERfield="name"labelpriorities="2,2,2,4,5,1,2,4"> <TEXTSYMBOLfont="宋体"fontstyle="regular"fontsize="10"/> </SIMPLELABELRENDERER> </GROUPRENDERER></LAYER></MAP></CONFIG></ARCXML>AXL文件创建好了后,必须在中间件中进行注册,这一过程被称为“启动地图服务”。ArcIMSAdministrator就是用来让服务器与中间进行通讯的应用程序。一旦创建了地图服务并用ArcIMSAdministrator启动服务后,就可以设计网站进行发布了。下图5-4为启动地图服务的过程。使用Administrator管理ArcIMS服务,Administrator用来管理ArcIMS服务,将会使用已经创建的地图配置文件生成ArcIMSImageService。图3-6创建imageserver地图服务3.5网站的设计在VisualStudio2005下把控件直接拖拉到各个模块的WebForm上实现系统快速构建.通过调用IMSWebControl里的各种接口,可以生成个性化的ArcXML语句发送给服务层,为每个模块实现其特殊的GIS功能,最后在网站的每个模块里修改mapresourcemanage控件的相应属性,指定其ImageServices所在的服务器名称和服务名称,系统运行后每个模块即可实现基本的GIS功能。3.6系统主要功能实现【11】【12】该系统主要包括以下几个模块:(1)图形的基本操作:可以实现视图的放大、缩小、漫游、左移、右移、上移、下移、全图显示和活动图层显示,通过这些功能可以按用户的需要显示各种环境要素的地理范围.(2)图层管理功能:用户可以灵活设置各个图层的显示或隐藏,任意选择激活当前要操作的图层,这可以突出显示某些环境要素,满足地图综合、图数互查和专题制图的需要.图层管理地图显示点击查询距离量算苏澳放大镜图层管理地图显示点击查询距离量算苏澳放大镜图3-7系统主界面(3)鹰眼图功能,鹰眼在界面的右上角"用户对地图进行了放大、平移等操作时地图显示出了所希望显示的区域,但却不知道当前显示区域在整个城市中的位置,为了使用户方便地观察一个目标或区域在整个城市中的地理位置,系统提供了鹰眼的功能,可以很方便地表示出用户正在观察的目标或区域在城市中的概略地理位置,也可以通过在鹰眼中按动鼠标左键单击城市地图全图的某一点,从而将红色的矩形框的中心移到你所确定的那一点,在地图显示区中显示的当前地图的中心也将快速移动到用户所确定的那一点,达到快速移图的效果。图3-8系统鹰眼功能(4)导航功能,通过导航快速定位地理位置。图3-9系统导航功能(5)距离量算功能,可量算地图上某点的坐标、某两点间或多点连接的路径间的距离及任意多边形的面积。在图中任意点击两点,即显示两者之间的距离,如图:图3-10系统距离量算功能任意画出某多边形,即可显示该多边形的面积,如图:图3-11系统多边形面积的量算功能(6)放大镜功能点击,即弹出,可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论