Skip to content

v10 Visualization Library

Orlando Viera edited this page May 5, 2025 · 5 revisions

Overview

This visualization library serves to capture layer configurations related to visibility range, transparency, effects, aggregation, pop-ups, field display names, and labeling. It is not exhaustive, but instead serves to capture the finer differences in visual language between layers. This is NOT a symbology hosting library with files (yet). If a particular visualization feature is missing, such as aggregation, it is assumed to be off / disabled and not relevant to the respective layer.

This resource begins with SARCOP v10 and is a living document. Configurations captured here exist at the v10 Master IFS level, and allows for mid-incident / incident-specific changes to a view layer to be reverted back to the Master IFS post-incident.

POC for this library is Orlando Viera, NAPSG, [email protected].

Pages nested in this Visualizations Library Wiki refer to this layer as the "Master" or as "v10". This layer, along with all other v10 assets, lives in the SARGeo ArcGIS Online Organization

Waypoints - Clusters View

In v10, the Waypoints - Clusters View is deprecated in favor of using aggregation directly in the Waypoints layer. See the Waypoints section for aggregation configuration.

Waypoints

Symbology not captured here (yet).

Pertinent Properties

image image

Aggregation

image

image

image

image

image

image

image

Pop-Ups

image

Titles

Titles for ALL pop-ups will contain the layer name and relevant field in the singular, i.e., Incident Area: {event_name}, Logistics Point: {feature_category}, etc.

image

Attachments

image

Summary Text Box

Every pop-up has a text box titled Summary with the 4-7 most critical items listed as field call-backs. (!) NOTE: to match the title string field for the Fields Lists that follow, "Summary" is font size 21px and set by editing the source code.

  1. Open the Text content box

image

  1. Highlight "Summary" and set a font size; pick any

image

  1. Open the source code and change the font size you selected to 21px

image

  1. Click "Source" again to return to the text box

image

All pop-ups generally follow the same rich text styling. Refer to each layer's text box screenshot and source code for proper configuration.

For Waypoints, here's the source code for pop-ups from v9 (field names may differ):

<p> <span style="font-size:21px;">Summary</span><br> <br> <span><strong>{start_time}</strong></span><strong> </strong><span>at <strong>{MGRS}&nbsp;</strong></span><br> <br> By <span><strong>{team_user}</strong> from <strong>Squad</strong> <strong>{squad_id} ({team_name})</strong></span><br> <br> Comments: <span><strong>{general_comments}&nbsp;</strong></span><br> <br> Follow-Up Status: <span><strong>{followup_status}</strong></span> </p>

Field Lists

The Waypoints layer pop-up contains 4 different Fields lists and are categorized; reference each respective Field list's title.

image

WaypointInfoFieldList

image

image

(!) NOTE: some field display names have been modified for a better user experience. As of 03/04/2025, reference the pop-up screenshots here and the field display name configuration in SARCOP v9 Sandbox Internal Map and the v10 Master for the latest reference.

Examples include changing OBJECTID to ObjectID, DeleteThis to Send to Recycle Bin?, CreationDate to Time Uploaded to SARCOP, and many others.

Labels

Disabled

image

Pop-Up Sample

image

Logistics Points

Logistics Points are symbolize by Feature Category. The existing Logistics Points vectors are small, and you may need to bump the px up to 24px to achieve proper visualization.

image

image

Pertinent Properties

image

Pop-Ups

image

Title

image

Attachments

image

Summary Text Box

image

Field Lists

image

Labels

image

image

Pop-Up Sample

image

Tracklogs

Symbology not listed here (yet).

Pertinent Properties

Transparency for Tracklogs is set to 25%. The purpose of this is to not block basemap street labels and other centerline data, as Tracklogs by nature follow paths of ingress / egress and established roads can get congested with Tracklog line data. In highly congested incidents, such as the Lahaina Fire, it may be necessary to increase transparency so as not to occlude areas with congested point data.

image

Pop-Ups

image

Title

image

Attachments

image

Summary Text Box

image

<p> <span style="font-size:21px;">Summary</span><br> <br> <span><strong>{mission_type}</strong></span> by <span><strong>{team_user}</strong></span> from <strong>Squad </strong><span><strong>{team_squad}</strong></span><strong> (</strong><span><strong>{team_name}</strong></span><strong>)</strong><br> <br> Started on <span><strong>{start_time}</strong></span><br> Ended on <span><strong>{end_time}</strong></span><br> <br> Distance covered: <span><strong>{expression/expression0}</strong></span><strong>&nbsp;</strong><br> <br> Comments: <span><strong>{team_comments}</strong></span><strong>&nbsp;</strong> </p>

An expression is used in the Summary text box to convert the shape length field into miles:

image

image

Var distance = Length($feature, 'miles') return round(distance,2) + " miles"

Field Lists

image

image

Incident Area

Pertinent Properties

image

Symbology

image

image

Select the second line style option:

image

Pop-Ups

(!) Pop-Ups are disabled in the Internal Map to avoid UX confusion in the Tactical and Strategic Dashboards.

image

Title

image

Summary Text Box

image

<p> <span style="font-size:21px;">Summary</span><br> <br> Incident type: <span><strong>{event_type}</strong></span> started on <span><strong>{start_date}</strong></span><br> <br> Status: <span><strong>{Status}</strong></span><br> <br> Comments: <span><strong>{comments}</strong></span> </p>

Field Lists

image

Labels

image

image

Pop-Up Sample

image

Branches

Pertinent Properties

image

Symbology

image

Pop-Ups

(!) Pop-Ups are disabled in the Internal Map to avoid UX confusion in the Tactical and Strategic Dashboards.

image

Title

image

Summary Text Box

image

<p> <span style="font-size:21px;">Summary</span><br> <br> Branch: <span><strong>{branch}</strong></span><strong>&nbsp;</strong><br> <br> Status: <span><strong>{Status}&nbsp;</strong></span><br> <br> <span>Incident: <strong>{event_name}&nbsp;</strong></span> </p>

Field Lists

image

Pop-Up Sample

image

Divisions

Pertinent Properties

image

Symbology

Divisions are symbolized by the status attribute.

image

Complete

image

Fill

image

Outline

image

Active

image

image

Not Active

image

image

Transparency by Attribute

The Division layer makes use of a transparency-by-attribute Arcade script. The purpose of the script is to adjust fill transparency for Complete Divisions at 80000:1, 40000:1, and fully transparent at 20000:1, which is also the same scale that Search Segments become visible.

image

var scale = $view.scale;

var transparency = When( scale >= 80000, 70, // 70% transparency at or more zoomed out than 1:80,000 scale >= 40000, 85, // 85% transparency between 1:40,000 and 1:80,000 100 // 100% transparency (fully invisible) at more zoomed in than 1:40,000 );

return transparency;

It is critical to adjust the sliders to the following values:

image

The transparency-by-attribute script and sliders are subject to change after v10 launch.

Pop-Ups

(!) Pop-Ups are disabled in the Internal Map to avoid UX confusion in the Tactical and Strategic Dashboards.

image

Title

image

Summary Text Box

image

<p> <span style="font-size:21px;">Summary</span><br> <br> Division: <span><strong>{division}</strong></span><strong>&nbsp;</strong><br> <br> Status: <span><strong>{Status}</strong></span><strong>&nbsp;</strong><br> <br> Resources Assigned: <span><strong>{resources_assigned}</strong></span><strong>&nbsp;</strong><br> <br> Branch / Incident: <span><strong>{branch}</strong></span><strong>&nbsp;/ </strong><span><strong>{event_name}</strong></span><strong>&nbsp;</strong> </p>

Field Lists

image

Labels

image

image

image

image

image

image

Pop-Up Sample

image

Search Segments

Symbology

Not captured here (yet).

Pertinent Properties

image

Pop-Ups

image

Attribute Expressions

Search Segments use several Arcade scripts to intersect a variety of information

image

Estimated Buildings

image

var itemID = 'bb69f10baf334d4c935a0fb23d758f38' var prtl = Portal("https://www.arcgis.com") var buildings = FeatureSetByPortalItem(prtl,itemID, 0)

var countBuildings = Count(Intersects(buildings,$feature))

return countBuildings

Total Waypoints in Segment

image

// Write a script that returns a value that will be used to draw features. // get the count for all buildings in an assignment area var ItemID = '5f67f852d0f043799d7509efdaa16ad2' var prtl = Portal("https://www.arcgis.com") var waypoints = FeatureSetByPortalItem(prtl,itemID, 1)

var countWaypoints = Count(Intersects(waypoints,$feature))

return countWaypoints

Area (Acres)

image

var SegArea = AreaGeodetic($feature, 'acres') var roundedSegArea = Round(SegArea,2) return roundedSegArea

Building Density per Acre

image

// Write a script to return a value to show in the pop-up. // For example, get the average of 4 fields: // Average($feature.SalesQ1, $feature.SalesQ2, $feature.SalesQ3, $feature.SalesQ4)

var itemID = '8e5577dfa01142d0a9aa455bb7ed9bf8' var prtl = Portal("https://www.arcgis.com") var buildings = FeatureSetByPortalItem(prtl,itemID, 0)

var CountBuildings = Count(Intersects(buildings,$feature))

var SegmentArea = AreaGeodetic($feature, 'acres')

var BuildingDensity = Round(CountBuildings/SegmentArea)

return BuildingDensity

Estimated Population

image

// get the layer with population values (Census blocks) var portal = Portal('https://arcgis.com') var blocks = FeatureSetByPortalItem( portal, 'b3642e91b49548f5af772394b0537681', 0, ['P0010001'] )

// intersect feature with census blocks var xs = Intersects( $feature, blocks )

// create array of intersected blocks var c_array = []

for (var c in xs){ Push(c_array, c['P0010001']) }

// remove duplicates var unique_blocks = Distinct(c_array)

// concatenate array, return string

return Concatenate(sum(unique_blocks))

Title

image

Attachments

image

Summary Text Box

image

<p> <span style="font-size:21px;">Summary</span><br> <br> Status: <span><strong>{completion_status}</strong></span><br> <br> Mission Type: <span><strong>{mission_type}</strong></span><br> <br> Team: <span><strong>{team_name}</strong></span><br> <br> Comments: <span><strong>{team_comments}</strong></span><br> <br> Work Area Description: <span><strong>{work_area}</strong></span><strong>&nbsp;</strong> </p>

Field Lists

image

image

Labels

image

image

image

image

image

image

Layer Refresh Settings

A refresh interval keeps your maps in sync with the latest data while the map is open. It is important to note that a map zoom or pan, usually sends a request to the feature layer and may update the map. But if refresh is turned off - the only way to see new data is to refresh the browser. So even a low frequency refresh (10 minutes) is better than no refresh. See this documentation for more details https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval-mv.htm image

Dashboard Web Maps and Layers

Since the purpose of the Dashboards is to have "real-time" information, we should set layers to the most frequent setting we can, without sacrificing data store performance.

For now, let's default to the following.

  • Waypoints = 1 minute
  • Tracklogs = 1 minute
  • All others = 5 minutes

Field Maps Web Maps and Layers

Since the purpose of the Field Maps is to have "real-time" information, we should set layers to the most frequent setting we can, without sacrificing data store performance.

For now, let's default to the following.

  • Waypoints = 1 minute
  • Tracklogs = 1 minute
  • All others = 5 minutes

Intel Manager and All Other Web Maps and Layers

For most other web maps, there will be plenty of panning and zooming so we can default to 5 minute refresh for all layers.