操作方法

操作方法:合并现有关联要素的注记

Last Published: January 14, 2021

摘要

注: ArcSDE 软件(包括应用程序服务器、命令工具以及带有 C 和 Java API 的 SDK)在 ArcGIS 10.2.2 中已弃用,不再进行分发。
注: 本文适用于 ArcGIS 9.x 版本。 更高版本的 ArcGIS 可能包含不同的功能,对于菜单、命令和地理处理工具,可能具有不同的名称和位置。

提供的说明将介绍如何将不同地理数据库中的关联要素的注记及其相关要素合并到一个地理数据库中,以维护已建立的关联要素的注记位置。

过程

通常,将新要素添加至链接的要素类时,将在相关联的要素类中创建新的关联要素的注记。 如果出于显示目的重定位了源中的注记,请按照以下步骤将现有关联要素的注记移动到目标中,而非创建新注记并对其进行重新定位。 此过程用于合并数据和每个地理数据库中定义的相同要素类/关联要素的注记方案。

注: 在生产环境中使用此过程之前,请对其进行测试并确保结果令人满意。
注: 从个人地理数据库附加到空间数据引擎 (SDE) 时,由于注记要素类中的 user_defined 字段存在问题,因此需要合并个人地理数据库或 SDE 中的所有数据。 如果在个人地理数据库中完成工作,则在创建关系类(请参阅步骤 12)之前,请将最终要素类和关联要素的注记复制到 SDE。

要素类和关联要素的注记通过要素类中的 ObjectID 进行链接,并通过关联要素的注记中的 FeatureID 进行链接。 每个单独的源要素类/关联要素的注记对可能具有相同的 ObjectID 和 FeatureID,因此在合并过程中,保留旧链接并维护唯一的链接标识符将非常重要。

  1. 创建关系类属性的屏幕截图。 在该过程结束时,需要使用此信息来重新创建要素链接关系。
  2. 删除每个地理数据库的关联要素的注记关系类;由此可将注记转换为标准注记要素类。 如果在新地理数据库中工作,则可以使用复制和粘贴功能,将所有数据复制到新地理数据库中。
  3. 在 Old_OID 要素类中创建一个 TEXT 字段。 要使主键和外键的所有 Old_OID 值在重新构造的关系类中唯一,必须添加一个因子(“新因子”)。 可以选择数值因子或字母因子。 如果合并两个以上的数据集,则字母因子更易于使用,因为无需追踪 Old_OID 中的最高数值。 字母因子用于以下步骤中:
    1. 对于每个要素类/关联要素的注记对,确定唯一的字母因子“newfactor”。 例如,对于 FC1/FLA1,新因子为“a”;对于 FC2/FLA2,新因子为“b”,依此类推,直到为所有的对分配唯一的新因子为止。
    2. 在 ArcMap 中,计算 Old_OID = [objectid] & "newfactor"。 必须使用双引号。
  4. 在注记要素类中创建 TEXT 字段 Old_FID。 可将与步骤 3 中相同的因子(“新因子”)添加至关联要素注记的相应 Old_FID,因为它将追踪其相关要素类 ObjectID。
    1. 包含如上所述 newfactor 标识符。
    2. 计算 Old_FID = [featureid] & "newfactor"。
注: 必须针对所有要素类和关联要素的注记对完成以上步骤。
  1. 在 ArcCatalog 中,可以使用“简单数据加载器”将源要素类加载到目标要素类中:
    1. 右键单击目标要素类 > 加载 > 加载数据
    2. 要输入数据,请浏览至 FC2 并将其选中。
    3. 单击添加
    4. 如果要合并两个以上的数据集,请根据需要浏览并添加其他数据集。
    5. 对于其他对话框,单击下一步
  2. 在 ArcToolbox 中,可以使用追加注记要素类工具将源关联要素的注记追加到目标关联要素的注记。
    1. 对于输入要素,浏览至源关联要素的注记并将其选中。
    2. 对于输出要素类,浏览至目标 FLA1 并将其选中。 单击确定
注: 同时还会将源中所有未放置的注记追加到目标。 请勿跨地理数据库类型进行追加;例如,将个人地理数据库转换为 SDE。
  1. 如果使用 SDE,则在完成所有数据加载或追加后,需要将最终的要素类/关联要素的注记注册为版本。
  2. 将最终的要素类和关联要素的注记添加至 ArcMap 并启动一个编辑会话。
  3. 分别在 Old_FID 和 Old_OID 上将要素类连接到关联要素的注记。
    1. 右键单击 FLA > 连接和关联 > 连接
    2. 单击第一个下拉菜单,然后单击连接表的属性
    3. 单击第二个下拉菜单,然后单击 Old_FID 字段。
    4. 单击第三个下拉菜单以选择该要素类。 如果该要素类当前不是地图的一部分,请单击浏览按钮,在磁盘上搜索该图层。
    5. 单击第四个下拉菜单,然后单击 Old_FID 字段。
    6. 单击确定
注: 请勿在连接字段上创建索引。 否则,可能会产生删除 Old_OID 的问题。
  1. 打开关联要素的注记属性表,然后计算 FLA.FeatureId = FC.Objectid。
  2. 保存编辑内容,然后移除连接并退出 ArcMap。
  3. 可以使用步骤 1 中关系类属性的屏幕快照以创建新的关系类。 如果关系类的先前名称已被使用,需要为新的关系类指定其他名称。
  4. 在 ArcCatalog 中,移除已添加的 Old_OID 和 Old_FID 字段。 如果收到常规功能故障,则需要在索引选项卡上检查 Old_OID 上是否存在临时索引。 如果存在,请将其移除。

文章 ID:000009474

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容