需要 Network Analyst 许可。
地理数据库中的每个要素类都有一个要素类 ID,此 ID 是一个自动生成的整数,可唯一识别地理数据库中的要素类。当您将某个要素类从一个地理数据库复制到另一个地理数据库时,原始的要素类 ID 和复制的要素类 ID 可能会不同。如果在同一个地理数据库中进行复制粘贴,那么二者的 ID 一定会不同。
在网络数据集中,参与的源要素和记录有时会通过要素类 ID 局部地相互引用。因而,如果一个要素类 ID 与其预期 ID 不同,那么对该要素进行的引用就将损坏。
转弯、路标和流量表(尤其是“街道 - 剖析”和“街道-TMC”流量表)这几种网络数据类型会引用要素类 ID,因而在复制数据时可能带有损坏的引用。
转弯要素具有属性值,可对两个或多个边要素源的要素类 ID 进行引用,以标识相邻边之间的禁止转弯或处罚转弯。
“路标街道”表引用边要素源的要素类 ID 以标识相邻边之间已标注的行进策略,从而提供更加详细的行驶方向。
“街道 - 剖析”连接表具有引用边要素源的要素类 ID 的属性值,可将历史流量数据链接到街道。同样,“街道-TMC”连接表中的属性值引用边源的要素类 ID 以帮助将实时流量数据链接到街道。
如果转弯、路标或流量表所引用的要素类 ID 不正确,将发生错误,更糟糕的是,要素类标识有效但是不正确,这将导致产生意外结果。例如,用于流量数据的“街道 - 剖析”或“街道 -TMC”连接表可能引用错误的街道要素,从而导致在分析过程中显示或使用错误的行驶速度。同样,“路标 - 街道”连接表可能引用错误的街道并产生令人困惑的转弯指示。
如果单个复制转弯表、路标表或流量表,那么更新所引用的 ID 字段的唯一方法就是通过手动操作,而手动操作应该尽量避免。也可以使用转弯、路标、流量和任何其他想要使用的网络数据创建一个基本的网络数据集,然后复制并粘贴临时网络数据集,而非单个的源要素类。源要素类将自动随网络数据集一同复制。执行完毕后,可以删除或继续使用临时网络数据集。此方法会自动更新对要素类 ID 的引用,因此不必进行手动更新。
如果您不想复制网络数据集,或者您出于其他原因需要更新要素类 ID,那么您可以按照以下步骤进行操作。
- 在 ArcMap 的目录 窗口中,浏览至原始 Streets 要素类。右键单击要素类,然后选择属性。
- 在要素类属性 对话框中,单击常规选项卡。
- 单击名称文本框旁的省略号按钮。
对象类 ID 对话框会指示要素类 ID。将显示的值记录下来,因为可能需要在复制的转弯、路标和流量表数据中找到该值。
- 获取复制的 Streets 要素类的要素类 ID。可使用与获取原始 Streets 要素类 ID 相同的方法。
- 如果原始 Streets 要素类和复制的 Streets 要素类的要素类 ID 值相同,则无需进行进一步操作;但是,如果两个 ID 不同,就需要打开复制的转弯要素类的属性表、“路标 - 街道”表和流量表,然后将步骤 3 中的原始 Streets 要素类 ID 替换为步骤 4 中的复制的 Streets 要素类 ID。
要修复复制的转弯要素类,可将名为 Edge#FCID(其中 # 代表一个数字)的字段中的原始 Streets 类 ID 值替换为复制的 Streets 要素类 ID。
也可以使用复制的数据创建一个网络数据集,然后运行按几何更新工具。该工具将自动更新转弯要素的字段值,但是对于那些折点不与复制的街道要素相交或那些折点与重合街道要素相交的转弯要素,需要为其手动编辑几何。按几何更新需要转弯要素的折点与一个边源相交,以标识与这些转弯相关联的源要素类和要素 ID。
要修复复制的“路标 - 街道”、“街道 - 剖析”或“街道 -TMC”连接表,可找到 EdgeFCID 字段,然后将所有原始 Streets 要素类 ID 替换为复制的 Streets 要素类 ID。