Skip to content

QuickCapture

Paul J. Doherty edited this page May 12, 2025 · 31 revisions

Documentation for SARCOP QuickCapture v10

Interface Design

Button Icons

  • Use the SVG symbols wherever possible, with the exception of Damage Observations and Tracklogs, see images here NSARGC - General\Graphics\QuickCapture Buttons

Button Shape

  • In general, Size Smallest, Shape rounded, fill will vary, border will vary

Groups

  • Most groups are collapsed by default.
  • Border color: 00619B (for deployment).
  • See each "Group" in DEPLOYMENT e85059 v9 NSARGC to see how we have configured the label, number of columns, default state, and border color.

General Settings

image

  • Background color: C0C2C4
  • Horizontal accuracy: 6 meters
  • Set required accuracy: disabled (this allows the user to get prompted if there is an accuracy issue, but does not prevent collection)
  • Distance threshold 10 meters (this allows for enough detail to see where someone has been, but reducing the size of data. It can be adjusted for missions where more detail is needed).
  • Allow location edits: Enabled, 15 seconds
  • Photo size: 640 px (reduce size of dataset, can be increased when needed)
  • Coordinate notation format: MGRS

Manage project layers

image

  • Update with Version 10, but should be Waypoints, Worksites, Logistics, and Tracklog.
  • Set default properties for all device variables, Arcade expressions for Incident Name, Branch, Division, and setup all of the Project User Inputs - this will save you time in configuration later.

Waypoints

  • Capture mode: Single point
  • Show map after capture: enabled
  • Apply custom title: disabled
  • Apply custom hint: disabled
  • Show camera: disabled

Capture fields

  • Incident Name: Arcade expression (double-check it works)

var incidentarea = FeatureSetByName($map, "SARCOP Incident Area", ["event_name"]); var incidentname = First(Intersects($feature, incidentarea)); if (!IsEmpty(incidentname)) { return incidentname["event_name"]; } else { return null; }

  • Team Name: Project User Input
  • Squad ID: Project User Input
  • Operator Name: Project User Input
  • Mission Type: Skip
  • MGRS: Device variable - Location
  • Degree Decimal Minutes: Device variable - Location
  • Latitude: Device variable - Location
  • Longitude: Device variable - Location
  • Altitude: Device variable - Location
  • Horizontal Accuracy: Device variable - Location
  • Skip Original Waypoint to Follow-up Priority
  • Start Time: Device variable - Capture time
  • Approval Status: Skip
  • Send to Recycle Bin: No - keep on map
  • Data Source: QuickCapture
  • Edit Comments: Skip
  • Install UUID: Device variable - Device information
  • App Version: Device variable - Device information
  • Project Name: Device variable - Device information
  • Device OS: Device variable - Device information
  • Email: Device variable - User information
  • Fix Type: Device variable - External GNSS
  • Skip Wildcard 1 through 5
  • Division: Arcade expression (test this!)

var division = FeatureSetByName($map, "SARCOP Divisions", ["division"]); var divisionname = First(Intersects($feature, division)); if (!IsEmpty(divisionname)) { return divisionname["division"]; } else { return null; }

  • Branch: Arcade expression (test this!)

var branch = FeatureSetByName($map, "SARCOP Branches", ["branch"]); var branchname = First(Intersects($feature, branch)); if (!IsEmpty(branchname)) { return branchname["branch"]; } else { return null; }

  • Skip Task Type to Notes
  • Device Model: Device variable - Device information

Worksites

  • Capture mode: Single point
  • Show map after capture
  • Show camera enabled, photo, 0-2
  • Incident Name: Arcade, see above
  • Division: Arcade, see above
  • Branch: Arcade, see above
  • Team Name: Project User Input (configure via JSON later)
  • Squad ID: Project User Input
  • Operator Name: Project User Input
  • Worksite ID: Device variable: MGRS (this can be changed later)
  • Worksite Label: Button User Input - Hint: If appropriate, add a short label here to identify the worksite (different from Worksite ID), No Input Mask, No Bar Code, Not Required
  • Mission Type: Skip
  • Project Name: Device variable - Device information
  • MGRS: Device variable - Location
  • Degree Decimal Minutes: Device variable - Location
  • Latitude: Device variable - Location
  • Longitude: Device variable - Location
  • Skip Number of Stories to Zip
  • Occupancy: Button User Input
  • Skip Potential Number Trapped to Assigned To
  • General Comments: Button User Input - Hint: Enter general comments regarding this Worksite. Not required.
  • Send to Recycle Bin: No - keep on map
  • Skip Task Type to Notes
  • Data Source: QuickCapture
  • Skip Cast-in-Place to Other Material
  • Worksite Triage Category: Button User Input, required.

Logistics

Tracklog

  • Mission Type - this is what the button fills out
  • Team Name - Team Name Project User Input (via the JSON edit below)
  • Squad ID: Project User Input
  • Operator Name: Project User Input
  • Incident Name: Arcade, see above
  • Division: Arcade, see above
  • Branch: Arcade, see above
  • Data Source: QuickCapture
  • General Comments: Project User Input
  • Start Time: Device Variable (this is when the end user starts the track)
  • End Time: Device Variable (this is when the end user stops the track)
  • Install UUID through Device Model are all Device Variable
  • SHAPE__LENGTH - leave blank
  • Tracklog Miles: Arcade

var distance = LengthGeodetic($feature, "miles"); return Round(distance, 2);

Configure project map

image

  • Map should be the same as the one used in Field Maps (except when using a mobile map package for offline)
  • Symbology for unsent data: 'Map pin (default)' (Ideally use 'Layer symbology' but it wasn't functioning for all layers during testing)
  • Display on tablet: Show buttons and map side by side

Project details

image

  • Thumbnail should reflect real-world deployment and v10 (ask Jared for thumbnail template)
  • Data recovery email: [email protected]
  • Summary: This is a QuickCapture Project for Wide Area Search - hosted by the National SAR Geospatial Coordination Group. Updated to v10.
  • Description: This is a QuickCapture Project for Wide Area Search - hosted by the National SAR Geospatial Coordination Group. This allows users in the field to quickly add waypoints (with limited details) and tracklogs, view a common operating map, and connect to other apps. Updated for v10.
  • Terms of use:

    FEMA Urban Search & Rescue and ESF9 Partners Only.  No Sensitive Personally Identifiable Information is allowed. Please contact [email protected] if you have questions or concerns.

Exclusive groups

image

  • Make sure multiple tracklogs cannot collected simultaneously.

image

Project user inputs

Team Name

  • NOTE: I believe you need to set this up against waypoints for the domains. Then as long as the domains match, you can configure against all of the other layers using the JSON editor - see notes below.

  • Label: Team Name (Search for it!)

  • Input type: Choice list

  • Apply hint: What is your team name? Start typing to search. If you do not see your Team in the list, select "Other".

  • Apply input mask: Disable

  • This is a required user input: Enabled

Squad ID

  • Label: Squad ID
  • Input type: Single line text
  • Apply hint: What is your squad designation? Number Only (e.g. If Squad 1, enter "1")
  • Apply input mask: Enabled D000
  • This is a required user input: Enabled

Your Name

  • Label: Your Name
  • Input type: Single line text
  • Apply hint: Provide your name here.
  • Apply input mask: Disabled
  • This is a required user input: Enabled

Button Configuration

Read Me Group

Start/Stop Tracklog Group

Damage Observations Group

Search Completed Group

Search Needs Follow-up Group

Hazards Group

Support/Logistics Group

Worksite Status

Additional Apps & Forms

Button user inputs

See the DEPLOYMENT e85059 v9 NSARGC for more details. We will need to update with new button user inputs for Worksites for v10.

  • Tracklog Comments
  • Person Count
  • Hazard Comments
  • Follow-up
  • Lifeline Category
  • Water Depth in Feet
  • Feature Searched (duplicate?)
  • Pet Count
  • General Comments
  • All Mission Types
  • Search Type
  • Feature Searched
  • Search Comments
  • Person Count (duplicate?)
  • Pet Count (duplicate?)
  • Pet Comments
  • Partial or Complete Human Remains?
  • Human Remains Removed Comments
  • Follow-up Needed
  • Shelter in Place Comments
  • Live Victim Confirmed Comments
  • Live Victim Detected Comments
  • Human Remains Detected
  • Targeted Search Comment
  • Water Level (Feet)
  • Animal Hazard Comments
  • Structure Type
  • Damage Observations Comments
  • Situation Update
  • Lifeline Type (No longer needed)
  • Community Lifeline Update (No longer needed)
  • CCP Comments
  • Extra Icon
  • Rescue Comments
  • Assisted Comments
  • Evacuation Comments
  • Human Remains Confirmed Comments
  • Logistics Label
  • Follow-up (Duplicate?)
  • Occupancy
  • Team Name

Webhooks

  • Check with Adam Fackler on how to setup later. This can be configured to notify someone whenever their team marks something as "needs follow-up". Not currently used.

Location sharing

  • Options - Required: Disabled (this way if there are users without location sharing licenses, they can still access the project. Check to make sure this is still the case.
  • Update interval: 1 minute (however, this can be changed to 0.5 minutes / 30s in the JSON)
  • Category: Your Name
  • Tracks: Off (we are still relying on Tracklog polylines for this function, but we may look into this in 2026 to replace Tracklogs once we have Velocity squared away).
  • Category: Your Name

JSON editor

Below are some key JSON edits to be aware of.

Project User Input

Once the Team Name Project User Input is setup via Waypoints, the others will need to be hardcoded. Any new buttons added outside of waypoints will need this done.

  1. Copy and paste the JSON into Notepad++ - SAVE A time stamped COPY before making changes. Then in a new file, make the changes below.
  2. Use the Find function
  3. Look for "fieldName": "team_name" and underneath replace "value": null with "value": "${userInput:001}" image
  4. Copy and paste into jsonlint and confirm it is valid https://jsonlint.com/
  5. Copy and paste into QuickCapture JSON Editor, Click DONE
  6. Click Save and Test! image

Exclude locations when stationary

image

Exclude network locations

image

QuickCapture Troubleshooting

Resolve common issues for QuickCapture by following these steps https://doc.arcgis.com/en/quickcapture/help/troubleshoot-capture.htm

How to get QuickCapture Data off of a device

Option 1: Connect to Device - Follow steps here https://community.esri.com/t5/arcgis-quickcapture-blog/export-orphaned-records-from-an-ios-device/bc-p/1613784#M234 Option 2: Share - It appears you can also share QuickCapture local data from the folder using this workflow BEFORE reinstalling the app using an iPhone (not sure how to do this on Android)

https://support.apple.com/guide/iphone/find-files-and-folders-iphe4bff8827/ios - navigating to the Files app on iPhone > "On My iPhone" > QuickCapture > ArcGIS > ArcGIS QuickCapture > click on the unique item id folder for your project/user - then "long tap" on that folder > Share - then just email it to yourself or whoever can unpack the data.

How to turn on Error logs for QuickCapture

Follow https://support.esri.com/en-us/knowledge-base/how-to-export-logs-from-the-arcgis-quickcapture-mobile--000032322#:~:text=Tap%20Settings.,written%20to%20a%20log%20file.