地理处理服务是借助于万维网来展示 ArcGIS 强大分析功能的方式。地理处理服务包含地理处理任务,任务采用在 Web 应用程序中捕获的简单数据,对其进行处理,然后以如下形式返回有意义且有用的输出:要素、地图、报表及文件。任务可以计算危险化学泄漏物的可能疏散区、逐渐增大的飓风的预测踪迹和强度、用户定义的分水岭内土地覆被和土壤报表、包含所有权历史详细信息的宗地地图或污水处理系统的许可应用。这些服务的可能性是无穷的。
地理处理服务包含一个或多个地理处理任务。地理处理任务是一个运行在服务器上的地理处理工具,它的执行和输出是通过服务器管理的。将地理处理结果共享为地理处理服务后,会通过创建该结果的工具创建一个对应的地理处理任务。任务是基于 Web 的 API (如 JavaScript、SilverLight 和 Flex)使用的一个术语,用于描述在服务器上执行工作并返回结果这一例程。
一种解释服务的有效方式是将服务视为四个独立的活动,即:设计、制作、发布(或共享)和使用(或消费)。本书中关于地理处理服务的主题介绍了制作、发布和使用方面的技巧。即如何使用 ArcGIS for Desktop 和 Web 编程来创建和访问地理处理服务及其任务。服务的设计(包括服务执行的工作、服务的用途以及服务如何满足您的应用程序套件和组织目标的要求)不属于本文档范畴,但本书的各个主题中提供了大量有关设计的提示和想法。
服务和任务、工具箱以及工具
如果曾在 ArcGIS for Desktop 中使用过地理处理服务,则可以将地理处理服务设想为一个工具箱,将任务设想为工具箱中的工具。主要区别在于,执行地理处理服务中的任务时,任务将使用服务器计算机的资源在服务器计算机上执行。实际上,在 ArcGIS for Desktop 中使用服务及其任务与使用工具箱及其工具十分相似,以至于您可能不会注意到存在差异。
地理处理服务就像一个工具箱,仅仅是一个容器,不能执行任何处理。但是,服务具有会被服务中的所有任务继承的属性(例如,结果是否通过相应的地图服务、执行模式、进程数量、写入数据的位置等进行绘制)。
在讨论地理处理服务和任务时,很容易混淆服务及其任务,尤其是在服务仅包含一个任务时。在闲谈时,将服务和任务相提并论很常见,而且(通常)不会引起混淆。但本文档将始终区分服务和任务。
制作、发布和使用
制作
要制作地理处理任务,通常要使用模型构建器或 Python 脚本创建地理处理工具。您不必创建自己的工具,可以使用 ArcGIS 安装自带的多个系统工具中的任何一个。
发布
要发布已制作的工具,您可以在 ArcGIS for Desktop 应用程序(如 ArcMap 或 ArcGlobe)中执行该工具。执行工具会在结果窗口中创建结果。您可以右键单击结果并选择共享为 > 地理处理服务,以打开用于定义服务和该服务中初始任务的分步向导。初始任务与用于创建该结果的工具完全相同。您可以向服务添加其他结果。每个结果都会成为服务中的一个任务。
要发布服务,必须具有对 ArcGIS for Server 安装程序的管理员权限。
注:
从 10.4 版本开始,仅管理员可以发布地理处理服务。要允许发布者发布地理处理服务,可在 ArcGIS Server 管理员目录的站点属性中添加 allowGPAndExtensionPublishingToPublishers 属性,并将其设置为 true。有关详细信息,请参阅更改地理处理服务和服务扩展发布权限。
使用
可通过 Web 客户端使用地理处理服务及其包含的任务。ArcGIS for Desktop 和 ArcGIS Explorer Desktop 就是这样两个 Web 客户端。这两种客户端允许您访问和使用任何地理处理服务,无需编程。但主要客户端还是通过 JavaScript、SilverLight 或 Flex 开发的 Web 应用程序。这些近年来开发的客户端使用标准 Internet 浏览器或定制的应用程序来显示和查询地理信息。可以访问 GIS 服务的客户端示例包括 Web 浏览器、移动应用程序以及 ArcGIS Engine 应用程序。最重要的是,GIS 服务与其他任何 Web 资源一样可供用户进行搜索。可以通过上面列出的客户端或搜索引擎来查找 GIS 资源并立即使用这些资源。