首页 ArcGIS_server发布Webservice通过Flex编程的详细图解教程

ArcGIS_server发布Webservice通过Flex编程的详细图解教程

举报
开通vip

ArcGIS_server发布Webservice通过Flex编程的详细图解教程通过Flex访问Web Services 基于Flex和REST的地图服务发布方法 摘要:Flex+REST是目前非常热门的分布式系统解决方案之一。本文基于该系统构架,重点介绍如何发布REST服务,并且在FLEX中配置ArcGIS API for Flex类库以及访问ArcGIS Server发布的REST服务。最后扩展讨论几个基于Flex框架开发的GIS服务网站。 关键词:Flex;REST;WebGIS;ArcGIS Server 1 绪言 WebGIS即万维网地理信息系统,是利用交互网络技术扩展和完善地理信息...

ArcGIS_server发布Webservice通过Flex编程的详细图解教程
通过Flex访问Web Services 基于Flex和REST的地图服务发布方法 摘要:Flex+REST是目前非常热门的分布式系统解决方案之一。本文基于该系统构架,重点介绍如何发布REST服务,并且在FLEX中配置ArcGIS API for Flex类库以及访问ArcGIS Server发布的REST服务。最后扩展讨论几个基于Flex框架开发的GIS服务网站。 关键词:Flex;REST;WebGIS;ArcGIS Server 1 绪言 WebGIS即万维网地理信息系统,是利用交互网络技术扩展和完善地理信息系统的一项技术。随着WebGIS的发展,用户对他的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 现形式有了更多的期待。同时开发人员也希望有更简洁和伸缩性高的构架的出现。 WebGIS实现技术总的归纳起来可以分为基于瘦客户端和胖客户端两种方案。基于瘦客户端的方案中客户端只采用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的WEB技术,如HTTP、HTML和Javascript。胖客户端的发难则是通过下载安装插件来增强浏览器的能力。代表技术有Plug-in、ActiveX控件技术以及Java Applet技术和SVG技术。瘦客户端的开发模式已经成为当前WebGIS的主流开发方式,基于B/S架构的WebGIS得到迅速发展,但是随着互联网影响的不断扩大,以及GIS技术广泛应用到各行各业中,人们已逐渐不满足于目前的WebGIS网页技术的表现效果和交互性,而希望WebGIS有类似C/S的表现效果和交互性。 RIA(Rich Internet Application,富互联网应用系统)是新一代网络应用程序,概念最早是由Macromedia公司在2002年提出的。它把桌面应用程序的交互性和用户体验与传统的Web应用的部署灵活性和成本分析结合起来。它具有无需刷新页面并提供快速界面响应等优点。光就用户体验来讲,RIA前景一片看好。基于RIA客户端开发的新框架也不断涌跃,有代表性的如微软的Silverlight、Sun公司的JavaFX以及Adobe公司的Flex。Flex的优势是先入为主,据Adobe公司2007年底的调查显示,经过近十年的推广,互联网上95%以上的计算机都安装了FlashPlayer9,而且这个数字正以每天百万级的速度在增长。 Flex与REST进行结合是目前非常热门的分布式系统解决方案之一[1]。将这个方案应用到WebGIS中,就能轻便地建立起表现力丰富、交互性极好的基于Web的地图应用程序。REST式软件构架是Roy Thomas Fielding博士在2000年首次提出的一种面向资源的构架。ESRI公司在2008年10月底发布了一套强大的基于Flex的ArcGIS API for Flex类库。 本文基于这种Flex+REST构架,重点介绍如何发布REST服务,并且在FLEX中配置ArcGIS API for Flex类库以及访问ArcGIS Server发布的REST服务。 2 基于Flex/REST的WebGIS系统发布方法 基于Flex+REST的WebGIS系统总体构架相对于与传统的REST风格构架组成要简单些,只包括两个部分:ArcGIS Server 9.3服务端和装有FlashPlayer的浏览器端。服务器端采用ArcGIS Server9.3,通过ArcGIS Server Manager发布为REST服务,在Flex Builder3.0中配置GIS服务的API环境,利用API进行实例开发,开发完成后进行最终测试、发布。 2.1 地图发布 WebGIS系统展现和操作需要的资源,可以通过GIS服务器发布。文本重点学习地图服务资源的发布方法和步骤。 第一步:制作地图文档。基于REST API的WebGIS应用从ArcGIS Server客户端得到的地图服务数据其实是由一些地图服务图层(包括ArcGISTiledMapServiceLayer或ArcGISDynamicMapServiceLayer或ArcGISImageServiceLayer或ArcIMSMapServiceLayer)组成的。其中每一个地图服务层都通过URL对应ArcGIS Server中发布的一个Map Service,而每一个Map Service都是源自于一个地图文档(Map Document)。地图文档的扩展名是*.mxd。在ArcMap中设置好需要显示的地图图层,以及它们的显示次序、符号显示特征等属性后保存为mxd文件即可(如下图所示)。 第二步:发布地图服务并设置服务的属性。ArcGIS Server提供了两种方法来发布空间服务。一种是利用ArcCatalog中的ArcGIS Server服务管理方式进行发布;另一种方式是通过网页形式的ArcGIS Server Manager方式进行服务的发布与管理。文本学习第二种方式发布和管理服务,该方式可以摆脱ArcGIS的桌面环境,方便在远程发布服务。利用ArcGIS Server Manager发布管理GIS资源的具体步骤如下: 1、​ 输入用户名和密码登录ArcGIS Server Manager。 2、​ 单击服务器管理器中的Services选项卡,点击“Add New Service”。在“Name”中输入要发布的服务名,“Type”为Map Service,并点击“下一步”。 3、​ 在“Map Document”中浏览需要发布的地图文档,并点击“下一步”。 4、​ 点击“下一步”。 5、​ 点击“下一步”。 6、​ 点击“下一步”。 7、​ 如果想改变任何属性,可以点击“Previous”返回上一步修改,点击“Finish”完成发布。 8、单击服务器管理器中的Services选项卡,点击“Manage Services”,可以对已经发布的服务项进行管理,如启动、停止、暂停、重启等。 2.2 测试浏览REST服务 ArcGIS Server9.3引入了服务浏览器。可以通过浏览器查看ArcGIS Server发布的服务,只要在浏览器中输入URL地址,就可以访问ArcGIS Server的REST服务目录,方便查看可用的地理信息系统网络服务,也可以获取开发过程中的有用信息。 在浏览器中打开ArcGIS Server上的目录,例如,打开http://chica/ArcGIS/rest/services,首先会看到主页(如下图),其中列出了所有服务目录以及含有更多服务的文件夹。除了服务名称,还可以看到服务类型,如MapServer。 点击服务名称,可以获得更多的信息。如果点击的是地图服务器,用户可以看到的信息包括图层名称、文档信息以及支持的程序接口等。例如点击ccc之后,如下图所示。 注意其中两点,a) 如果继续点击图层链接,可以了解服务中每个图层的信息。通过这种方式,服务目录可以展示服务的大量元数据。例如点击“Export Output”,可以查看该图层的详细信息。 b)该地图服务支持的程序接口有REST和SOAP。继续点击“REST”,会出现REST风格的信息描述。http://chica/ArcGIS/rest/services/ccc/MapServer?f=json&pretty=true。 2.3 在Flex中调用该服务 用ArcGIS API for Flex开发的程序使用Flex作为前端展现,后台连接ArcGIS Server REST Service ,而且不需要在本机上安装ArcGIS Server,只要通过网络连接到其他机器上的ArcGIS Server即可访问资源了。在Flex中可以将ArcGIS Server的地图和任务应用到Web应用程序中。 2.3.1 配置ArcGIS API for Flex类库 在Flex Builder3(如下图)的开发环境中,可以轻松集成配置所需的API。ArcGIS API for Flex是免费的。 在使用ArcGIS API for Flex之前,我们首先需要在Flex Builder3中,对它进行配置。先从ArcGIS Resource Centers网站[2](网址:http://resources.esri.com/arcgisserver/apis/flex/)上免费下载ArcGIS API for Flex类库(*.SWC)到本地机上,下载之后部署到Flex Builder3中。具体步骤如下: 1、打开Flex Builder3,对新建的工程,右击选择“Properties”。 2、左侧选择“Flex Builder Path”,右侧选择“Library”,点“Add SWC”。 3、选择要添加的SWC,点击OK即可。 选择需要添加的SWC 添加的ArcGIS API for Flex类库(SWC) 2.3.2 在Flex中调用REST服务 配置好开发环境之后,就可以用MXML和ActionScript3.0调用Flex API中的类编写代码来调用ArcGIS Server中的资源了。以下还是以前面发布的地图服务资源为例,说明在REST风格构架下,如何方便地利用URL调用ArcGIS Server服务器上的资源。 如下是摘录的获取本地ArcGIS Server中地图资源的部分代码:(地图服务名为”ccc”)。 assets/hm.jpg 上海副中心:花木 程序中调用ArcGIS Server地图资源只需要在地图标签中提供URL地址即可。该URL地址可以利用ArcGIS Server服务目录查看获得,详见前一节所述。 因为此资源是未缓存的动态图层,所以使用图层标签,如果是缓存的Tiled图层,则应使用标签。 GraphicaLayer图层使得系统能够在地图之上叠加图形(graphics)。它有符号属性(Symbol),对添加到该层中的点、线、面设置不同的样式。 地图控件还可以添加范围属性extent,可以设置初始化时地图显示的范围,如设置为上海市区范围。(如下图所示) 2.3.3 编译调试、发布 可以使用Flex中的Flex编译器编译成SWF文件。 上述方法是在Flex Builder3中编译程序后得到的调试版本的SWF文件,当系统已经完成时,可以在Flex Builder3中使用导出发布编译(Export Release Build)创建最终的版本。 3 结论和思考 基于Flex+REST构架的是一种很好的WebGIS应用程序开发模式。在重点学习实践REST地图服务发布和Flex调用服务的过程后,有以下几点总结: 1、利用ArcGIS Server Manager发布REST地图服务,不需要在本地机上安装ArcGIS Server,只要连接到其他机器上的ArcGIS Server就可以访问资源了。 2、在Flex中调用服务时,只需要从ArcGIS Server服务目录查看得到REST服务的URL地址,并提供给MXML中的相应标签属性,即可实现对该服务的访问。 3、ArcGIS API for Flex提供了很多在WebGIS程序开发中常用到的功能组件,比如地图放大、查询、访问WebService等,可以方便WebGIS程序开发员的使用。 在本科阶段学习过WebGIS,当时学习的目的主要在于初识WebGIS,对其概念、开发构架以及实现技术的认识都比较浅显。在研究生阶段,学习的目的转为更深入的认识WebGIS并且试图在了解的基础上,实践一些技术实例。通过这个学期的学习和实践,在理论学习和实践上都受益颇多。 4 实例扩展 将Flex应用到WebGIS领域中,可以给用户带来比较炫酷的界面和交互式体验。目前,在国外已经有一些大公司打造了基于Flex客户端的地图API,让我们来浏览一下这些地图网站的风采。 4.1 Yahoo! Maps Flash API 雅虎在2005年11月推出地图服务的时候就直接采用了Flash,后来又率先试用Flex开发Map系统。因为这可以提供其它服务商所不具备的交互体验。这款Yahoo maps集合了搜索、地图浏览、卫星地图、鹰眼图等基础功能。 雅虎同时推出Yahoo!Maps Flash API,使得开发人员开发自己的地图应用变得简单,能够很方便地将许多增强功能和精确的地图数据集成到自己的Flex应用程序中。 雅虎地图网址为[3]:http://maps.yahoo.com/,界面如下图所示。 4.2 Google Maps API for Flash Google Maps API for Flash使得Flex开发人员能够把Google Map 嵌入到Flex应用程序中。该API提供了很多实用的工具用到操控Google Map。利用该API,可以处理地图事件、添加地图控件、在地图上添加标记或者在地图上面画线,还可以利用Geocoding将地址转换成经纬度数据。 利用此API开发的著名网络系统有Up2Maps。它可以以专 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 地图的方式查看和发布研究数据。用户可以直接在行政边界上输入数据或者以电子数据表Excel的形式上传数据,生成自己的专题地图,导出插入到自己的文件中去。此外,还有在数据地图中查找邮政编码、查看所在区域的人口数据(TreeMap)、在不同边界查看数据、从库(标签)中自定义地图等功能。 系统网址为[4]:http://www.up2maps.net/。系统界面如下图所示。 4.3 ESRI的ArcGIS API for Flex ESRI公司在2008年10月底发布了一套强大的基于Flex的ArcGIS API for Flex类库,可以在RIA(富互联网应用系统)中实现丰富的GIS功能,除此之外,还可以访问Web Services的方式调用ArcGIS Server的服务资源,例如地图集、地址定位和地理处理模型等,能够在ArcGIS Server之上开发丰富的互联网应用程序。 基于ArcGIS Server Flex API开发的著名WebGIS系统有ViggiaTreno,这是一个意大利全国列车时刻查询系统,可以实时查看某路列车是否晚点以及晚点时间,实时跟踪列车行程。 系统网址为[5]:http://www.viaggiatreno.it/viaggiatreno/vt.html。系统界面如下图所示。 参考文献[1] 袁煜锋. 基于 Flex 与 REST 的 WEBGIS 研究[D]. 上海: 华东师范大学, 2009. [2] ArcGIS Resource Centers[Z]. http://resources.esri.com/arcgisserver/apis/flex/. 2010 [3] Yahoo! Maps, Driving Directions, and Traffic[Z]. http://maps.yahoo.com/. 2010 [4] Up2Maps - Create & share thematic data maps on GoogleMaps[Z]. http://www.up2maps.net/. 2010 [5] Trenitalia - ViaggiaTreno[Z]. http://www.viaggiatreno.it/viaggiatreno/vt.html. 2010 参考文献 [1] 袁煜锋. 基于 Flex 与 REST 的 WEBGIS 研究[D]. 上海: 华东师范大学, 2009. [2] ArcGIS Resource Centers[Z]. http://resources.esri.com/arcgisserver/apis/flex/. 2010 [3] Yahoo! Maps, Driving Directions, and Traffic[Z]. http://maps.yahoo.com/. 2010 [4] Up2Maps - Create & share thematic data maps on GoogleMaps[Z]. http://www.up2maps.net/. 2010 [5] Trenitalia - ViaggiaTreno[Z]. http://www.viaggiatreno.it/viaggiatreno/vt.html. 2010
本文档为【ArcGIS_server发布Webservice通过Flex编程的详细图解教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_295542
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:18
分类:互联网
上传时间:2011-02-25
浏览量:17