ArcGIS REST Web 服务基于两个清晰的原则:
在 ArcGIS Server 上发布的每个 GIS 服务都被视为一个可通过 URL 访问的资源,例如 http://<主机名>/arcgis/rest/<服务名>。此 URL 也称为 REST 端点。
- 每个资源都包括:
- 描述该资源的属性
- 可对资源执行的操作(可选)
- 子资源(可选)
操作是对资源执行的可触发资源的状态转移和/或创建新资源的一种行为。子资源是存在于其父资源环境内并继承其父资源属性的资源。子资源也可有自己的属性,并支持可对其执行的操作。一个资源为其子资源创建端点等级和通过 URL 访问的操作。
地理处理 REST 服务
地理处理服务是一个资源,它经由 URL 访问。地理处理服务的 URL 格式是 http://<服务器名>/<实例名>/rest/services/<服务名>/GPServer,例如 http://myServer/ArcGIS/rest/services/BufferPoints/GPServer。一个地理处理服务拥有服务描述、任务、执行类型和结果地图服务器等属性。发布在一个地理处理服务内的地理处理任务是其子资源。地理处理服务本身并无任何操作,但任务可支持 submitJob 或 execute 操作。地理处理服务内的任务继承了执行类型和结果地图服务器属性,并具备任务描述、任务参数等其他属性。服务和任务的属性由服务的发布者所决定,不能由客户端修改。
下图显示了地理处理 REST 资源的等级。请注意以橙色显示的地理处理服务属性,例如执行类型、最大记录数(就是图中的最大记录数)和结果地图服务器等,由每个地理处理任务所继承。
地理处理任务
地理处理任务是地理处理服务的子资源。地理处理服务可具有一个或多个任务。请将地理处理任务作为服务器管理的地理处理工具考虑。当客户端所发送请求的输入参数值合适时,工具在服务器上执行。工具执行成功过后,输出参数值会返回给客户端。地理处理任务的访问 URL 是 http://<gpservice-url>/<任务名>,例如http://myserver/ArcGIS/rest/services/BufferPoints/GPServer/BufferPoints。
执行类型
地理处理任务的地理处理功能可以很简单,这在服务器上可能只需数秒执行;也可以支持高级功能(处理大型数据集),这可能需要更长的处理时间。因此,REST API 提供了两个在服务器上运行地理处理任务的选项。
- 同步:同步任务适合快速运行任务。在同步任务中,客户端会发送一个运行任务的请求,同时任务的结果会作为响应发送给客户端。
- 异步:异步任务适合长时间运行的作业。在异步任务中,服务器返回一个作业 ID,客户端使用它对任务状态进行轮询。在状态为完成时,结果会创建为作业的子资源,而客户端可使用其作业 ID 访问该作业。
结果地图服务器
结果地图服务器是一个动态地图服务,它和地理处理服务一起可视化地理处理结果。地理处理任务的每个地理数据集输出参数将作为图层添加到地图服务。图层的可视化效果取决于发布时定义的符号系统。由于它是一个动态地图服务,客户端可以向 Web 应用程序添加地图服务或地图服务图层。客户端也可对地图服务执行识别、查找和导出地图等操作,对地图服务图层执行查询、生成渲染器操作并可访问要素。
最大记录数
最大记录数属性决定了服务返回的输出要素或记录的个数。如果地理处理任务创建的输出记录或要素个数超过了最大记录数,服务就不会返回任何要素或记录。通过检查任务返回的要素集或记录集的超出传输限制属性,客户端可以对这些情况进行识别。当输出参数中的记录数或要素数超过了服务指定的最大记录数时,超出传输限制属性会被设置为真。
在 web 浏览器中查看服务页面
每个 ArcGIS Server 都有一个服务目录,可通过 URL 访问;服务器上的每个服务都有自己的服务页面,也可通过 URL 访问。可在 web 浏览器内的服务页面上检查上述地理处理 REST 服务属性。此服务页面主要被 web 开发人员用来理解服务的功能。即便您不是 web 开发人员,您也会发现,服务页面可帮助您理解在发布服务时所做的决定可以影响到开发人员如何在内部使用您的服务和任务。
您在 ArcGIS Desktop 内成功发布地理处理服务后,会在目录 窗口中向 ArcGIS Server 连接添加一个新的地理处理服务。若要查看您的服务的服务页面,右键单击服务并选择服务属性。这将打开服务编辑器。在服务编辑器 中,单击功能下的地理处理选项卡。如下图所示的 REST URL 值是服务页面的 URL。
复制并粘贴 REST URL 至您的浏览器地址栏来查看服务页面。REST URL 页面所列的信息和您在发布地理处理服务时定义的属性直接相关。下图所示显示了发布时指定在服务编辑器 中的属性,以及服务页面中所见的相应属性。
请注意 web 浏览器中的服务的地理处理任务使用 HTML 链接列出。每个链接都将指向一个任务页面,在该页面您可以找到关于任务属性和受支持操作的信息。