准备数据

首先,您需要确定与其他类型的复本相比,单向复本是在交通部门和旅游部门之间分配数据的最佳解决方案。 然后,您将下载数据,连接两个部门的企业级地理数据库,并确保针对复制正确配置交通数据。

为什么是单向复本?

地理数据库复制可用于跨多个位置和地理数据库管理和分配空间数据。 它涉及创建源地理数据库数据的复本或副本并将这些复本转移到目标地理数据库。 复本的优势之一是可使用源数据定期同步。 同步意味着对源数据所做的任何更改还将在复本数据中反映,这有助于管理经常更新的数据。

共有三种类型的地理数据库复制:单向、双向和检出/检入。 所用类型取决于数据的存储方式、数据的预期分配方式以及数据的编辑要求。

本教程将重点介绍旅游部门和交通部门之间的复本。 所用复本类型为单向复本。

此图显示工作流中使用的三种复制类型

为什么单向复本是适用于旅游部门和交通部门的最佳复制类型? 请注意工作流的以下方面:

  • 这两个部门均在企业级地理数据库中存储数据。
  • 交通部门需要与旅游部门共享数据。
  • 旅游部门不需要对数据进行更改。 它只需读取权限,以将数据发布至 Web 地图。
  • 交通部门将管理所有编辑内容和更新。 无需手动解决编辑冲突,因为只有一个部门将编辑该数据。

可通过单向复制单向发送数据更改,即从父地理数据库到子地理数据库。 它确保仅父项管理数据;子项可以读取数据,但无法进行编辑。 单向复本还允许在数据多次更新时重复同步。

此图显示父与子地理数据库之间的单向复制

下载数据

在确定单向复本最适合工作流后,您将下载并打开 ArcGIS Pro 工程包,其中包含本教程所用的数据。

注:

在本教程中,您将使用自己的企业级地理数据库完成工作流。 确保您已安装并授权 ArcGIS Server 并且已安装 Microsoft SQL Server(或另一个受支持的关系数据库管理系统)。 有关安装这些组件的详细信息,请检查基础 ArcGIS Enterprise 部署文档以及 ArcGIS Enterprise Builder 入门教程。

  1. 下载 Tourism_and_Transportation 工程包。
  2. 在计算机上找到已下载的文件。
    注:

    开始下载前,根据 web 浏览器的不同,系统可能会提示您选择文件的位置。 大多数浏览器将默认下载到计算机的 Downloads 文件夹下。

  3. 如果您已在计算机上安装 ArcGIS Pro,双击 Tourism_and_Transportation.ppkx 打开该工程。 如果收到系统提示,请使用您获得许可的 ArcGIS 帐户登录。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项

    该工程包含两个地图,即交通旅游,参与复制的每个部门对应一个。 这些地图将缩放至阿根廷布宜诺斯艾利斯,但是不含除了底图之外的其他数据。

    不含数据的布宜诺斯艾利斯的默认地图

    该工程还包含工程地理数据库中的数据。

  4. 目录窗格中,展开数据库,然后展开 tourism_and_transportation.gdb

    默认地理数据库

    该数据库包含三个要素类:Public_BicyclesSubway_LinesSubway_Stations。 在本教程中,这些数据集由交通部门管理,旅游部门想要在其地图中使用这些数据集。

连接到企业级地理数据库

数据当前所在的数据库为文件地理数据库。 进当父数据库为企业级地理数据库时才能进行单向复制,因此您必须移动数据。

企业级地理数据库使用 ArcGIS Enterprise。 它增加了功能和数据集类型;同时允许与通过其数据发布的要素服务同步。

首先,您将创建或连接到表示交通部门所使用的企业级地理数据库的企业级地理数据库。 您需要向其复制文件地理数据库中的数据。 然后,您将创建或连接到表示旅游部门所使用的企业级地理数据库的企业级地理数据库。

  1. 如有必要,在名为 Transport_BASQL Server 实例(或其他受支持的关系数据库管理系统)中创建企业级地理数据库。
    注:

    如果您已具有可用的企业级地理数据库,则可以使用该数据库而不是进行新建。 如果您需要帮助创建新的企业级地理数据库,请参考为房地产部署企业级地理数据库教程中的“创建企业级地理数据库”一节。

    接下来,您将连接到企业级地理数据库。

  2. 目录窗格中,右键单击数据库,然后选择新建数据库连接

    "新建数据库连接”选项

    随即显示数据库连接窗口。 用于连接到企业级地理数据库的参数取决于您的 SQL Server 或关系数据库管理系统 (RDBMS) 实例。

  3. 对于数据库平台,选择实例所用的 RDBMS。 对于实例,键入 RDBMS 实例的名称。
    注:

    示例图像使用名为 BASQL 的 SQL Server 实例;您的实例有所不同。

    数据库平台和实例参数

  4. 对于身份验证类型,选择数据库身份验证
  5. 对于用户名密码,键入可访问企业级地理数据库并加载数据的帐户的凭据。
    注:

    示例图像使用名为 JUAN 的用户;您的用户名将有所不同。

  6. 对于数据库,选择之前创建的 Transport_BA 企业级地理数据库(或您有权访问并可针对本教程修改的另一个企业级地理数据库)。

    身份验证类型、用户名、密码和数据库参数

  7. 单击确定

    即会向目录窗格添加企业级地理数据库。 默认情况下,数据库以实例名称。 (例如,示例数据库名为 BASQL.sde。)您需要按照以下命名格式对该数据库进行命名:database name_database user.sde。

  8. 目录窗格中,右键单击企业级地理数据库,然后选择重命名。 将名称更改为 Transport_BA_[您的数据库用户名].sde
    注:

    在示例图像中,用户名为 JUAN,因此企业级地理数据库名为 Transport_BA_JUAN_sde。 您的用户名将有所不同。

    已重命名企业级地理数据库

    接下来,您需要将文件地理数据库中的数据复制到企业级地理数据库。

  9. Public_BicyclesSubway_LinesSubway_Stations 要素类从 tourism_and_transportation.gdb 复制到 Transport_BA.sde
    提示:

    按住 Ctrl 键同时单击每个要素类以同时选择所有三个要素类,然后进行拖动以同时复制所有三个要素类。

  10. 展开 Transport_BA.sde 以查看其内容。

    企业级地理数据库中的已复制数据

    数据即已复制。 副本的前缀为数据所有者的用户名。 在示例图像中,所有者为名为 JUAN 的帐户;您的用户名将有所不同。

  11. 折叠 tourism_and_transportation.gdb

    接下来,您将连接到旅游部门所使用的企业级地理数据库。 对于单向复本,子数据库不一定要为企业级地理数据库。 但是,在此场景中,旅游部门希望使用共享数据创建 Web 地图。 企业级地理数据库允许同步从其数据发布的 Web 要素。 这意味着如果旅游部门希望其 Web 地图在数据更新后自动更新,则其也必须使用企业级地理数据库。

  12. 如有必要,在名为 Tourism_BASQL Server 实例(或其他受支持的关系数据库管理系统)中创建企业级地理数据库。
  13. 目录窗格中,右键单击数据库,然后选择新建数据库连接
  14. 数据库连接窗口中,将适当的参数设置为连接到之前创建的 Tourism_BA 企业级地理数据库(或您有权访问并可针对本教程修改的另一个企业级地理数据库)。
  15. 单击确定
  16. 将新数据库连接重命名为 Tourism_BA_[您的数据库用户名].sde

    在示例图像中,旅游数据库的用户名为 EMMA;您的用户名将有所不同。

    两个企业级地理数据库连接

    您现在已连接到两个企业级地理数据库。 一个表示交通部门管理的企业级地理数据库;其中包含交通数据。 一个表示旅游部门管理的企业级地理数据库;其中为空。

启用全局 ID

接下来,您将准备交通数据进行复制。 首先,您需要确认数据库连接使用传统版本化而不是分支版本化。 复制不适用于分支版本化,因为复本需要直接连接到父数据库。 然后,您将为要素类启用全局 ID。 当编辑导致数据版本化时,全局 ID 有助于映射在相同数据的多个版本中进行的编辑。

  1. 目录窗格中,右键单击 Transport_BA.sde,然后选择地理数据库连接属性
  2. 地理数据库连接属性窗口中,确认版本化类型设置为传统

    “版本化类型”参数设置为“传统”

  3. 关闭地理数据库连接属性窗口。

    接下来,您将启用传统版本化并为所有三个要素类启用全局 ID。

  4. 目录窗格内,右键单击 Public_Bicycles 表,然后选择管理

    Public_Bicycles 的“管理”选项

    要素类属性窗口随即显示。

  5. 管理选项卡中,选中版本化,然后选择传统。 选中全局 ID

    版本化和全局 ID 已启用

  6. 单击确定
  7. 对于 Subway_LinesSubway_Stations 要素类,打开要素类属性窗口并启用传统版本化和全局 ID。

    现在,可随时复制所有三个要素类。

  8. 快速访问工具栏上,单击保存按钮以保存工程。

    “保存”按钮

目前,您已确认单向复本复制类型适用于在交通部门和旅游部门之间分配数据。 您还连接到了要在教程中使用的企业级地理数据库,并准备好数据库连接和要素类以进行复制。


创建单向复本

接下来,您将在交通和旅游地理数据库之间创建单向复本。

创建复本

要创建复本,您需要运行地理处理工具。

  1. 目录窗格中,右键单击 Transport_BA.sde,指向分布式地理数据库,然后选择创建复本

    “创建复本”选项

    地理处理窗格随即出现并显示创建复本工具。 首先,您需要设置要复制的数据集。

  2. 对于复本数据集,单击浏览按钮。

    “浏览”按钮

  3. 复本数据集窗口中,展开工程下的数据库。 单击 Transport_BA.sde
  4. 按住 Ctrl 键同时单击 Public_BicyclesSubway_LinesSubway_Stations 选中全部三个。

    所有三个要素类均已选中

  5. 单击确定

    数据集即会添加至地理处理窗格中的参数。

  6. 对于复本类型,选择单向复本。 确认输出类型设置为地理数据库

    接下来,您需要确保数据复制到旅游部门数据库。

  7. 对于要将数据复制到的地理数据库,单击浏览按钮。
  8. 要将数据复制到的地理数据库窗口中,单击工程下的数据库。 选择 Tourism_BA.sde 并单击确定
  9. 对于复本名称,键入 Transportation_to_Tourism

    “创建复本”工具的参数

  10. 单击运行

    随即运行工具并创建复本。

  11. 关闭地理处理窗格。

浏览复本

在创建复本后,您需要从父数据库和子数据库的视角检查该复本。

  1. 目录窗格中,右键单击 Transport_BA.sde,指向分布式地理数据库,然后选择管理复本

    随即出现管理复本窗格。 其中列出一个复本:之前创建的 Transportation_to_Tourism 复本。

  2. Transportation_to_Tourism 下,单击箭头展开该复本。

    用于展开复本的箭头

    将显示复本相关信息。 所有者为创建复本的数据库用户(在示例图像中,为 JUAN)。 该信息还包含数据库是父项还是子项,它在发送还是接收数据。

    有关父数据库中的复本的信息

  3. 关闭管理复本窗格。

    接下来,您需要确认数据是否已复制到子数据库。

  4. 目录窗格中,右键单击 Tourism_BA.sde,然后选择刷新
  5. 展开 Tourism_BA.sde

    包含三个要素类的复本

    已成功将 3 个要素类复制到子数据库中。

  6. 右键单击 Tourism_BA.sde,指向分布式地理数据库,然后选择管理复本
  7. 管理复本窗格中,展开 Transportation_to_Tourism 复本。

    从旅游地理数据库访问的复本相关信息指示角色为子项,状态为数据接收方,而非数据发送方。

    有关子数据库中的复本的信息

  8. 关闭管理复本窗格。 折叠 Tourism_BA.sde 连接。
  9. 保存工程。

您已在交通和旅游数据库之间创建单向复本。 您已确认正确复制数据并从父项和子项视角检查复本以评估数据流。 数据现在已准备好进行同步编辑。


同步更改

在创建单向复本后,您需要将其用于数据同步。 在工作流的此部分中,假设运输部门想要对其原始数据进行编辑。 您将执行编辑并同步更改,以在旅游部门的复本中反映这些编辑内容。

将数据添加至地图

交通部门最近延伸了其中一条地铁线路,以更好地服务市内一家医院。 您将以交通部门 GIS 专家的身份编辑原始地铁数据,以反映这些更改。 首先,您需要将数据添加至地图并更改其符号系统以分区不同的地铁线路。

  1. 确认 Transportation 地图处于活动状态。

    Transportation 地图

  2. 目录窗格的 Transport_BA.sde 下,按住 Ctrl 键同时单击 Subway_LinesSubway_Stations 将其选中。 右键单击选定要素类,然后选择添加到当前地图

    “添加到当前地图”选项

    这两个要素类均已添加至地图。 (您的默认符号系统可能与示例图像的符号系统不同。)

    布宜诺斯艾利斯地铁的默认地图

    接下来,您将更改符号系统。 为了节省时间,工程文件夹中已包含图层文件。 您需要从这些文件中导入符号系统。

  3. 内容窗格中,确保选中地铁站

    已选中“地铁站”的“内容”窗格

  4. 在功能区上,单击要素图层选项卡。 在绘制组中,单击导入

    “导入”按钮

    导入符号系统窗格随即显示。

  5. 对于输入图层,确认选中地铁站。 对于符号系统图层,单击浏览按钮。
  6. 符号系统图层窗口的工程下,展开文件夹Tourism_and_Transportationp30。 单击 tourism_and_transportation1

    包含图层文件的文件夹

  7. 单击 Subway_Station_Symbology.lyrx,然后单击确定

    该文件即会添加至工具参数。

    “导入符号系统”工具参数

  8. 单击确定

    符号系统已应用。 您将针对另一个图层重复该过程。

  9. 内容窗格中,选择地铁线路。 在功能区的要素图层选项卡中,单击导入
  10. 导入符号系统窗格中,对于符号系统图层,选择 Subway_Lines_Symbology.lyrx(位于地铁站图层文件所在的文件夹中)。 单击确定

    在地图中,地铁站和线路均已符号化,每条地铁线路均具有唯一颜色。

    已应用符号系统的地图

编辑数据

首先,您需要将现有地铁线路要素延长到其新终点。 然后,您需要在线路终点添加另一个地铁站。

将对地铁 C 号线进行更改,该线路在城市东侧横穿南北。 考虑到本教程的目的,已为感兴趣区域准备书签。

  1. 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Lima Street

    Lima Street 书签

    地图将导航至 Lima Street,其中城市正在延长地铁 C 号线以服务周边的 Hospital Borda。

    首先,您需要新建延长至医院的新地铁线要素。

  2. 单击功能区上的编辑选项卡。 在要素组中,单击创建

    创建按钮

    创建要素窗格随即显示。

  3. 创建要素窗格中,单击地铁线路下的 Linea C 要素模板。 确认选中线路

    Linea C 要素模板

  4. 捕捉组中,单击捕捉下拉箭头。 确保打开捕捉功能并选中折点将捕捉到折线或面要素的最近折点

    捕捉设置

  5. 在地图中,单击地铁线路的终点折点。

    地铁线路的终点折点

  6. 对于第二个折点,单击位于第一个折点正南方的 Lima Street 终点。

    新要素的终点折点

  7. 在地图底部,单击完成按钮。

    “完成”按钮

    即会创建新地铁线要素。 接下来,您将为延长线创建地铁站。

  8. 创建要素窗格的地铁站下,单击 C 要素模板,然后确认选择
  9. 单击打开活动模板窗格以指定要创建的要素属性按钮。

    打开活动模板窗格按钮

  10. 输入以下属性信息:
    • 对于 Estacion,键入 Hospital Borda
    • 对于 Linea,确认选择 C
    • 对于 Ascensor,键入 0
    • 对于 Escalera,键入 4
    • 对于 Adaptado,键入 NO
    • 对于 Accesible,键入 NO

    新要素的属性

  11. 在地图中,单击所创建的新地铁线要素的终点。

    新地铁站的位置

    即会添加站。

  12. 在地图底部,单击完成按钮。 关闭创建要素窗格。
  13. 在功能区的编辑选项卡的选择组中,单击清除
  14. 管理编辑内容组中,单击保存

    “保存”按钮

  15. 保存编辑内容窗口中,单击

    现在,您已编辑要素类以添加新数据。

    地图中的新地铁线路和站

同步数据

接下来,您将同步对交通数据所做的更改,以在旅游部门复本中显示。

  1. 目录窗格中,右键单击 Transport_BA.sde,指向分布式地理数据库,然后选择同步更改

    “同步更改”选项

    地理处理窗格随即出现并显示同步更改工具。 系统已根据创建单向复本时设置的详细信息自动填充工具参数。 地理数据库 1 为父地理数据库 Transport_BA.sde,而地理数据库 2 为子地理数据库 Tourism_BA.sde。 方向为从地理数据库 1 到地理数据库 2,意味着数据更改将从父项发送到子项。

    两个数据库之间的冲突设置为优先使用地理数据库 1 解决。 在单向复本中,只能对一个地理数据库进行编辑,因此无需手动解决冲突。 在本教程中,交通部门可以进行编辑,而旅游部门不能,因此将优先使用交通部门自动解决全部冲突。

    注:

    冲突解决策略参数具有一个警告,告知您将自动解决所有冲突。 此行为预期适用于单向复本,因此您可以忽略该警告。

    同步更改工具参数

  2. 单击运行

    该工具随即运行。 完成时,对交通部门数据所做的编辑内容将同步到旅游部门复本。

  3. 关闭地理处理窗格。

    您需要确认更改显示在旅游部门数据中。

  4. 激活旅游地图。

    “旅游”地图

    此地图显示与交通地图相同的布宜诺斯艾利斯视图。 但是,其中不含交通部门的数据。

  5. 目录窗格中,右键单击 Tourism_BA.sde,然后选择刷新
  6. 展开 Tourism_BA.sde。 将 Subway_LinesSubway_Stations 要素类添加至当前地图。
  7. 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Lima Street

    地图将导航至之前添加新要素的区域。 新要素将在地图上显示,确认更改已通过单向复制成功同步到旅游部门的数据库。

    地图上的复制要素

  8. 保存工程。

在本教程中,您帮助了交通部门将数据与旅游部门进行共享。 您将单向复本标识为了工作流的最佳地理数据库复制类型。 然后,您在两个企业级地理数据库之间创建了复本。 最后,您编辑了原始数据并同步更改,以在旅游部门的数据库中反映编辑内容。 利用此单向复本,旅游部门将有权访问更新后的交通数据,可以将该数据发布为 Web 要素图层以在旅游部门的公共 Web 地图中使用。

本教程重点介绍了使用单向复本在交通部门和旅游部门之间分配数据。 系列中的其他教程重点介绍使用双向和检出/检入复本分配来自文化部门和零售部门的数据。

您可以在教程库中找到更多教程。