重新调整路由似乎忽略了属性规则

213
3.
跳到解决方案
11/01-2022 10:03 PM
GraemeBrowning_Aurizon
临时贡献者II

在查看下面的复杂示例之前,我认为您应该回顾一下更简单的示例扩展路由不运行属性规则- Esri社区亚博agappyabo11.vip首先是因为我认为两者都有相同的潜在原因。

扰流板

我使用的是ArcGIS Pro 3.0.2, ArcGIS Enterprise 11 (SQL Server)和ArcGIS Roads and Highways。

在下面的图片中,我有一条名为CC-TEST_0095KM的路线,它使用其线路名称(CC-TEST)进行标记。我已经数字化了一条中心线,我将使用它将CC-TEST_0095KM重新校准为一条直线。

graemebrowning_aurizon_0 - 1667364056947. - png

要做到这一点,我使用Realign路由:

graemebrowning_aurizon_1 - 1667364257373. - png

我得到了这个结果,看起来它对废弃和重新排列的路线都有正确的测量:

graemebrowning_aurizon_2 - 1667364331713. - png

我的LRS数据大约有10个属性规则,其中设置了一个Insert触发器来计算Length字段。我也不使用更新触发器,因为当我尝试过时,我从编辑中得到各种错误,这使我相信位置引用不喜欢它们。当我在属性表中查看上述路由的行时,我注意到放弃和重新排列的路由的长度是相同的:

graemebrowning_aurizon_3 - 1667364584352. - png

SHAPE.STLength()字段看起来像正确的值(以十进制表示)。

这就像字段已经从废弃的路由复制到重新对齐的路由,可能是在运行属性规则触发器之后。

以下是我在START_M, END_M和Length属性规则中分别使用的Arcade表达式:

返回几何(特性)美元.paths[0][0]。m;
返回几何(特性)美元.paths[1][1]。m;
美元返回功能。END_M - $feature.START_M;

是否有一种方法,我可以让我的属性规则正确运行时,重新调整路由运行的数据像我的?

到目前为止,它们似乎在所有其他位置引用工具的测试中运行正确。

第二个Realign Routes测试如下所示:

graemebrowning_aurizon_0 - 1667367332465. - png

我得到了这个结果。

graemebrowning_aurizon_1 - 1667367494537. - png

废弃路线的长度是900米,这是我所期望的,因为我从100米重新调整到1000米。然而,重新调整的路线是1146米,与原来的路线相同,而不是新的长度。再一次,地图上的度量看起来是正确设置的,而属性规则应该维护的额外字段似乎没有正确地完成它们的工作。

第三个Realign Routes测试如下所示:

graemebrowning_aurizon_0 - 1667450036130. - png

废弃路线的长度是494米,这是我所期望的。然而,重新调整的路线是1094米,与原来的路线相同,而不是预期的新长度1124米。再一次,地图上的度量看起来是正确设置的,而属性规则应该维护的额外字段似乎没有正确地完成它们的工作。

0荣誉
1解决方案

接受的解决方案
AyanPalit
通过 Esri贡献者
Esri贡献者

@GraemeBrowning_Aurizon请确认AR是在INSERT和UPDATE参数上触发的添加属性规则

Ayan Palit b|首席顾问Esri

在原帖子中查看解决方案

0荣誉
3回复
AyanPalit
通过 Esri贡献者
Esri贡献者

@GraemeBrowning_Aurizon请确认AR是在INSERT和UPDATE参数上触发的添加属性规则

Ayan Palit b|首席顾问Esri
0荣誉
GraemeBrowning_Aurizon
临时贡献者II

在确保我的属性规则触发器在新的企业地理数据库中都被设置为INSERT+UPDATE之后,我运行了与我原来帖子中类似的测试,现在的结果是我所希望的!

GraemeBrowning_Aurizon
临时贡献者II

@AyanPalit我最初在INSERT和UPDATE上触发了我的属性规则,但我一直得到错误(我需要再次设置以获得详细信息),所以我切换到只是INSERT,当这个线程中的错误被看到时,只有INSERT将已经到位。

当我的LRS在企业地理数据库中时,我在修改属性规则时遇到了麻烦,所以我一直在使用ArcPy脚本迁移到那里的文件地理数据库上设置它们。

我将尝试首先通过GUI将它们更改为INSERT和UPDATE,然后通过我的脚本查看是否解决了此错误。如果我这样做遇到其他人,我会单独报告。

0荣誉