Device variables

Device variables are used to automatically populate QuickCapture fields with common GIS attributes. Not all variables can be applied to all types of fields. For example, the time stamp variables only apply to fields of type date.

Some variables are automatically assigned to button fields that have a specific name. You can manually create these named fields in your feature layer, or optionally, select Capture GPS receiver information when creating a feature layer in ArcGIS Online or creating a feature layer in ArcGIS Enterprise.

Device information

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Project name

Variable name: projectName

Name of the project that was used to capture the record.

Text

Points, lines, polygons

-

Install UUID

Variable name: installUUID

Unique identifier of the mobile app created on installation. This variable can be used to uniquely identify a device.

Text

Points, lines, polygons

-

App Version

Variable name: appVersion

Version of QuickCapture.

String

Points, lines, polygons

-

Operating System

Variable name: operatingSystem

Platform and operating system version.

String

Points, lines, polygons

-

Session Id

Variable name: sessionId

Unique ID that is generated every time location sharing is turned on.

String

Points, lines, polygons

-

Power Mode

Variable name: powerMode

Category of the power mode. Potential results are Unknown (0), Balanced (1), Battery saver.

Integer

Integer

-

Power Source

Variable name: powerSource

Category of the power source. Potential results are Unknown (0), AC (1), USB (2), Wireless (3), and Battery (4).

Integer

Points

-

Battery State

Variable name: batteryState

Category of the battery state. Potential results are Unknown (0), Unplugged (1), Charging (2), Plugged and fully charged (3), and Plugged but not charging (4).

Integer

Points

-

Battery Level

Variable name: batteryLevel

Battery level as a percentage (0–100).

Integer

Points

-

Magnetic Declination

Variable name: magneticDeclination

Angle between magnetic and true north in decimal degrees.

Double

Points

-

Azimuth (°)

Variable name: azimuth

Compass bearing of device when the record was captured, where true north is 0, east is 90, south is 180, and west is 270.

Double

Points

esrisnsr_azimuth

Pitch (°)

Variable name: pitch

Pitch of device when the record was captured, where 0 represents the device face up and 90 represents the device tilted upright, perpendicular to the ground.

Double

Points

-

Roll (°)

Variable name: roll

Roll of device when the record was captured, where 0 represents the device face up, 90 represents the device rolled to the right, -90 represents the device rolled to the left, and 180 represents the device face down.

Double

Points

-

Note:

When a point is manually edited, the magneticDeclination, azimuth, pitch, and roll variables are cleared.

User information

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Username

Variable name: username

Currently signed-in username.

Text

Points, lines, polygons

-

Fullname

Variable name: fullName

Currently signed-in user full name.

Text

Points, lines, polygons

-

First name

Variable name: firstName

Currently signed-in user first name.

Text

Points, lines, polygons

-

Last name

Variable name: lastName

Currently signed-in user last name.

Text

Points, lines, polygons

-

Email

Variable name: email

Currently signed-in user email address.

Text

Points, lines, polygons

-

Location

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Capture time (UTC)

Variable name: captureTime

Time of capture in UTC.

Date

Points

esrignss_fixdatetime

Capture time (Date only)

Variable name: captureTime_dateOnly

Local date of capture only.

DateOnly

Points

-

Capture time (Time only)

Variable name: captureTime_timeOnly

Local time of capture only.

TimeOnly

Points

-

Capture time (DateTime with UTC offset)

Variable name: captureTime_timeStampOffset

Local time of capture with UTC offset.

TimeStampOffset

Points

-

Latitude (DD)

Variable name: latitude

Latitude in decimal degrees.

Double

Points

esrignss_latitude

Longitude (DD)

Variable name: longitude

Longitude in decimal degrees.

Double

Points

esrignss_longitude

Altitude (m)

Variable name: altitude

Altitude above sea level or ellipsoid in meters.

Double

Points

esrignss_altitude

Horizontal accuracy (m)

Variable name: horizontalAccuracy

Horizontal accuracy of the x,y coordinates in meters.

Double

Points

esrignss_h_rms

Vertical accuracy (m)

Variable name: verticalAccuracy

Vertical accuracy of the z-coordinate in meters.

Double

Points

esrignss_v_rms

Location DMS

Variable name: DMS

Location as a space-separated string in degrees, minutes, and seconds.

Text

Points

-

Location DDM

Variable name: DDM

Location as a space-separated string in degrees and decimal minutes.

Text

Points

-

Location USNG

Variable name: USNG

Location in U.S. National Grid.

Text

Points

-

Location MGRS

Variable name: MGRS

Location in Military Grid Reference System.

Text

Points

-

Note:

When a point is manually edited, the altitude, horizontalAccuracy, and verticalAccuracy variables are cleared.

Travel

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Speed (m/s)

Variable name: speedMS

Ground speed in meters per second.

Double

Points

-

Speed (km/h)

Variable name: speedKPH

Ground speed in kilometers per hour.

Double

Points

esrignss_speed

Speed (mi/h)

Variable name: speedMPH

Ground speed in miles per hour.

Double

Points

-

Speed (knot)

Variable name: speedKTS

Ground speed in knots.

Double

Points

-

verticalSpeedMS

Vertical speed in meters per second.

Double

Points

-

Variable name: verticalSpeedKPH

Vertical speed in kilometers per hour.

Double

Points

-

Variable name: verticalSpeedMPH

Vertical speed in miles per hour.

Double

Points

-

Variable name: verticalSpeedKTS

Vertical speed in knots.

Double

Points

-

Direction of travel (°)

Variable name: direction

Direction of travel measured clockwise from north in decimal degrees.

Double

Points

-

Direction of travel 4 cardinal directions

Variable name: directionCardinal4

Direction of travel generalized as one of the four cardinal directions. Potential results are N, E, S, and W.

Text

Points

-

Direction of travel 8 cardinal directions

Variable name: directionCardinal8

Direction of travel generalized as one of the eight cardinal directions. Potential results are N, NE, E, SE, S, SW, W, and NW.

Text

Points

-

Activity type

Variable name: activityType

User activity type: Unknown (0), Stationary (1), Walking (2), Running (3), Cycling (4), Automotive (5)

Text

Points

-

Start time

Variable name: startTime

Date and time the button is activated.

Date

Lines, polygons

-

End time

Variable name: endTime

Date and time the button is deactivated.

Date

Lines, polygons

-

Length (m)

Variable name: lengthM

Geodetic length in meters.

Double

Lines, polygons

-

Length (km)

Variable name: lengthKM

Geodetic length in kilometers.

Double

Lines, polygons

-

Length (mi)

Variable name: lengthMI

Geodetic length in miles.

Double

Lines, polygons

-

Area (m2)

Variable name: areaM2

Area in square meters, for polygon layers only.

Double

Polygons

-

Area (km2)

Variable name: areaKM2

Area in square kilometers, for polygon layers only.

Double

Polygons

-

Area (mi2)

Variable name: areaMI2

Area in square miles, for polygon layers only.

Double

Polygons

-

Note:

Vertical speed cannot be assigned to a button field in the web designer GUI, but can be created using the variable name when editing the Project JSON.

When a point is manually edited, the speedMS, speedKPH, speedMPH, speedKTS, verticalSpeedMS, verticalSpeedMPH, verticalSpeedKPH, verticalSpeedKTS, direction, directionCardinal4, and directionCardinal8 variables are cleared.

Photo

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Camera Heading (°)

Variable name: camHeading

Compass bearing of the device's rear camera when the photo was captured, where true north is 0, east is 90, south is 180, and west is 270. This is also saved to the photo EXIF tag GPSImgDirection. Be aware that camHeading is not reliable when images are captured with camRoll values greater than ±10 degrees.

Double

Points

-

Camera Pitch (°)

Variable name: camPitch

Pitch of the device's rear camera when the photo was captured, where 0 represents the camera looking down toward the ground, and 90 represents the device looking forward, perpendicular to the ground.

Double

Points

-

Camera Roll (°)

Variable name: camRoll

Roll of the device's rear camera when the photo was captured, where 0 represents no roll, 90 represents the device rolled to the right, and -90 represents the camera rolled to the left. Roll beyond ±45 degrees will result in the device orientation being switched from portrait to landscape, and the camHeading, camPitch, and camRoll angles will be adjusted accordingly.

Double

Points

-

Horizontal field of view (°)

Variable name: hfov

Horizontal field of view for the camera lens measured in degrees. This variable is calculated from photo EXIF tag FocalLength35mmFilm. It returns null if the EXIF tag is missing.

Double

Points

-

Vertical field of view (°)

Variable name: vfov

Vertical field of view for the camera lens measured in degrees. This variable is calculated from photo EXIF tag FocalLength35mmFilm. It returns null if the EXIF tag is missing.

Double

Points

-

Photo latitude (DD)

Variable name: photoLatitude

Latitude when the photo was captured, in decimal degrees. This is also saved to the photo EXIF tag GPSLatitude.

Double

Points

-

Photo longitude (DD)

Variable name: photoLongitude

Longitude when the photo was captured, in decimal degrees. This is also saved to the photo EXIF tag GPSLongitude.

Double

Points

-

Note:

For buttons that support multiple photos, camera device variables will not be calculated.

GNSS

GNSS variables are typically available only when connected directly to an external GNSS receiver, however, the variables marked with * are also available on Android when an external receiver is connected through a mock location provider.

VariableCompatible field typeCompatible feature typeField variable automatically assigned to

Position source type*

Variable name: positionSourceType

Category of the position source. Potential results are Unknown (0), User (1), System Location (2), External Device (3), and Network Device (4).

Integer

Points, lines, polygons

esrignss_positionsourcetype

Fix type*

Variable name: fixType

Type of position fix for the coordinate. Potential results are NoFix (0), GPS (1), DifferentialGPS (2),PrecisePositioningService (3), RTKFixed (4), RTKFloat (5), Estimated (6), Manual (7), Simulator (8), and SBAS (9).

Integer

Points

esrignss_fixtype

Device address

Variable name: deviceAddress

Typically, this address is the Bluetooth MAC address of the device, for example, 0C:00:0A:BB:28:FC. However, on iOS, a Bluetooth MAC is not available, so instead a unique device identifier is returned—for example, 3f89ecd0-bbe5-11ea-8b6e-0800200c9a66.

Text

Points

-

Location sensor name*

Variable name: sensorName

When using the integrated location provider, the name is AppStudio-CoreLocation. When using an external receiver, it will be the name of the receiver as reported by the external hardware.

Text

Points

esrignss_receiver

Location sensor connection type

Variable name: deviceType

Type of external device. Potential results are Unknown (-1), Bluetooth (0), Serial Port (1), and Bluetooth LE (2).

Integer

Points

-

Network name

Variable name: networkName

This is only available for network location providers.

Text

Points

-

Network address

Variable name: networkAddress

This is only available for network location providers.

Text

Points

-

Network port

Variable name: networkPort

This is only available for network location providers.

Integer

Points

-

Orthometric height*

Variable name: geoidSeparationCustom

Difference between the WGS84 earth ellipsoid and mean sea level as defined by the user in the app settings. This is available for all location provider types.

Double

Points

-

Antenna height

Variable name: antennaHeight

Distance from the antenna to the ground surface is subtracted from altitude values in meters.

Double

Points

-

Altitude type*

Variable name: altitudeType

Potential results are altitude above mean sea level (0) and height above ellipsoid (1).

Integer

Points

-

Geoid seperation*

Variable name: geoidSeparation

Difference between the WGS84 earth ellipsoid and mean sea level as reported by the GNSS receiver in meters. This is also referred to as orthometric height.

Double

Points

-

Accuracy type (RMS v DOP)*

Variable name: accuracyType

Type of accuracy reported by the horizontalAccuracy and verticalAccuracy properties. Potential results are RMS (0) and DOP (1). RMS is root mean square accuracy. This is calculated based on a 68 percent confidence interval for latitude, longitude, and altitude errors reported in the GST sentence provided by the receiver. If the receiver does not support GST, DOP is used instead. DOP is a dilution of precision-based accuracy. This uses a constant user-estimated range error (UERE) value to estimate horizontal and vertical accuracies.

Integer

Points

-

Accuracy confidence level*

Variable name: confidenceLevelType

Potential results are 68 percent (0) and 95 percent (1).

Integer

Points

-

Mean radial spherical error

Variable name: positionAccuracy

Mean radial spherical error in meters. This encompasses both horizontal and vertical error.

Double

Points

-

GST latitude 1-sigma error

Variable name: latitudeError

Value of latitude 1-sigma error in meters. This property is only populated if your positioning device supports GST sentences in NMEA streams.

Double

Points

-

GST longitude 1-sigma error

Variable name: longitudeError

Value of longitude 1-sigma error in meters. This property is only populated if your positioning device supports GST sentences in NMEA streams.

Double

Points

-

GST altitude 1-sigma error

Variable name: altitudeError

Value of altitude 1-sigma error in meters. This property is only populated if your positioning device supports GST sentences in NMEA streams.

Double

Points

-

HDOP*

Variable name: hdop

Positional data's Horizontal Dilution of Precision.

Double

Points

esrignss_hdop

VDOP*

Variable name: vdop

Positional data's Vertical Dilution of Precision.

Double

Points

esrignss_vdop

PDOP*

Variable name: pdop

Positional data's Positional Dilution of Precision. The equation used to determine PDOP is PDOP^2 = HDOP^2 + VDOP^2.

Double

Points

esrignss_pdop

Differential age*

Variable name: differentialAge

Age of the differential signal and correction used by the GPS receiver to differentially correct the position in seconds.

Double

Points

esrignss_correctionage

Reference station id*

Variable name: referenceStationId

Differential reference station ID (DSID) of the station used by the GPS receiver.

Integer

Points

esrignss_stationid

Satellites visible

Variable name: satellitesVisible

Number of positioning satellites visible at the time of location capture.

Integer

Points

-

Satellites in use

Variable name: satellitesInUse

Number of positioning satellites being used to return the position data.

Integer

Points

esrignss_numsats
Note:

When a point is manually edited, all external GNSS variables are cleared.