使用 ArcGIS Server 地理处理服务
工具箱可位于 ArcGIS Server 中。ArcGIS Server 中的工具箱被称为地理处理服务。地理处理服务中的工具被称为任务。在 ArcGIS Desktop 中,地理处理服务与工具箱之间或任务与工具之间并没有真正的区别,只是对于其他 ArcGIS Server 客户端(如 Web 浏览器和基于 Internet 的其他软件)才存在区别。
可将地理处理服务添加到目录 窗口中,然后就像使用任何其他工具一样来使用该服务的工具。执行服务中的地理处理任务时,将在服务器上执行该任务,以使用服务器上的资源并释放计算机资源以执行其他任务。
查找服务的方式有两种:浏览或搜索。在以上两种情况下,需要首先连接到服务器(您仅需连接一次),因此必须知道服务器的 URL 才能完成此连接。
浏览服务
第一步是连接到 ArcGIS Server。从目录 窗口中
- 可从 GIS 服务器结点进行 ArcGIS Server 连接。
- 可通过右键单击任一文件夹,然后单击新建 > ArcGIS Server 连接,来在该文件夹中创建连接。
要浏览查找和使用地理处理任务,您必须以用户身份(在添加 GIS 服务器 对话框中,选中使用 GIS 服务),而不是以管理员身份(管理 GIS 服务)连接到服务器。
搜索服务
- 确保已按照在 ArcGIS 中使用搜索中描述的方法为 GIS 服务器创建了索引并在下图中进行了说明。
- 在搜索 窗口中,像搜索本地工具一样,对任务(工具)进行搜索。
执行地理处理任务
如同使用任何其他工具一样,可在工具对话框、模型构建器或脚本中执行地理处理服务任务。唯一的区别是:如果您正在前台执行工具(一些任务等待结果从服务器返回,而另一些任务则不会这样做),它们会将任务提交到服务器并偶尔向服务器查询结果。使用结果 窗口可观察到已提交至服务器的任务的状态。下面的同步和异步任务部分对此进行了更为详细的描述。
使用任务结果
通过地理处理任务添加到结果 窗口中的结果将显示该结果的输出数据集的状态,而非数据集的名称。共有以下五个不同的状态值:
- <空>
工具仍会在服务器上执行,但并未写入任何输出。此状态仅适用于异步工具。有关详细信息,请参阅下面的同步和异步任务。
- <本地临时位置中的数据>
工具已完成执行操作,且输出数据位于计算机内存或系统临时目录中。只要存在引用该数据的 ArcMap 图层,该数据便不会被删除。如果想要保留数据,则应该将数据从临时位置复制到已知位置。执行此操作的一种简单方法是使用复制工具,将结果中的数据集拖放至“复制”工具的输入要素参数中。另外,也可右键单击输出,然后单击复制位置,从而将要素类的路径复制到剪贴板中,以使您能够将该路径粘贴到接受文本的任何位置,如复制工具的输入要素参数。
- <服务器上的数据>
数据位于服务器上。这也意味着,存在一个将在 ArcMap、ArcGlobe 或 ArcScene 中绘制数据的结果地图服务。当工具在服务器上完成执行操作后,此结果地图将被自动添加到内容列表中。如果需要将此结果地图服务添加到内容列表中,请右键单击该结果,然后单击添加服务器图层。
也可右键单击该结果,然后单击获取数据,从而将数据从服务器复制到您的计算机中。复制之后,状态将为 <本地临时位置中的数据>、<数据超出传输限制> 或 <数据不可用>。
- <数据超出传输限制>
获取数据操作未能将所有数据从服务器复制到您的计算机中,因为要传输的要素的最大数目超出限制。复制大型数据集会降低服务器执行其他 GIS 服务的能力并阻塞网络。因此,服务创建者会指定一个可被从服务器复制到客户端计算机的要素的最大数目。如果需要复制的数据超出限制,则需要联系服务创建者或服务器管理员,然后安排其他方式来获取数据。
- <数据不可用>
获取数据操作无法在服务器上找到数据。导致此情况的最可能原因是:服务器管理员确定该任务结果已废弃,并为释放服务器空间而将数据删除。
环境设置被忽略
地理处理服务会明确地设置影响任务执行的环境设置,并会忽略您在当前会话中设置的所有环境设置。此规则的唯一例外适用于可输出栅格数据集或文件(如 .zip 文件)的任务。对于此类任务,栅格数据集或文件会被写入到系统临时目录中。
将服务器任务复制到本地工具箱
可将地理处理服务中的任务复制到自定义工具箱(您创建的工具箱)。如果您通过自定义工具箱执行复制任务,则该任务仍会在服务器上执行。
在服务器工具完成执行操作前退出应用程序
提交异步工具(参见下文)后,即可退出所使用的应用程序。例如,如果您正在 ArcMap 中进行操作,则可开始执行操作,保存地图文档,然后退出 ArcMap。当您稍后打开该文档时,ArcMap 将查询服务器,检查结果状态,然后更新结果 窗口中的结果。如果您要使用此方法来开始执行操作并退出 ArcMap(或者 ArcGlobe 或 ArcScene),请务必保存地图文档以将结果进行保存以供今后查看。
同步和异步任务
地理处理服务及其任务或者为同步,或者为异步。同步意味着,在服务器上执行任务时计算机需要等待。异步意味着,计算机不必等待前一工具完成操作的执行,即可继续执行其他任务。
服务的发布者负责决定是以同步方式执行任务还是以异步方式执行任务。只有那些执行速度快且具有小型输出数据集的任务,才应被发布为同步工具。
了解有关将工具箱发布到 ArcGIS Server 的详细信息
有两种方法可用来确定服务器工具是同步还是异步:
- 如果您具有 ArcGIS Server 的管理权限,则可在目录 窗口中浏览至服务器,右键单击地理处理服务,然后单击服务属性。工具的执行类型将列在参数选项卡中。
- 执行工具并观察其写入的消息。执行异步服务时,所写入的第一条消息将是“服务器消息”。这些类型的地理处理服务将始终作为后台进程在 ArcMap 中运行。同步工具启动时将显示“正在执行”。以下两个结果已被异步和同步执行(由 GIS 服务器管理员设置)。
当您在 ArcMap 中执行某个异步工具并启用了向显示画面添加工具结果的操作时,一个图层将被添加到显示画面,但却无法显示(已选中)。这是因为 ArcMap 不知道该工具何时完成操作的执行以及何时绘制输出。
系统不会自动通知您异步工具将在何时完成操作的执行。您可在结果 窗口中跟踪异步工具的进度。执行工具时,一个沙漏图标将显示在结果旁边。可通过右键单击结果并单击取消,来取消执行操作。