arcgis_server_9.3_rest中文基础教程.doc

上传人:e****s 文档编号:88145658 上传时间:2023-04-22 格式:DOC 页数:60 大小:310.50KB
返回 下载 相关 举报
arcgis_server_9.3_rest中文基础教程.doc_第1页
第1页 / 共60页
arcgis_server_9.3_rest中文基础教程.doc_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《arcgis_server_9.3_rest中文基础教程.doc》由会员分享,可在线阅读,更多相关《arcgis_server_9.3_rest中文基础教程.doc(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、ArcGIS Server 9.3 REST 基础教程ESRI中国(北京)日期:ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 ESRI 中国(北京)关于本书本书不是一本表述性状态转移应用程序接口(REST API)的完整参考书,相反,本书只是展示REST API的一些基础示例和最佳实务。本书内容反映了ESRI公司相关REST项目团队的最新工作,没有该团队工作人员的奉献精神和艰苦工作,本书不可能成型。书中的提示,指南,编码样本包括了来自用户和各领域专家的工作。在附录A的资源中可以找到更多的帮助信息及指南。本书的翻译工作由中科院地理所郭兆成完成,校对工作由ESRI中国(北

2、京)产品技术部汪维莉完成。ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第1 页 ESRI 中国(北京)目 录引言 . 1第一章:REST轻松创建Web 服务 . 31.1 Web 服务和面向服务架构 . 31.2 Web 服务类型 . 41.2.1 基于SOAP 的Web 服务 . 41.2.2 REST 风格的Web 服务 . 51.3 REST 类型Web 服务的优势 . 51.4 ESRI 推进对REST 的支持 . 8第二章: ArcGIS REST API . 112.1 支持的服务类型 . 112.1.1 地图服务 . 122.1.2 地理编码服务 .

3、132.1.3 地理处理(Geoprocessing)服务 . 132.1.4 几何服务 . 142.1.5 图像服务 . 152.1.6 其他服务 . 152.2 创建GIS 资源 . 152.3 资源发布为服务 . 192.3.1 使用ArcCatalog 发布服务 . 192.3.2 利用ArcGIS Server 管理器发布服务 . 222.4 浏览服务 . 252.4.1 浏览服务器内容 . 252.4.2 查看服务空间范围 . 282.4.3 测试REST 服务 . 292.4.4 获取开发信息 . 322.4.5 如何在开发中使用服务目录的示例 . 322.4.6 支持的输出格式

4、 . 332.5 管理服务 . 35ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第2 页 ESRI 中国(北京)2.5.1 启动,停止,暂停服务 . 352.5.2 管理服务缓存 . 372.5.3 启用和禁用服务目录 . 39第三章: REST 应用 . 413.1 易于使用 . 413.2 不编程使用REST API . 433.2.1 ArcGIS Server JavaScript 地图浏览器 . 433.2.2 ArcGIS Explorer . 443.2.3 ArcMap . 453.2.4 微软虚拟地球 . 463.2.5 谷歌地图 . 463.2.

5、6 谷歌地球 . 473.2.7 利用Web 浏览器 . 473.3 基于浏览器端编程使用REST API . 483.3.1JavaScript . 483.3.2 利用Flex . 573.3.3 利用Silverlight . 633.4 通过服务器端和桌面编程使用REST API . 663.4.1 利用Python . 673.4.2 利用ASP.Net . 713.4.3 利用Java . 72第四章: 优化方法 . 764.1 保证REST 服务安全 . 764.2 改进性能 . 774.2.1 缓存 . 774.2.2 压缩 . 784.2.3 图像格式 . 784.2.4 响

6、应格式 . 80词汇表 . 82附录A: REST 资源 . 92ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第1 页 ESRI 中国(北京)引言本书ArcGIS Server 9.3 REST基础教程是专门面向2008年首次发布的最新ArcGIS软件而设计,书中内容着重针对表述性状态转移应用编程接口(REST API)进行论述和展开。ArcGIS Server 9.3 REST基础教程一书是ESRI公司软件和产品开发工程师利用业余时间协同努力撰写的成果,书中介绍了他们对这些正在成为通用的API的第一手知识。ESRI中国感谢他们为开发者和最终用户做出的努力工作,本书

7、通过活灵活现的实用示例使REST有关知识和所有功能跃然纸上,读者和用户能够一目了然。ESRI应用开发服务部和专业服务组的高级GIS开发工程师Pinde Fu撰写了本书的第一章,他首先介绍了REST的功能和应用前景,通过一个网址就可以使GIS拥有真正的用户友好界面。在第一章中,撰写者还介绍了REST的历史渊源,论述了REST能够将GIS应用普及到从技术专家到GIS初学者的巨大潜力。产品工程师Sarah Osborne和开发工程师Keyur Shah,共同奠定了第2章“ArcGISREST API”的基础。Sarah和Keyur站在GIS开发者应用的角度,提供了在各种计算机语言使用REST的具体例

8、子,其中着重介绍了如何通过利用JavaScript API来使用REST的内容。本章接下来的部分中,Pinde和高级软件工程师Al Pascual详细介绍了如何使用URL创建和发布REST服务。产品工程师Jeremy Bartley,在繁忙的日常事务中抽出时间撰写了第三章 “All youneed is a URL”的基础内容。本章内容介绍了如何通过编程或不通过编程的两种方式来利用REST的具体步骤。Pinde和Al再次撰写了本章中的一些细节内容,其中Pinde负责撰写使用简单网页或者编程语言来利用REST服务的步骤向导。实际上,Pinde在本书撰写过程中承担了很多整理工作,将本有关的众多复杂

9、内容灵巧地编排在一起,成为一本完整的REST手册。通过提供在利用REST的实用小技巧和最优实务,Al在第4章中很好地总结了如何才能最有效地利用这一技术。在版中,JavaScript和REST API极大地推进了Mashing 概念的发展,以及整合ArcGIS内容和其他GIS内容到网络中。通过引入JavaScript和REST API以及ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第2 页 ESRI 中国(北京)新兴的“Mashup”功能,旨在推进互联网上大量的地理信息数据和工具的共享,使之真正成为全民型的地理信息系统。感谢Pinde,Al,Sarah,Keyur和J

10、eremy等人的努力,帮助本书尽可能快地完成和分发给大家。开发小组还提供了书中的示例编程,读者可以使用这些示例编程了解REST的使用,其中Jeremy负责Python编程示例,Silverlight负责C编程示例,Pinde负责Java编程。通过这种团队的合作,我们开创“REST风格”的新模式,概述了ArcGIS Server最有潜力的REST应用。我们希望本书能够抛砖引玉,不仅吸引读者涉足REST技术,希望读者能够更加深入的使用REST。我们深信,利用REST这个支点,世界就在你的指尖。本书附录词汇表同样汇集了更多开拓进取人们的辛勤工作,这些工作使读者能够更容易和深入地理解GIS。我们要特别

11、感谢ESRI出版社编辑Mike Schwartz和Candace Hogan在上一本书Implementing ArcGIS Server Systems: Configuration Basics and BestPractices中对GIS一些名词的严格定义。词汇表中有关本书主题的词汇大多都被包括进本书附录的词汇表中。本书词汇表还包括ESRI出版的,Tasha Wade和Shelly Sommer编辑的A to Z GIS: AnIllustrated Dictionary of Geographic Information Systems一书中有关的名词定义。Pinde严格审查了本书词汇

12、表中专业词汇的确切定义。最后,词汇表中有几个词条引自微软出版社2002出版的第五版微软电脑字典。ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第3 页 ESRI 中国(北京)第一章:REST轻松创建Web 服务REST(表述性状态转移)风格的Web服务已成为越来越流行的Web信息系统创建方法。虽然该术语的初始含义还没有标准的解释,但就其本质而言,REST很简单,只要使用网址,就可以很容易地创建、发布和使用 “REST风格”的网络服务。相比REST的前一个标准SOAP(简单对象访问协议),即基于SOAP标准的Web服务,REST风格的网络服务是轻量级的,使用非常简便、灵

13、活。基于REST的这些优势,ArcGIS引入REST作为新型强大的功能,使用户能够没有任何困难地发布和使用Web服务。REST将成为各层次开发者利用ArcGIS Server创建自定义应用的通用方法。1.1 Web 服务和面向服务架构孩子们利用想象力使用积木来搭建自己的城堡,信息系统的发展史也是同样的道理。只不过信息技术人员将这些积木称为“组件”,计算机发明后,组件技术就一直不断得到发展。在20世纪60年代,早期的程序编译阶段,构建信息系统通常需要收集常用的函数或子程序组件。在20世纪90年代,大多数开发者采用了面向对象编程(OOP)的理念,对象(封装模块)就是被用来作为信息系统的构建模块。最

14、近的十几年中,开发人员开始采用一种新的玩具模块,新的方式来使用这些模块。基于新的模块,Web服务,就必须使用一种新的系统规划面向服务的架构(SOA)。Web服务是互联网上基于标准互联网协议(超文本传输协议, )使用的软件组件,可以实现组件最新的和改进的请求过程。Web服务可独立于平台和语言实现分布在Internet/Intranet上的应用程序或组件的无缝互操作。通过在ArcGIS中引入REST,我们可以通过网络轻松直观地实现GIS的无缝互操作。从本质上讲,在简单的浏览器中使用REST服务可以实现所有的请求都如使用URL一样简单。在本章接下来的部分中,我们将讨论REST的所有强大功能及其灵活性

15、。ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第4 页 ESRI 中国(北京)对比传统的方法,Web服务有很多优势:l 用户不必在本地机器安装执行服务所需的软件。例如,用户可以不安装地理信息系统软件,就可以进行GIS 分析。l Web 服务特别适合于复杂环境中、数据快速变化的操作;一个单一的具有中央副本的数据比多个用户计算机上的数据更容易维护。l 软件授权和知识产权问题更容易得到解决。l 系统客户端只需在特定的时间点,即可通过Web 服务接受数据。基于这些优势,Web服务已成为面向服务架构的理想实现方式。本质上讲,SOA只是一种计算方法,其所有的功能都是独立的,通过

16、友好界面,松散耦合的服务可以按照特定序列被调用。通过提供整合基于位置独立的应用和平台异构的服务功能,Web服务和SOA正在成为流行的信息技术。1.2 Web 服务类型正如玩具积木有不同的形状和大小,Web服务也有不同的类型。总的来说,Web服务可分为以下三种主要类型:l 基于SOAP 的Web 服务;l REST 风格的Web 服务;l 其他方式的网络服务。其他方式式Web服务混合了上述两种类型的特点:一般使用XML发送请求,得到响应,而不是被嵌入到SOAP中。1.2.1 基于SOAP 的Web 服务SOAP是基于计算机网络扩展标记语言(XML)的协议。1998年,SOAP开始被作为一个跨互联

17、网形式的分布式组件对象模型(DCOM)或公共对象请求代理体系(CORBA)。在2003年,SOAP协议成为万维网联盟(W3C)的标准。最开始W3C将该术语称为“简单对象访问协议”,在2007年的版的标准中改为当前的术语名词。SOAP经常结合使用Web服务描述语言(WSDL)来提供互联网上的网络服务,WSDL是一种基于XML的描述Web服务,以及如何访问Web服务的语言。基于SOAP/WSDL的网络服务的优势在于:服务格式定义严格。其中的每一种方法,都需要输入参数、请求参数的类型和返回结果的类型,这些都需要在WSDL中严格定义。开发环境,如.NET或Java都提供基于SOAP的工具包,可以自动生

18、成本地类,进而确保服务使用者保持与Web服务的交互。ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第5 页 ESRI 中国(北京)但是,基于SOAP的Web服务是完全预先定义的,不容易被很多的开发者使用。在某些情况下,例如考虑了SOAP堆栈层上更多额外的Web服务(WS-*),SOAP协议就变的很复杂了。但“REST风格”的Web服务是动态,易于使用和灵活的,并且不需要在客户端或者服务器端进行很多的工作。1.2.2 REST 风格的Web 服务单纯就REST术语的出现而言,REST是Roy Fielding在其2000年的论文中首次提出的一种软件架构。具体地说,RES

19、T用来定义一个Web服务应用程序编程接口(API),通过 来进行资源管理,例如CRUD(创建、读取、更新和删除)。Roy Fielding指出,虽然REST架构专为大规模超媒体分发,但它并不是一种“专用”架构。目前,最具REST风格的Web服务可以简单为 “Get”即URL网址,同时也是最简单的利用Web服务请求的提出方式。REST中,CRUD意味着创建/读取/更新/删除地图服务的子组件,也就是一个层。一个功能齐全的REST地图服务可以让使用者建立一个层,实现读取层,更新层,或删除层。目前,ArcGIS Server REST API只允许用户读取层(查询层,并查看该层地图)。查询可以基于浏览

20、器或在多种编程语言中实现,例如.NET,Java,JavaScript, Ruby, Python等。REST类型的Web服务遵循以下这些基本原则:l 设定地址资源:可以使用一个网址访问任何资源。l 通用接口:标准的Put,Get,Post 和Delete 操作都需要得到请求才能完成。l 无状态消息:每个请求都是独立的,每个请求都必须包括自己的参数,来完成操作。l 表达:请求结果的渲染可以通过多个形式实现,例如地图和影像,XML 和JSON。“利用REST,输入网址即可实现一切!”1.3 REST 类型Web 服务的优势早期,人们认为SOAP协议将成为访问Web服务的最终方式。SOAP功能强大

21、并且比较全面。但是,SOAP比较复杂且不如REST使用简单。表1.1 基于REST 风格的Web 服务和SOAP 的Web 服务比较REST风格 SOAP针对市场 从小规模到大规模IT系统建设,大市场重大IT系统建设,大公司程序员 地理学者与专业开发者 专业开发者ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第6 页 ESRI 中国(北京)性能 90% 100%成本 10% 100%时间 10% 100%风险 风险低 风险高2002年,亚马逊公司发布了其电子商务的网络服务,由于意识到了“REST与SOAP各自的优缺点”(表),亚马逊为其网络服务提供了SOAP和REST

22、的接口。两年后,这个平台吸引了逾5万开发者的关注,但其中大多数开发者倾向于使用REST方法。事实上,百分之八十的请求是以亚马逊的REST Web服务为基础的,只有百分之二十是基于SOAPWeb服务。这就表明,开发者更喜欢使用简单的REST。REST类型的Web服务吸引力在哪里?就是在于其使用极其简单。REST类型的Web服务要求很少的编码工作量,能够减少很多不必要的工作。例如,假设用户需要从ArcGIS Server地图服务器生成空间范围在度以西,度以东,度以北,度以南地区,JPG格式的800500像素的地图,就可以访问:_USA/MapServer/ 。ArcGIS Server提供基于SO

23、AP和REST接口,用户可以任意选择其一。使用基于SOAP接口,用户首先需要从WSDL中产生一系列的SOAP工具包:(us_USA/MapServer/?WSDL)。随之,用户还需要研究SOAP接口的使用方法。最后,用户还需要利用某种编程语言编写代码,例如以下代码(以C代码为例):MapService_MapServer mapservice = new MapService_MapServer();ESRI_Census_USA/MapServer/”;MapServerInfo mapinfo = mapservice.GetServerInfo(mapservice.GetDefault

24、MapName();MapDescription mapdesc = mapinfo.DefaultMapDescription;ImageType imgtype = new ImageType();imgtype.ImageFormat = esriImageFormat.esriImagePNG;imgtype.ImageReturnType = esriImageReturnType.esriImageReturnURL;ImageDisplay imgdisp = new ImageDisplay();ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第7 页

25、ESRI 中国(北京)imgdisp.ImageHeight = 800;imgdisp.ImageWidth = 500;imgdisp.ImageDPI = 96;ImageDescription imgdesc = new ImageDescription();imgdesc.ImageDisplay = imgdisp;imgdesc.ImageType = imgtype;MapService_MapServer.EnvelopeN env = new MapService_MapServer.EnvelopeN();env.XMin = -185.33;env.XMax = -59

26、.53;env.YMin = 15.20;env.YMax = 74.08;mapdesc.MapArea.Extent = env;MapImage mapimg = mapservice.ExportMapImage(mapdesc, imgdesc);可以看到,使用SOAP的Web服务是非常不方便的。使用基于浏览器端编程语言的SOAP 类型Web服务,如JavaScript,通常比使用REST类型的Web服务更加困难。如果使用REST类型的Web服务,完成上述任务将变的非常容易。用户不需要SOAP工具包。用户所有需要做的工作只是建立一个如下所示的 s_USA/MapServer/expo

27、rt?bbox=-185.33%2C15.20%2C-59.53%2C74.08&size=800%2C500&format=jpg&dpi=96&f=image这个链接的响应就是返回用户想要的地图图片。重要的是,用户可以在各种计算机编程语言如.NET,Java,JavaScript,Flex代码中嵌入这个网址来生成所需要的影像地图,而且只需在Web浏览器中运行该段代码,就能看到所需要的地图。多么简单!REST技术具有很多优点:l 无需引入SOAP 消息传输层,轻量级和高效率的 格式可直接被应用。l 灵活性和易用性。 无需建立庞大的XML 消息。只需建立一个网址字符串来访问REST 服务。 可以轻易地在任何编程语言中实现,尤其是在JavaScript 中。使用SOAP 与JavaScript 的Web 服务非常繁琐,但使用REST 与JavaScript 的Web 服务就非常简单。ArcGIS Server 9.3 REST 基础教程ESRI 白皮书 第8 页 ESRI 中国(北京) REST 有利于促进JavaScript 和XML(AJAX)异步Mashup 和Web 2.0 应用的进一步发展。Mashup 能够聚合来自不同网站的资源结果。因为容易被调用、使用方便,REST 服务就成为实现Mash

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com