《ArcGIS Server 9.3 REST 基础教程》
ESRI中国(北京)有限公司
日期:2009.3
《ArcGISServer9.3REST 基础教程》
ESRI 白皮书 ESRI中国(北京)有限公司
关于本书
本书不是一本表述性状态转移应用程序接口(REST API)的完整参考书,相反,本书
只是展示REST API的一些基础示例和最佳实务。本书内容反映了ESRI公司相关REST项目
团队的最新工作,没有该团队工作人员的奉献精神和艰苦工作,本书不可能成型。
书中的提示,指南,编码样本包括了来自用户和各领域专家的工作。
在附录A的资源中可以找到更多的帮助信息及指南。
本书的翻译工作由中科院地理所郭兆成完成,校对工作由ESRI中国(北京)有限公司产品
技术部汪维莉完成。
《ArcGISServer9.3REST 基础教程》
ESRI 白皮书 第 1 页 ESRI中国(北京)有限公司
目 录
引言..................................................................................................................................................1
第一章:REST——轻松创建 Web 服务......................................................................................3
1.1 Web 服务和面向服务架构...............................................................................................3
1.2 Web 服务类型...................................................................................................................4
1.2.1 基于 SOAP 的 Web 服务......................................................................................4
1.2.2 REST 风格的 Web 服务.......................................................................................5
1.3 REST 类型 Web 服务的优势..........................................................................................5
1.4 ESRI 推进对 REST 的支持.............................................................................................8
第二章: ArcGIS REST API..........................................................................................................11
2.1 支持的服务类型.............................................................................................................11
2.1.1 地图服务...............................................................................................................12
2.1.2 地理编码服务.......................................................................................................13
2.1.3 地理处理(Geoprocessing)服务
...................................................................13
2.1.4 几何服务...............................................................................................................14
2.1.5 图像服务...............................................................................................................15
2.1.6 其他服务...............................................................................................................15
2.2 创建 GIS 资源................................................................................................................15
2.3 资源发布为服务..............................................................................................................19
2.3.1 使用 ArcCatalog 发布服务.................................................................................19
2.3.2 利用 ArcGIS Server 管理器发布服务...............................................................22
2.4 浏览服务..........................................................................................................................25
2.4.1 浏览服务器内容...................................................................................................25
2.4.2 查看服务空间范围...............................................................................................28
2.4.3 测试 REST 服务..................................................................................................29
2.4.4 获取开发信息......................................................................................................32
2.4.5 如何在开发中使用服务目录的示例...................................................................
32
2.4.6 支持的输出格式..................................................................................................33
2.5 管理服务.........................................................................................................................35
《ArcGISServer9.3REST 基础教程》
ESRI 白皮书 第 2 页 ESRI中国(北京)有限公司
2.5.1 启动,停止,暂停服务.......................................................................................35
2.5.2 管理服务缓存.......................................................................................................37
2.5.3 启用和禁用服务目录...........................................................................................39
第三章: REST 应用.......................................................................................................................41
3.1 易于使用..........................................................................................................................41
3.2 不编程使用 REST API..................................................................................................43
3.2.1 ArcGIS Server JavaScript 地图浏览器............................................................43
3.2.2 ArcGIS Explorer..................................................................................................44
3.2.3 ArcMap.................................................................................................................45
3.2.4 微软虚拟地球.......................................................................................................46
3.2.5 谷歌地图...............................................................................................................46
3.2.6 谷歌地球...............................................................................................................47
3.2.7 利用 Web 浏览器.................................................................................................47
3.3 基于浏览器端编程使用 REST API...............................................................................48
3.3.1JavaScript.............................................................................................................48
3.3.2 利用 Flex.............................................................................................................57
3.3.3 利用 Silverlight...................................................................................................63
3.4 通过服务器端和桌面编程使用 REST API..................................................................66
3.4.1 利用 Python.........................................................................................................67
3.4.2 利用 ASP.Net......................................................................................................71
3.4.3 利用 Java.............................................................................................................72
第四章: 优化方法.........................................................................................................................76
4.1 保证 REST 服务安全....................................................................................................76
4.2 改进性能.........................................................................................................................77
4.2.1 缓存.......................................................................................................................77
4.2.2 压缩.......................................................................................................................78
4.2.3 图像格式...............................................................................................................78
4.2.4 响应格式
...............................................................................................................80
词汇表............................................................................................................................................82
附录 A: REST 资源.......................................................................................................................92
《ArcGISServer9.3REST 基础教程》
ESRI 白皮书 第 1 页 ESRI中国(北京)有限公司
引言
本书《ArcGISServer9.3REST基础教程》是专门面向2008年首次发布的最新ArcGIS软件
而设计,书中内容着重针对表述性状态转移应用编程接口(REST API)进行论述和展开。
《ArcGIS Server 9.3 REST基础教程》一书是ESRI公司软件和产品开发工程师利用业
余时间协同努力撰写的成果,书中介绍了他们对这些正在成为通用的API的第一手知识。
ESRI中国感谢他们为开发者和最终用户做出的努力工作,本书通过活灵活现的实用示例使
REST有关知识和所有功能跃然纸上,读者和用户能够一目了然。
ESRI应用开发服务部和专业服务组的高级GIS开发工程师Pinde Fu撰写了本书的第一
章,他首先介绍了REST的功能和应用前景,通过一个网址就可以使GIS拥有真正的用户友
好界面。在第一章中,撰写者还介绍了REST的历史渊源,论述了REST能够将GIS应用普
及到从技术专家到GIS初学者的巨大潜力。
产品工程师Sarah Osborne和开发工程师Keyur Shah,共同奠定了第2章“ArcGIS
REST API”的基础。Sarah和Keyur站在GIS开发者应用的角度,提供了在各种计算机语言
使用REST的具体例子,其中着重介绍了如何通过利用JavaScript API来使用REST的内容。
本章接下来的部分中,Pinde和高级软件工程师Al Pascual详细介绍了如何使用URL创建和
发布REST服务。
产品工程师Jeremy Bartley,在繁忙的日常事务中抽出时间撰写了第三章 “All you
need is a URL”的基础内容。本章内容介绍了如何通过编程或不通过编程的两种方式来利
用REST的具体步骤。Pinde和Al再次撰写了本章中的一些细节内容,其中Pinde负责撰写使
用简单网页或者编程语言来利用REST服务的步骤向导。实际上,Pinde在本书撰写过程中
承担了很多整理工作,将本有关的众多复杂内容灵巧地编排在一起,成为一本完整的REST
手册。
通过提供在ArcGIS Server 9.3利用REST的实用小技巧和最优实务,Al
在第4章中很好
地总结了如何才能最有效地利用这一技术。
在ArcGIS Server 9.3版中,JavaScript和REST API极大地推进了Mashing 概念的发
展,以及整合ArcGIS内容和其他GIS内容到网络中。通过引入JavaScript和REST API以及