Skip to content

Variables ​

There are some useful variables that can be used as default values.

Here you can find the lists of:

Project and user variables ​

The Mergin Maps QGIS plugin adds several variables that can be used in QGIS expressions:

Variable nameTypeSample valueDescription
@mm_full_nameText (string)Joe SchmoeFull name of the currently logged in user, blank if the full name is not set
@mm_usernameText (string)joe-schmoeUsername of the user currently logged in to Mergin Maps
@mm_user_emailText (string)joe.schmoe@mail.comEmail of the user currently logged in to Mergin Maps
@mm_urlText (string)https://app.merginmaps.comURL of the Mergin Maps service
@mm_project_nameText (string)My projectName of the active Mergin Maps project
@mm_project_full_nameText (string)my-team/My projectWorkspace and project name joined with a forward slash
@mm_project_versionNumber (integer)9Current version of the active project

A common use case is to use @mm_username or @mm_user_email as the default value for one of the fields in a survey layer to automatically track who has added (and/or modified) a particular record.

mergin_ variable names still work!

QGIS variables listed here previously used the prefix mergin_. Now we use the prefix mm_ standing for Mergin Maps.

Both naming options are functional and will continue to work in the future: @mergin_user_email and @mm_user_email provide the same value when used in QGIS expressions.

Position Variables ​

With Mergin Maps mobile app, it is possible to access GPS information using extra position variables. Note that location permission has to be allowed and location service enabled.

Extra position variables can be used as default values in feature forms.

Following variables are supported:

Variable nameTypeDescription
@position_coordinateGeometryA point with the coordinates in WGS84
@position_latitudeNumber (decimal)Latitude
@position_longitudeNumber (decimal)Longitude
@position_elevationNumber (decimal)Orthometric or normal height. May not be available for some providers
@position_altitudeNumber (decimal)Has been replaced by @position_elevation. It is still supported and returns the same values as @position_elevation.
@position_elevation_ellipsoidNumber (decimal)Ellipsoidal height. May not be available for some providers
@position_geoid_separationNumber (decimal)Geoid or quasi-geoid height (undulation). May not be available for some providers
@position_directionNumber (integer)The bearing measured in degrees clockwise from true north to the direction of travel
@position_ground_speedNumber (decimal)The ground speed, in meters/sec
@position_vertical_speedNumber (decimal)The vertical speed, in meters/sec
@position_magnetic_variationNumber (decimal)The angle between the horizontal component of the magnetic field and true north, in degrees. Also known as magnetic declination. A positive value indicates a clockwise direction from true north and a negative value indicates a counter-clockwise direction.
@position_horizontal_accuracyNumber (decimal)The accuracy of the provided latitude-longitude value, in meters
@position_vertical_accuracyNumber (decimal)The accuracy of the provided altitude value, in meters
@position_from_gpsBooleanTrue if recorded/edited feature's geometry corresponds with current user's position (position marker has the same location as the crosshairs marker)
@position_satellites_visibleNumber (integer)Number of visible satellites
@position_satellites_usedNumber (integer)Number of satellites used to calculate the position
@position_gps_fixText (string)GPS fix, e.g. "RTK float"
@position_gps_antenna_heightNumber (decimal)Antenna height as defined in GPS settings
@position_provider_typeText (string)GPS device type. For internal GPS, returns internal, for external GPS, returns external_bt (Bluetooth devices) or external_ip (network devices).
@position_provider_nameText (string)GPS device name. For internal GPS, returns Internal, Internal (fused) or Internal (gps). For external GPS, returns the name of the external device. If mock location is detected, returns External (Mock).
@position_provider_addressText (string)GPS device address. For internal GPS, returns devicegps, android_fused or android_gps. For external GPS, returns the MAC address (Bluetooth devices) or IP address with port (network devices).
@position_hdopNumber (decimal)Horizontal dilution of precision (HDOP)
@position_vdopNumber (decimal)Vertical dilution of precision (VDOP)
@position_pdopNumber (decimal)Position (3D) dilution of precision (PDOP)

TIP

Dilution of precision (DOP) is a useful value that reflects the confidence level of achieved position precision. In addition to the horizontal and vertical accuracy, the appropriate DOP value (horizontal, vertical, or 3D) can be used to assess the overall quality of your survey accuracy.

You can read more about this topic e.g. on Wikipedia.