描述
此工作流是将调查从一个组织迁移到另一个组织的众多可能工作流之一。 本文讨论如何手动执行此操作,方法是替换通过 Survey123 Connect 下载的调查表单,对其进行修改以在新组织中将其实施,然后将要素图层重新发布到新组织。
解决方案或解决方法
要在另一个组织中复制调查,请确保在其他组织中提供相同的要素图层,这可以通过分布式协作或将数据直接发布到新组织来完成。 为此,请将托管图层导出为文件地理数据库,并将其发布为目标组织中的托管要素图层。 或者,您可以从 ArcGIS Pro 的原始数据源发布要素服务。
将数据发布到第二个组织时,请确保图层和表名称(如果相关且包含在服务中)与第一个组织中的原始名称匹配,因为表单仍引用上一个图层,如以下步骤所述:
方案:将 Survey123 表单和关联要素服务从组织 A 复制到组织 B
将数据和相关表(如果适用)作为要素服务重新发布到组织 B 后,继续执行以下步骤:
- 通过 Survey123 Connect 登录到组织 A。
- 如果调查是从同一台计算机发布的,则可以在以下位置找到 XLS 表单:
C:\User\<UserName>\ArcGIS\My Survey Designs\<Survey Name>\<Survey Name.xlsx.
否则,您可以在 Connect 中下载调查。 XLS 表单位于同一路径中,但调查的文件夹具有随机 ID 而不是调查名称。
- 从组织 A 登出,然后通过 Survey123 Connect 登录到组织 B。
发布要素服务有两个选项,可以使用现有要素服务,或从文件发布调查。
使用现有要素服务发布调查
- 使用现有要素服务方法创建新调查,然后选择最近发布的要素服务。
- 导航到上述步骤 1 中提到的相关文件夹路径,然后复制原始 xlsx 表单并粘贴到要发布到组织 B 的新调查文件夹中。
- 如果新调查的名称与原始调查相同,系统将提示您覆盖 XLS 表单。 如果新调查具有不同的名称,请删除当前 XLS 表单,并将您复制的 XLS 表单重命名为与新调查具有相同的名称。
- 将调查从 Connect 发布到新组织。
从文件发布调查
- 如果无法使用现有要素服务方法创建调查,请使用文件选项创建新调查,然后从上述步骤 1 中选择 XLS 表单。
- 打开 XLS,转到设置选项卡>修改提交 URL。 URL 必须是与 Portal/ArcGIS Online 项目关联的 共享 REST URL 。 例如,“https://<host>:<port>/arcgis/sharing/rest/content/items/<item_id>”。 您必须提供要素图层项目的 URL,如上所示。 常见错误是使用不受支持的要素图层 URL。
- 从 Web 浏览器登录到组织 B,然后导航到要与调查表单一起使用的要素图层 > 项目详细信息页面 > 记下要素图层中项目 ID 和主图层的名称。
- 将 URL 中的 <item_id> 替换为项目 ID,然后在 form_id 列中键入图层名称。 请记住,这不是项目或要素服务的名称,而是要素图层中主子图层的名称。
- 将调查从 Connect 发布到新组织。
要创建此 URL,必须将项目 ID 与门户内容根连接起来。 如使用 Survey123 和现有要素图层一文中所述,
https://<host>:<port>/arcgis/sharing/rest/content/items/21a6c530b31a4523bdff7gg94c9c5d9a
此工作流可替代使用 Python 的克隆方法,如“相关信息”部分的文章中所述,如果 Python 方法由于以下限制而不适用:
- 克隆失败,服务名称中包含非 ASCII 字符
- 克隆限于 1000 条记录
- BUG-000136846 - 尝试克隆由其他组织托管的公共托管要素图层视图时,clone_items() 方法失败,并显示错误消息“用户无权访问此服务”。
- BUG-000141004 - ArcGIS API for Python clone_items() 方法未为 Web 设计器发布的调查重新创建项目信息 URL
- 解决方法是从目标环境下载调查,然后立即使用下载的文件进行更新。