我已经创建了一个街机表达式来自动填充DueDate字段为点特征。当在劳动力中分配一个点时,我想运行一个计算表达式,搜索最近的道路,然后根据最低维护标准填充到期日期(即第1类必须在5天内固定,第2类必须在10天内固定等):
var赋值日期= $feature.赋值日期;var line_fs = FeatureSetByName($datastore, 'Road');line_fs = Intersects(line_fs, Buffer($feature, 15, "Meters"));//循环遍历路段并找到最近的一个var min_dist = 99999 var nearest_RoadClass = null var geo = Geometry($feature) for(var line in line_fs) {var line_geo = Geometry(line) var dist = Distance(geo, line_geo) if(dist < min_dist) {min_dist = dist nearest_RoadClass = line. class} if(IsEmpty(nearest_RoadClass)){返回null;} if (nearest_RoadClass == "Class 1"){返回DateAdd(赋值日期,5,'days');} if (nearest_RoadClass == "Class 2"){返回DateAdd(赋值日期,10,'days');}返回null;}
谁能告诉我为什么离第6类道路最近的点有时会被分配一个截止日期,而不是一个空值?
解决了!转到解决方案。
道路功能类有一个名为“类”的列吗?
不确定这是否与它有任何关系,但在机密数据库中有一个循环引用(line_fs)。
line_fs = Intersects(line_fs, Buffer($feature, 15, "Meters"))
不确定是否可以分配一个依赖于自身的值。有时这是可行的,只是不确定在Arcade。
else语句的左花括号也被省略了:
Else {return null}
如果在第16行左右添加一个控制台语句,它在消息中报告了什么?
控制台(nearest_RoadClass)
控制台应该报告“Class 1”,“Class 2”等等。
R_
道路功能类有一个名为“类”的列吗?
不确定这是否与它有任何关系,但在机密数据库中有一个循环引用(line_fs)。
line_fs = Intersects(line_fs, Buffer($feature, 15, "Meters"))
不确定是否可以分配一个依赖于自身的值。有时这是可行的,只是不确定在Arcade。
else语句的左花括号也被省略了:
Else {return null}
如果在第16行左右添加一个控制台语句,它在消息中报告了什么?
控制台(nearest_RoadClass)
控制台应该报告“Class 1”,“Class 2”等等。
R_