自动符号更改的街机表达式

问题描述 投票:0回答:1

我有一个名为“路障”的点图层,它具有三个字段: 事件 ID,用户可以在其中指定任何类型事件的事件 ID; “开始时间”,用户选择日期和时间;和“结束时间”,用户可以在其中选择暂定日期和时间。该图层已发布到 ArcGIS Online。我想根据开始时间和结束时间创建符号系统。当路障开始时,它会变成红色,当路障结束时,它会变成绿色。

gis arcgis arcgis-online
1个回答
0
投票

可视化配置文件中创建一个 Arcade 表达式,根据当前时间和开始/结束时间返回两个或三个不同的值(取决于您是否要表示活动/非活动或之前/期间/之后)。

下面的示例返回之前/期间/之后的三个不同值,使用 Arcade 的

Now()
函数 获取当前时间:

var currentTime = Now();
var status;

if (currentTime < $feature.StartTime) {
  status = "Planned";
} else if (currentTime <= $feature.EndTime) {
  status = "Active";
} else {
  status = "Complete";
}

return status;

注意:根据查看数据的方式/地点,这可能不会创建“实时”符号系统。例如,如果您在 ArcGIS Online 中共享 Web 地图或应用程序,则符号系统不会每秒重新评估,因此

Now()
/
currentTime
将仅表示 Web 地图或应用程序最初加载的时间,并且符号系统可以直到刷新页面才会过时。

© www.soinside.com 2019 - 2024. All rights reserved.