To make things a bit more dynamic (still on a hard coded geometry) I created an expression of a buffer of a point that grows in time and each point is given a symbology based on the distance from that growing circle:
var start_time = Date(2017, 11, 14, 10, 10, 0);
var curr_time = Now();
var dif_sec = DateDiff(curr_time, start_time, "seconds");
var buf_dist = Abs(dif_sec);
var json_pnt = '{"x":-8415299.294,"y":692928.204,"spatialReference":{"wkid":102100,"latestWkid":3857}}';
var source_pnt = Point(json_pnt);
var pnt = Geometry($feature);
var buf = Buffer(source_pnt, buf_dist, "meter");
var dist = Distance(pnt, buf, 'meters');
var result = "";
if (dist == 0) {
result = "Danger!";
} else if (dist <= 500) {
result = "Warning: 0 - 500m";
} else if (dist <= 1000) {
result = "Warning: 500m - 1km";
} else if (dist <= 1500) {
result = "Warning: 1km - 1.5km";
} else if (dist <= 2500) {
result = "Warning: 1.5km - 2.5km";
} else {
result = "No danger (>2.5km)";
}
return result;
Another one for the size of the symbol (inverted in this case to have larger symbols for those point closer to the circle):
var start_time = Date(2017, 11, 14, 10, 10, 0);
var curr_time = Now();
var dif_sec = DateDiff(curr_time, start_time, "seconds");
var buf_dist = Abs(dif_sec);
var json_pnt = '{"x":-8415299.294,"y":692928.204,"spatialReference":{"wkid":102100,"latestWkid":3857}}';
var source_pnt = Point(json_pnt);
var pnt = Geometry($feature);
var buf = Buffer(source_pnt, buf_dist, "meter");
var dist = Distance(pnt, buf, 'meters');
return dist;
Which results in something like this when you make use of the new Firefly symbols available in ArcGIS Online:
.