如果作业现场的企业级数据库中包含有数据,您可能想将其中的一些数据复制到云中的企业级地理数据库。为此,可使用本主题中描述的工作流。
ArcGIS Server Cloud Builder on Amazon Web Services 应用程序创建的 geodata 地理数据库主要用于复制数据工作流。将 geodata 数据库作为复制数据存储注册到 ArcGIS Server 时,可创建地理数据服务。然后,将数据从本地地理数据库复制到地理数据服务。编辑操作执行完毕后,可通过地理数据服务进行同步。
大多数情况下,您可能想要编辑本地地理数据库,同时使云中的地理数据库数据对通过 Internet 访问的用户保留只读属性。为此,应创建一个单向复本;编辑本地地理数据库时,通过地理数据服务与 ArcGIS Enterprise on Amazon Web Services 实例中的地理数据库实现同步。不过,您也可以使用可编辑的要素服务对 ArcGIS Enterprise on Amazon Web Services 实例中的地理数据库进行更改。这种情况下,应创建一个双向复本;通过地理数据服务将对任一地理数据库上所做的编辑同步到另一个地理数据库。
准备要复制的本地数据
复制数据前,必须满足若干特定要求:
- 所有空间数据必须存储在高精度空间参考中。
- 应确保父复本和子复本地理数据库的版本相同,不过,也可对父复本使用 ArcGIS 10.1、10.2.x、10.3.x 或 10.4.x 地理数据库,同时使用 ArcGIS 10.5 地理数据库托管子复本。然而,如果使用的是双向复制,请确保不要添加数据或对子复本作出任何会将父复本地理数据库不支持的功能引入子复本的编辑。
- 要复制的数据的所有者必须执行以下步骤:
- 将数据的写入权限授予将创建复本的用户。
- 将要包含到复本中的数据注册为版本。
数据必须完全版本化;无法通过将编辑内容移动至基表选项进行版本化。
- 将全局 ID 列添加到将成为复本的一部分的每个数据集。
启动一个 ArcGIS Enterprise on Amazon Web Services 实例
如果您尚未执行此操作,请启动 ArcGIS Server 实例。有关说明,请参阅在 Amazon Web Services 上构建 ArcGIS 站点。请确保在创建站点时指定一个密钥对,并选择包含企业级地理数据库。地理数据库可与 ArcGIS Server 在同一实例上,或在其自己的单独实例上。
通过 ArcGIS Server Cloud Builder on Amazon Web Services 应用程序创建的实例自动包含一个主要用作复本地理数据库的 geodata 地理数据库。
连接到 ArcGIS Server 实例
创建从 ArcMap 到 ArcGIS Enterprise on Amazon Web Services 实例的 GIS 服务器发布程序连接。有关说明,请参阅在 ArcMap 中与 ArcGIS Server 建立发布者连接。
注册地理数据库并发布地理数据服务
将 geodata 地理数据库注册为复制数据存储并创建一个地理数据服务。以上操作可在 ArcMap 中创建的 GIS 服务器连接的服务器属性对话框中完成。
- 右键单击 GIS 服务器连接,然后单击服务器属性。
将打开 ArcGIS Server 属性对话框。
- 在数据存储选项卡上单击已注册的数据库旁边的加号按钮 (+)。
将打开注册数据库对话框。
- 在名称文本框中输入数据存储名称。
此名称将用于已注册的数据库列表和地理数据服务。
- 单击发布者数据库连接文本框旁边的导入。
- 浏览至本地地理数据库的数据库连接文件的位置,并单击选择。
发布者数据库连接文本框将填入本地地理数据库的连接信息。
- 取消选中与发布者数据库连接相同。
连接到 ArcGIS Enterprise on Amazon Web Services 实例时,服务器数据库连接将使用 Amazon EC2 上的 geodata 地理数据库连接自动填充。
- 选中创建地理数据服务。
- 单击确定以注册数据库并创建地理数据服务。
新注册的数据库显示在已注册的数据库列表中。
- 单击确定关闭 ArcGIS Server 属性对话框。
- 双击或刷新 ArcGIS Server 连接以确认地理数据服务已创建。
使用“创建复本”向导通过地理数据服务进行复制
ArcGIS Enterprise on Amazon Web Services 实例中的 geodata 地理数据库必须包含有您想与本地数据保持同步的数据的复本。要将数据复制到地理数据注册的数据库,请使用 ArcMap 中的“创建复本”向导。
- 启动 ArcMap。
- 将您希望从本地企业级地理数据库复制到 Amazon EC2 中的地理数据库的数据添加到地图中。
如果只想发布一个数据区域,可放大至该区域范围,或在地图上拖出一个包含您希望复制的所有数据的框。否则,可复制所有数据或在复制数据时指定包含范围。
- 打开分布式地理数据库工具条。
单击自定义 > 工具条 > 分布式地理数据库以打开工具条。
- 在分布式地理数据库工具条上单击创建复本按钮 。
- 选择要创建的复本类型。
- 如果仅想从本地地理数据库推送编辑内容至 Amazon EC2 中的地理数据库,请选择单向复本,选择父到子,然后单击下一步。
- 如果想从本地地理数据库推送编辑内容,并允许用户在 Amazon EC2 的地理数据库中编辑数据,请选择双向复本,然后单击下一步。
- 单击下一步。
- 选择数据和地理数据库,以将数据复制到地理数据库中。
- 单击打开按钮 ,导航到地理数据服务,然后单击确定。
- 输入复本的名称。
- 勾选单击“下一步”时显示用来覆盖复本默认设置的高级选项。
- 单击下一步。
- 选择要使用的复制模型。
- 如果正在复制的数据参与地理数据库功能,如几何网络、拓扑或关系类,请单击完整模型。(这是默认模型。)
- 如果数据没有使用任何地理数据库功能且子复本中的数据不需进行版本化,请选择简单模型。
- 单击下一步。
- 选择要复制数据的范围。
- 如果仅希望使用当前地图范围中显示的数据,请选择当前显示范围。(这是要复制的默认数据范围。)
- 如需 ArcMap 内容列表中所有数据的完整范围,请选择数据的完整范围。
- 如果在地图中围绕数据绘制图形,并仅想复制该图形中的数据,请选择当前所选图形的边界。
- 如果想指定一个范围,请选择以下范围并输入所需范围的值。
- 对于要复制的数据,请勾选包含对话框。
- 如果数据中含有关系类,可选择包含或排除相关数据。默认情况下,会复制相关数据。如果不想包含,可取消选中复制相关数据。
- 单击下一步。
- 如果包含了相关数据,请定义使用以下哪种方式将相关数据添加到复本:正向(将添加至源类的数据添加到目标类)或反向(将添加至目标类的数据添加到源类)。
- 单击下一步。
- 可单击汇总以查看为创建复本提供的所有信息。当完成查看时,请单击确定以关闭汇总;如需进行更改,请单击后退。
- 如果无需进行更改,请单击完成。
提示:
如果使用了所有默认设置,可取消勾选单击“下一步”时显示用来覆盖复本默认设置的高级选项。
通过服务将数据复制到 geodata 地理数据库。
在本地地理数据库中编辑数据
像通常那样,在本地企业级地理数据库中编辑数据。在其他地理数据库版本中编辑时,如果想让这些编辑与子复本同步,必须将更改提交到父版本。
同步编辑内容
您可在进行一系列编辑后同步或者按照特定的时间表进行同步,例如在一天结束的时候。想要同步的编辑完成并提交至父版本后,可使用分布式地理数据库工具条上的同步更改按钮或通过地理数据服务进行脚本同步。
进行数据同步时,必须以创建复本的数据库用户或地理数据库管理员的身份进行连接。
有关同步的详细信息,请参阅 ArcGIS 帮助中的同步在线复本。
在 ArcMap 中同步
在此工作流中,打开了包含已编辑的复制数据的地图。
- 打开分布式地理数据库工具条
单击自定义 > 工具条 > 分布式地理数据库以打开工具条。
- 在分布式地理数据库工具条上单击同步更改按钮 。
将打开同步更改向导对话框。
- 当确认完向导上的信息时,单击完成以开始同步。
脚本同步
可编写脚本以同步地理数据库。有关脚本的示例,请参阅 ArcObjects SDK for the Microsoft .NET Framework 中的如何在在线环境中同步复本。