创作 Web 工具涉及创作和共享过程。 创作过程以在 ArcGIS Pro 中创建模型或 Python 脚本工具开始。 创作并成功运行工具后,可以将其作为 Web 工具共享到 ArcGIS Enterprise 门户。 必须在创作和共享时考虑某些数据、工具参数以及共享权限。 一些注意事项在本主题的以下示例及相关部分中进行了描述。 以下工作流介绍了整个过程:
- 使用工具箱中的工具构建脚本或模型以构造工作流。
- 收集您的工具所需的数据集,并使其在地理数据库中可用或将其添加至工程中的地图。
- 运行该工具以在地理处理历史记录中创建一个成功条目。
- 如有必要,可在地图中设置输出数据集的符号系统。
- 将历史记录项目共享为 Web 工具。 在共享 Web 工具时,您可以为工具和服务设置工具属性。
例如:检查拟建管线对人口的影响
以下模型工具是检查可能受管线泄露影响的人数的工具集合。 工作流会查找管线与河流之间的相交点并执行下游追踪以识别可能受影响的人数。 该模型设置有工程数据和参数并发布为 Web 工具,这样一来,分析人员或公众就可以更改拟建管线路径来了解泄露是如何影响下游人口的。 Web 工具结果显示了管线与河流的相交点以及受影响人口汇总。
工具设计
所有可用的工具都具有输入和输出参数。 可以使用这些参数在每次运行该工具时提供不同的值,然后该工具会依次生成不同分析。 除了输入和输出参数,该工具通常还有工程数据和中间数据。 这些是运行工具的人员通常不能控制的数据集。 在模型中,输入参数标有 P。 当模型作为工具运行时,任何带 P 的输入都可以在工具对话框中使用以设置运行工具时要使用的值。 从管线模型中,用户可以指定管线路径和缓冲距离来执行追踪下游。 当有人使用该工具时,管线位置和缓冲区大小会改变以显示最终受管线影响的人数。 本示例中的管线相交点和追踪线是模型工具在执行过程中生成的中间数据集。 运行工具的人员不需要这些中间数据集,且这些数据集不会作为结果返回。 当共享此模型时,强化 Web 工具的基础地理处理服务会处理写入中间数据的位置,并在不再需要时将其清空。
就像输入参数对于所有成功的工具来说都很重要一样,输出参数也同样重要。 输出参数可以使工具将结果返回至运行工具的个人。 在 ArcGIS Pro 中,输出参数非常重要,因为这些数据集会自动添加至地图。 没有输出参数的工具会生成输出,但不会自动显示该信息。 Web 工具的工作方式大致相同;需要一个或多个输出参数来将结果返回给最终用户。 在管线模型中,存在两个输出参数:显示下游缓冲区位置的影响区域人口以及带有全部受影响人口汇总的人口汇总表。 请注意,影响区域人口既是中间数据又是输出数据。 此参数之所以是中间数据,是因为汇总统计数据工具需要该参数,但它已被定义为模型参数 (P),且当工具成功完成运行后,它会将此结果返回给客户。
编写工具的文档说明
如果您希望尽可能多的人发现、了解和使用工具,至关重要的一点是为 Web 工具编写良好的文档。 良好文档的编写从初始工具开始。 可以将相同类型的元数据作为系统工具提供至模型或脚本工具。
运行此工具
创作该工具后,需成功运行该工具。 运行工具时会在地理处理历史记录中创建一个条目。 无法共享失败的工具执行。
注:
在 ModelBuilder 中运行模型时不会在地理处理历史记录中生成条目。 模型工具必须作为工具在地理处理窗格中运行。
共享 Web 工具
可以通过选择分析 > 历史记录以打开历史记录窗格来共享 Web 工具。 要共享,请右键单击要共享的项目,然后选择共享为。 要共享为新的 Web 工具,请选择共享 Web 工具以打开共享为 Web 工具窗格。 要覆盖现有工具,请选择覆盖 Web 工具以打开一个包含我的内容中所发布的所有现有 Web 工具的窗格。
请确保选择正确的工具来覆盖并单击确定以打开覆盖 Web 工具窗格。 共享 Web 工具和覆盖 Web 工具的已预先发布的 Web 工具配置的过程相同,如下所示。
或者,前往共享 > Web 工具 以选择共享 Web 工具或覆盖 Web 工具。 如果您选择共享 Web 工具选项,请从包含所有已成功运行项目的工具共享窗格中选择一个项目。
如果您选择覆盖 Web 工具选项,请从包含我的内容中所发布的所有现有 Web 工具的窗格中选择一个要覆盖的项目。 然后从该窗格中选择一个项目,其中包含所有要用来覆盖的、已成功运行的项目。 从分析 > 历史记录选项中进行选择时,此工作流中的覆盖步骤将被反转。
设置 Web 工具属性
泄露评估工具输出要素和表格。 该工具生成和返回的数据量的大小有限制,因此,Web 工具将被设置为不带结果地图服务的异步服务。 1000 条最大记录数这一默认设置就足够了。 错误的消息级别将确保仅返回与可能的工具失败相关的消息。 在 Web 工具执行成功的情况下,正常的处理消息不会返回给最终用户。
我的内容中将始终提供 Web 工具。 您可以与您的组织、任何人或选定组共享工具。 可将泄露评估工具共享至组织中需要执行管线分析的特定利益相关方,这对于他们来说是个很好的工具。 选择相应的组可以使用户快速找到并使用工具。
复制、引用或使用 URL 数据
大多数 Web 工具都具有输入或工程数据。 将泄漏评估模型共享为 Web 工具时,必须检查任何输入或工程数据是否为无 URL 数据或 URL 数据。 可将无 URL 数据复制到服务器,并创建服务将使用的数据的静态副本,或者跳过复制数据,但创建服务可访问的引用。 URL 数据用于提供来自服务 URL 的输入。
将泄漏评估模型共享为 Web 工具时,工程数据将包含静态的河流和人口数据集,这些数据集不经常更新。 将这些工程数据复制到服务器是一种解决方案。 发布过程将采集数据并根据需要将其转换为文件地理数据库要素类,然后在服务器上提取这些要素类并由服务使用。 在本例中,请选中无 URL 数据标题下的复制所有数据复选框。
还应考虑分析方法是否略作修改并且用户不拟建自己的管道。 另一种管线方案是通过其他过程完成且由用户提供不同的工具输入。 在这种情况下,拟建的管线就成了工程数据。 因此,建议将此数据集包含在具有通用命名约定 (UNC) 路径的企业级地理数据库或文件夹中,由此服务器可以访问此路径并使工具引用该数据集。 当进行发布时,请选中无 URL 数据标题下的引用注册数据复选框,并使用 ArcGIS Server 数据存储设置对数据的引用。 发布过程会维护对数据库或文件夹的引用,而非创建静态副本。 稍后,工程分析人员可以在企业级地理数据库或文件夹中更新数据,然后 Web 工具即可针对最新管线方案执行分析。
另一种选择是提供相应要素数据集,该要素数据集既不来自用户管线,也不会经常更新,以提供来自 Web 要素图层(要素服务)或具有要素子图层的地图图像图层(地图服务)的输入。 在进行发布时,请取消选中转换要素图层复选框以在此过程中保留 URL 数据。 如果选中此复选框,则将在发布过程中将数据复制到服务器,并且在工具中使用的引用数据在服务器上为静态数据。 如果输入来自栅格数据集,请提供带有 Web 影像图层(影像服务)的 URL 数据。 在本例中,您无需选中转换要素图层复选框,因为在发布过程中将始终维护 URL。
输入模式
当共享为 Web 工具时,决定客户端将向 Web 工具任务提供输入的方式非常重要,这称为参数的输入模式。 要配置工具属性,请在内容选项卡上单击工具名称旁的配置工具属性按钮 。
在属性窗格中,展开每个参数并配置每个参数的输入模式。 如果选择用户定义值的输入模式选项,则无需考虑数据,因为运行 Web 工具时,将从客户端提供数据。 如果选择选择列表或常量选项,则将从在服务器上复制或引用的数据或者来自服务 URL 的数据提供数据。
当发布 Web 工具时,每个输入和输出参数的默认值将显示在服务器 REST 端点上。 如果您不希望显示参数的默认值,请选中每个参数的移除默认值复选框。 要移除所有参数的默认值,请选中参数配置标题下的移除所有默认值复选框。
分析
分析潜在 Web 工具可确保成功地将该工具发布到门户。 此外,可能会出现关于数据的警告消息,如有必要您可以采取措施。 泄露评估工具已安装了数据存储和记录了工具,并使用在 Web 工具中可用的受支持工具,因此不会再出现这样的警告或消息了。
发布
设置了 Web 工具属性并解决了所有分析错误后,将 Web 工具发布至您的门户。 根据需要合并及发送至服务器的数据量,此过程可能需要几分钟。
使用 Web 工具
Web 工具可以从目录窗格的门户部分找到并打开。 除了在 ArcGIS Pro 中运行工具之外,还可以在 Python 脚本或 Web 应用程序中使用强化其的地理处理服务 。