我正在尝试编写一个Arcade表达式,它执行以下操作。如果线条在另一个多晶层的边界内,则线条从边界中获取名称属性,但仅当线条具有特定类型时。到目前为止,我们已经完成了第一部分。
var OLT = FeatureSetByName($datastore, "Proposed_OLT_LCP_Boundaries",["cab_id"], true) var intersectLayer = Intersects(OLT, Geometry($feature)) if (Count(intersectLayer) > 0) {var layer = First(intersectLayer);返回layer.cab_id;} else{返回null;}
然而,如果intersectsLayer是某种类型,我正在与仅拉入cab_id的部分作斗争。对此任何意见都非常感谢。
解决了!转到解决方案。
var OLT = FeatureSetByName($datastore, "Proposed_OLT_LCP_Boundaries",["cab_id"], true) var intersectLayer = Intersects(OLT, Geometry($feature)) if (Count(intersectLayer) > 0 && ($feature. txt))cabletype == 'F1' || $功能。cabletype == 'F2')) {var layer = First(intersectLayer);返回layer.cab_id;} else{返回null;}
是的,我们有一个类型字段,它有不同的标签。我们只想让这个函数应用于图层中特定类型的线条。这是我正在尝试做的(尽管到目前为止不正确…)
var OLT = FeatureSetByName($datastore, "Proposed_OLT_LCP_Boundaries",["cab_id"], true) var intersectLayer = Intersects(OLT, Geometry($feature)) if (Count(intersectLayer) > 0) and ($feature.)cabletype == 'F1'或'F2')) {var layer = First(instersectLayer);返回layer.cab_id;} else{返回null;}
var OLT = FeatureSetByName($datastore, "Proposed_OLT_LCP_Boundaries",["cab_id"], true) var intersectLayer = Intersects(OLT, Geometry($feature)) if (Count(intersectLayer) > 0 && ($feature. txt))cabletype == 'F1' || $功能。cabletype == 'F2')) {var layer = First(intersectLayer);返回layer.cab_id;} else{返回null;}