Skip to content

QuickCapture

Paul J. Doherty edited this page Oct 8, 2025 · 43 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

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

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 removed due to possible issues with long tracklogs
  • Division: Arcade, see above removed due to possible issues with long tracklogs
  • Branch: Arcade, see above removed due to possible issues with long tracklogs
  • 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: nsargc@publicsafetygis.org
  • 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 fema-usr-gis@fema.dhs.gov 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.

Tracklog Spiking

While the Esri Team has enabled a few features to reduce tracklog spiking (turned off network locations, stop collecting vertices when stationary) - we still expect to see some issues with tracklog collection. Read the documentation below to troubleshoot.

  • Clear View - It is important to always treat your device like a GPS with a clear view of the sky (do not put mobile device inside a backpack, trunk or floor of a vehicle, stowage on helicopter, etc.).
  • Location Settings - Allow your device to always access your location when in use, check settings to ensure proper permissions. Also, turn off Google Location Accuracy on Android if it is enabled.
  • Turn Off Low Battery Mode - For some devices, this setting will disable the GPS. Typically, the device screen itself utilizes the most battery, so turn it down / off when not in use.
  • Turn Off Apps - Turn off any apps you do not need to use in the field, in particular those that utilize your GPS and potentially a lot of memory.
  • Restart - When in doubt, close the project, close the app, power down. Then restart to see if it fixes the issue.

Remember, your cell phone utilizes the Global Positioning System (GPS) just like a Garmin! GPS is a system of 30+ navigation satellites circling Earth. We know where they are because they constantly send out signals. A GPS receiver in your phone listens for these signals. Once the receiver calculates its distance from four or more GPS satellites, it can figure out where you are.

image image Image credits and more info from: https://www.faa.gov/about/office_org/headquarters_offices/ato/service_units/techops/navservices/gnss/gps/howitworks

Below are a few tracklog error terminology and examples. Please try to identify the type of spike you are seeing and possible causes before reporting these issue https://survey123.arcgis.com/share/62415cd5c8604ec5bd275a3220d0deaa

Mid Track Spike

These are spikes of any length that occur in the middle of a tracklog. Generally, the track is going as expected, suddenly spikes, then returns to the track, continuing like normal. Likely cause: Loss of GPS signal in the middle of tracklog collection, to fix ensure mobile device always has a clear view of the sky.

image

Start/Stop Spike

These spikes occur specifically at the start or end of a track line. Likely cause: Loss of GPS signal at the end of tracklog collection, to fix ensure mobile device always has a clear view of the sky, otherwise QuickCapture will override and use a "network" or other location to finish the line.

image

A to B Line

These lines are when the GPS is either turned off or loses accuracy in the middle of data collection, but regains connection/accuracy later on down the track, resulting in a line being drawn between the two segments with no vertices in between. Likely cause: We are unsure of all the factors that can cause this issue, however, we do believe that turning off any unnecessary apps that utilize location, ensuring the device is not on low power mode, and doing an occasional restart can help.

image

Standstill Spiking

This occurs when the user remains in the same general location of an extended period and the location moves around enough to draw track lines. QuickCapture generally will stop collecting new vertices when it knows you are stationary. So this behavior is not abnormal and isn't unexpected in low bandwidth areas or while standing still somewhere with low GPS reception, such as under heavy tree cover or inside a building. Likely cause: Loss of GPS signal while stationary. If you are not actively searching, it is a good idea to stop tracking and start again when you resume your search.

image

See Issue https://github.com/NAPSG/SARCOP/issues/208 for a full breakdown of issues.

Clone this wiki locally