diff --git a/src/field/external_gps/external-gps-ios.jpg b/src/field/external_gps/external-gps-ios.jpg
deleted file mode 100644
index b6314203..00000000
Binary files a/src/field/external_gps/external-gps-ios.jpg and /dev/null differ
diff --git a/src/field/external_gps/external-gps-ios.xcf b/src/field/external_gps/external-gps-ios.xcf
deleted file mode 100644
index 1080c7aa..00000000
Binary files a/src/field/external_gps/external-gps-ios.xcf and /dev/null differ
diff --git a/src/field/external_gps/index.md b/src/field/external_gps/index.md
index 04ea10be..e006d945 100644
--- a/src/field/external_gps/index.md
+++ b/src/field/external_gps/index.md
@@ -1,5 +1,7 @@
---
-description: External GPS receivers can be connected to your mobile device via Bluetooth and used in Mergin Maps mobile app to achieve higher GPS accuracy.
+description: External GPS receivers can be connected to your mobile device and used in the Mergin Maps mobile app to achieve higher GPS accuracy.
+
+outline: deep
---
# External GPS
@@ -8,14 +10,14 @@ description: External GPS receivers can be connected to your mobile device via B
[[toc]]
-External GPS receivers can be connected to your mobile device via Bluetooth and used in to achieve higher [GPS accuracy](../gps_accuracy/).
+Connect external GPS receivers to your mobile device to achieve higher [GPS accuracy](../gps_accuracy/) of your survey with .
-There are several [extra position variables](../../layer/variables/#position-variables) that can be useful to record when doing the survey with external GPS, such as the GPS antenna height, GPS device name as well as metrics like horizontal, vertical or position dilution of precision (HDOP, VDOP, PDOP).
+There are several [extra position variables](../../layer/variables/#position-variables) that can be useful to record during the survey with external GPS, such as the GPS antenna height, GPS device name as well as metrics like horizontal, vertical or position dilution of precision (HDOP, VDOP, PDOP).
Note that external GPS devices usually return orthometric heights (ellipsoid with the geoid separation applied). The altitude and geoid separation in the [GPS info panel](../mobile-app-ui/#current-position-and-gps-info) in the is displayed as reported by the external GPS.
**Before you start**:
-- Set up your device according to the instructions of its manufacturer. You should continue only when you are sure that the device is working and sending data.
+- Follow the manufacturer's setup instructions. You should continue only when you are sure that the device is working and sending data.
- Make sure that your mobile device offers the functionality to pair with an external GPS device and that it communicates through a standard interface.
:::tip GPS and GNSS terminology
@@ -36,47 +38,62 @@ If GPS antenna height is set to a non-zero value, it is also displayed next to t
GPS antenna height can be recorded during the survey by using the [extra position variable](../../layer/variables/#position-variables) `@position_gps_antenna_height` as a [default value](../../layer/default-values/).
:::
-## External GPS on Android
-In Android, there are two ways how to use an external GPS device in the :
-- directly through the app as an external receiver
-- connecting GPS receiver to your mobile device using an app that will provide mock location
+## Connecting external GPS
+External GPS can be connected to the via [Bluetooth](#bluetooth-connection-android-only) or a [Network provider](#network-provider-connection). We recommend using one of these options as they provide more data, such as HDOP and fix quality (see [position variables](../../layer/variables/#position-variables)). Also, the will report which device is used and take care of reconnecting in case of lost connection.
-It is strongly recommended to use the direct connection in the . It is easier, quicker, provides more data, such as HDOP and fix quality. The app will report which device is used and take care of reconnecting in case of lost connection. Using mock location should be used only when it is not possible to connect the GPS receiver directly via the .
+If it is not possible to use these options, you can also set up a [Mock location](#mock-location). However, some of the data reported by GPS may not be available.
-### How to connect external GPS receiver in Android via Mergin Maps mobile app (recommended)
-1. Connect the GPS receiver to your mobile device via Bluetooth
+External GPS receivers report some additional GPS data that are displayed in the **GPS info** panel.
+
+
-2. Open the and navigate to **Settings**
- 
+### Bluetooth connection (Android only)
+Connecting external GPS receivers via Bluetooth is available only on Android devices.
+
+1. Connect the GPS receiver to your mobile device via Bluetooth
-3. Tap on the **Manage GPS receivers** option. Here, you can see the currently used receiver.
+2. Open a project and navigate to the **Manage GPS receivers** option in [**Settings**](../mobile-app-ui/#settings)
- Tap on the **Connect new receiver** button.
+3. Here, you can see the currently used receiver. Tap on the **Connect new receiver** button.

-4. Choose your GPS receiver from the list of Bluetooth devices.
+4. Select the **Bluetooth** connection type.
You might be asked to pair your device during this process.
- 
+ 
-5. The will now use the external GPS receiver to display and record your position.
-
- In **GPS info**, you will see additional data as reported by the external GPS.
+The will now use the external GPS receiver to display and record your position. In **GPS info**, you will see additional data as reported by the external GPS.
+
+
+### Network provider connection
+Connecting external GPS receivers using a network provider is available on both Android and iOS.
+
+1. Open a project and navigate to the **Manage GPS receivers** option in [**Settings**](../mobile-app-ui/#settings)
+
+2. Here, you can see the currently used receiver. Tap on the **Connect new receiver** button.
+ 
+
+3. On Android, select the **Network ()** connection type. On iOS, this is the only direct connection type.
+
+ Fill in the network connection details (IP Address and Port). You can also use a receiver nickname.
- 
+ 
-### How to connect external GPS receiver in Android via mock location
+The will now use the external GPS receiver to display and record your position. In **GPS info**, you will see additional data as reported by the external GPS.
-:::warning Mock location and Internal (fused) GPS provider
-Mock location should be only used if you are unable to connect the external GPS directly in the .
+### Mock location
+It is strongly recommended to use the direct connection via [Bluetooth (Android)](#bluetooth-connection-android-only) or [network provider (Android, iOS)](#network-provider-connection) in the . Mock location should only be used if these options are not available.
+
+#### Android mock location setup
-When setting up external GPS receiver on Android via mock location, we recommend using the *Internal (fused)* receiver option in [GPS Settings](../mobile-app-ui/#gps-settings) as this will show if mocked location is detected in the [GPS info](../mobile-app-ui/#current-position-and-gps-info) panel.
+:::warning Mock location and Internal (fused) GPS provider
+When using an external GPS receiver on Android via mock location, we recommend using the *Internal (fused)* receiver option in [GPS Settings](../mobile-app-ui/#gps-settings) as this will show if mocked location is detected in the [GPS info](../mobile-app-ui/#current-position-and-gps-info) panel.
:::
-External GPS can be connected and configured in Android to provide mock location using GPS apps (e.g. [Bluetooth GPS](https://play.google.com/store/apps/details?id=de.pilablu.gpsconnector) or apps from specific GPS manufacturers) as a source of GPS signal. the and other apps in your device will get the GPS position from the external GPS.
+External GPS can be connected and configured in Android to provide mock location using GPS apps (e.g. [Bluetooth GPS](https://play.google.com/store/apps/details?id=de.pilablu.gpsconnector) or apps from specific GPS manufacturers) as a source of GPS signal. The and other apps in your device will get the GPS position from the external GPS.
-:::tip
+:::tip NTRIP client and GPS corrections
GPS manufacturer's apps often provide a setup for a NTRIP client, through which you are able to receive GPS corrections and achieve centimetre level accuracy.
:::
@@ -88,13 +105,9 @@ To enable **Allow mock locations** in Android:
The mock location will be used by the automatically as if received from the internal receiver.
-## External GPS on iOS
-
-Direct connection via the is not possible on iOS devices.
-
-External GPS can be connected to your iOS device via Bluetooth. Depending on the GPS manufacturer, there may be a custom app, which then provides position to your iOS device. The sees this as an internal GPS receiver automatically, without additional configuration. will report if external GPS receiver is connected.
+#### iOS mock location setup
-
+External GPS can be connected to your iOS device via Bluetooth. Depending on the GPS manufacturer, there may be a custom app, which then provides position to your iOS device. The sees this as an internal GPS receiver automatically, without additional configuration. The will report if an external GPS receiver is connected.
## External GPS troubleshooting
If you encounter issues with external GPS in the , make sure that:
@@ -111,24 +124,24 @@ External GPS functionality depends on the manufacturer and on the specific model
| | RTK Calibrated Surveyor Kit9 | yes | no |
| | RTK Handheld Surveyor Kit9 | yes | no |
| | RTK Portable Bluetooth Kit9 | yes | no |
-| Bad Elf | GPS Pro | yes | yes |
-| Bad Elf | GPS Pro+ | yes | yes |
-| Bad Elf | GNSS Surveyor | yes | yes |
-| Bad Elf | Flex Mini (standard or extreme) | yes | yes |
-| Bad Elf | Flex (standard or extreme) | yes | yes |
+| Bad Elf | GPS Pro | yes | yes (mock location) |
+| Bad Elf | GPS Pro+ | yes | yes (mock location) |
+| Bad Elf | GNSS Surveyor | yes | yes (mock location) |
+| Bad Elf | Flex Mini (standard or extreme) | yes | yes (mock location) |
+| Bad Elf | Flex (standard or extreme) | yes | yes (mock location) |
| Carlson | Carlson 1 | yes (mock location) | unknown |
| Carlson | Carlson 1| yes (mock location) | unknown |
-| Emlid | Emlid Reach RX2 | yes | yes |
+| Emlid | Emlid Reach RX2 | yes | yes (mock location) |
| Emlid | Emlid Reach RS+2 | yes | no |
| Emlid | Emlid Reach RS2/RS2+2 | yes | no |
| Emlid | Emlid Reach RS32 | yes | no |
-| Garmin | GLO 2 | yes | yes |
+| Garmin | GLO 2 | yes | yes (mock location) |
| Geomax | 8 | yes (mock location) | unknown |
| Geomax | 8 | yes (mock location) | unknown |
-| Juniper Systems | Geode GNS33 | yes | yes |
+| Juniper Systems | Geode GNS33 | yes | yes (mock location) |
| Leica | Leica FLX1004 | yes (mock location) | no |
-| Leica | Leica FLX100 plus4 | yes (mock location) | yes**|
-| Leica | Leica Zeno GG04plus4 | yes (mock location) | yes** |
+| Leica | Leica FLX100 plus4 | yes (mock location) | yes (mock location)**|
+| Leica | Leica Zeno GG04plus4 | yes (mock location) | yes (mock location)** |
| | UNI-GR1| yes | no |
| | UNI-GR2| yes | no |
| | 6 | yes (mock location)| no |
@@ -138,15 +151,15 @@ External GPS functionality depends on the manufacturer and on the specific model
| Trimble | Trimble R25 | yes (mock location) | unknown |
-- 1: **Carlson **, **Carlson ** - through [Carlson Layout](https://www.carlsonsw.com/product/carlson-layout) which will set a mock location in Android.
-- 2: **Emlid Reach RX**, **Emlid Reach RS+**, **Emlid Reach RS2/RS2+**, **Emlid Reach RS3** - directly via Bluetooth connection, has an internal NTRIP client to receive corrections. Possible to set a mock location and connect the receiver via Bluetooth using [GPS Connector](https://play.google.com/store/apps/details?id=de.pilablu.gpsconnector) or WiFi using [Lebefure NTRIP Client](https://play.google.com/store/apps/details?id=com.lefebure.ntripclient).
-- 3: **Geode GNS3** - through *Geode Connect* app on [Android](https://play.google.com/store/apps/details?id=com.juniper.geode2a&hl=en_NZ&gl=US) or [iOS](https://apps.apple.com/us/app/geode-connect/id1446098695), which also acts as an NTRIP client and sends corrections to the device.
-- 4: **Leica FLX100**, **Leica FLX100 plus**, **Leica Zeno GG04plus** - through *Leica Zeno Connect* app on [Android](https://play.google.com/store/apps/details?id=com.leica.zenoconnect&hl=en&gl=US) which also acts as a NTRIP client and sends the corrections to the device. The app will set a mock location in Android. It is also possible to connect directly via Bluetooth (even multiple phones can be connected at once), but if no phone has Zeno app running, there will be no corrections available.
- ** *Leica Zeno Connect* is also available on [iOS](https://apps.apple.com/us/app/zeno-connect/id1310344749). It is known to support **Leica FLX100 plus** and **Leica Zeno GG04plus**. However, on iOS, the vertical accuracy information is not transferred to through *Leica Zeno Connect*. The will not display the correct value of the vertical accuracy.
-- 5: **Trimble R1**, **Trimble R2**, **Trimble Catalyst** - through [*Trimble Mobile Manager* app](https://play.google.com/store/apps/details?id=com.trimble.trimblemobilemanager) which also acts as a NTRIP client and sends the corrections to the device. The app will set a mock location in Android.
-- 6: ** ** - through * Connector* app on [Android](https://play.google.com/store/apps/details?id=eu.apglos.attenbergerapp1&hl=en&gl=US).
-- 7: ** ** - the device uses a SIM Card that can be configured for NTRIP. It can be connected to the via Bluetooth (without using a mock location).
-- 8: **Geomax Zenith06, Zenith60** - through *Geomax X-PAD* app on Android, using a GNSS Mock licence from Geomax and the *Mock GNSS* option in the app.
-- 9: **** - through [*GNSS Master* app](https://play.google.com/store/apps/details?id=com.gnssmaster&hl=en&gl=US&pli=1) which also acts as a NTRIP client and sends the corrections to the device. Detailed steps can be found in the tutorial [How to connect kit to Mergin Maps for centimetre-accurate mapping](https://www.ardusimple.com/how-to-connect-ardusimple-kit-to-mergin-maps-for-centimeter-accuracte-mapping/).
+- 1: **Carlson **, **Carlson ** - through [Carlson Layout](https://www.carlsonsw.com/product/carlson-layout) which will set a mock location in Android.
+- 2: **Emlid Reach RX**, **Emlid Reach RS+**, **Emlid Reach RS2/RS2+**, **Emlid Reach RS3** - directly via Bluetooth connection, has an internal NTRIP client to receive corrections. Possible to set a mock location and connect the receiver via Bluetooth using [GPS Connector](https://play.google.com/store/apps/details?id=de.pilablu.gpsconnector) or WiFi using [Lebefure NTRIP Client](https://play.google.com/store/apps/details?id=com.lefebure.ntripclient).
+- 3: **Geode GNS3** - through the *Geode Connect* app on [Android](https://play.google.com/store/apps/details?id=com.juniper.geode2a&hl=en_NZ&gl=US) or [iOS](https://apps.apple.com/us/app/geode-connect/id1446098695), which also acts as an NTRIP client and sends corrections to the device.
+- 4: **Leica FLX100**, **Leica FLX100 plus**, **Leica Zeno GG04plus** - through the *Leica Zeno Connect* app on [Android](https://play.google.com/store/apps/details?id=com.leica.zenoconnect&hl=en&gl=US) which also acts as a NTRIP client and sends the corrections to the device. The app will set a mock location in Android. It is also possible to connect directly via Bluetooth (even multiple phones can be connected at once), but if no phone has Zeno app running, there will be no corrections available.
+ ** *Leica Zeno Connect* is also available on [iOS](https://apps.apple.com/us/app/zeno-connect/id1310344749). It is known to support **Leica FLX100 plus** and **Leica Zeno GG04plus**. However, on iOS, the vertical accuracy information is not transferred to the through *Leica Zeno Connect*. The will not display the correct value of the vertical accuracy.
+- 5: **Trimble R1**, **Trimble R2**, **Trimble Catalyst** - through [*Trimble Mobile Manager* app](https://play.google.com/store/apps/details?id=com.trimble.trimblemobilemanager) which also acts as a NTRIP client and sends the corrections to the device. The app will set a mock location in Android.
+- 6: ** ** - through * Connector* app on [Android](https://play.google.com/store/apps/details?id=eu.apglos.attenbergerapp1&hl=en&gl=US).
+- 7: ** ** - the device uses a SIM Card that can be configured for NTRIP. It can be connected to the via Bluetooth (without using a mock location).
+- 8: **Geomax Zenith06, Zenith60** - through *Geomax X-PAD* app on Android, using a GNSS Mock licence from Geomax and the *Mock GNSS* option in the app.
+- 9: **** - through [*GNSS Master* app](https://play.google.com/store/apps/details?id=com.gnssmaster&hl=en&gl=US&pli=1) which also acts as a NTRIP client and sends the corrections to the device. Detailed steps can be found in the tutorial [How to connect kit to Mergin Maps for centimetre-accurate mapping](https://www.ardusimple.com/how-to-connect-ardusimple-kit-to-mergin-maps-for-centimeter-accuracte-mapping/).
**Did you use a GPS that is not in this list?**
diff --git a/src/field/external_gps/mobile-app-connecting-external-gps.jpg b/src/field/external_gps/mobile-app-connecting-external-gps.jpg
deleted file mode 100644
index d17f2110..00000000
Binary files a/src/field/external_gps/mobile-app-connecting-external-gps.jpg and /dev/null differ
diff --git a/src/field/external_gps/mobile-app-connecting-external-gps.webp b/src/field/external_gps/mobile-app-connecting-external-gps.webp
new file mode 100644
index 00000000..b9303c01
Binary files /dev/null and b/src/field/external_gps/mobile-app-connecting-external-gps.webp differ
diff --git a/src/field/external_gps/mobile-app-connecting-external-gps.xcf b/src/field/external_gps/mobile-app-connecting-external-gps.xcf
index 947b9036..c0d87457 100644
Binary files a/src/field/external_gps/mobile-app-connecting-external-gps.xcf and b/src/field/external_gps/mobile-app-connecting-external-gps.xcf differ
diff --git a/src/field/external_gps/mobile-network-provider-connection.webp b/src/field/external_gps/mobile-network-provider-connection.webp
new file mode 100644
index 00000000..b990d9f9
Binary files /dev/null and b/src/field/external_gps/mobile-network-provider-connection.webp differ
diff --git a/src/field/external_gps/mobile-network-provider-connection.xcf b/src/field/external_gps/mobile-network-provider-connection.xcf
new file mode 100644
index 00000000..8115f1f6
Binary files /dev/null and b/src/field/external_gps/mobile-network-provider-connection.xcf differ
diff --git a/src/layer/variables/index.md b/src/layer/variables/index.md
index 63cff238..4d2ca105 100644
--- a/src/layer/variables/index.md
+++ b/src/layer/variables/index.md
@@ -15,15 +15,15 @@ Here you can find the lists of:
The adds several variables that can be used in QGIS expressions:
-| Variable name | Sample value | Scope | Description |
-|-----------------------------|-------------------------------|---------|-------------
-| `@mm_full_name` | `martin second name` | global | Full name of the currently logged in user, blank if the full name is not set |
-| `@mm_username` | `martin` | global | Username of the user currently logged in to |
-| `@mm_user_email` | `martin@example.com` | global | Email of the user currently logged in to |
-| `@mm_url` | `https://app.merginmaps.com` | global | URL of the service |
-| `@mm_project_name` | `Tree survey` | project | Name of the active project |
-| `@mm_project_full_name` | `martin/Tree survey` | project | Workspace and project name joined with a forward slash |
-| `@mm_project_version` | `42` | project | Current version of the active project |
+| Variable name | Type | Sample value | Description |
+|-------------------------|-----------------|----------------|-------------|
+| `@mm_full_name` | Text (string) | `Joe Schmoe` | Full name of the currently logged in user, blank if the full name is not set |
+| `@mm_username` | Text (string) | `joe-schmoe` | Username of the user currently logged in to |
+| `@mm_user_email` | Text (string) | `joe.schmoe@mail.com` | Email of the user currently logged in to |
+| `@mm_url` | Text (string) | `https://app.merginmaps.com` | URL of the service |
+| `@mm_project_name` | Text (string) | `My project` | Name of the active project |
+| `@mm_project_full_name` | Text (string) | `my-team/My project` | Workspace and project name joined with a forward slash |
+| `@mm_project_version` | Number (integer) | `9` | Current version of the active project |
A common use case is to use `@mm_username` or `@mm_user_email` as the [default value](../default-values/) for one of the fields in a survey layer to automatically track who has added (and/or modified) a particular record.
@@ -40,35 +40,32 @@ With , it is possible to access GPS information using extra pos
Extra position variables can be used as [default values in feature forms](../default-values/).
Following variables are supported:
- - `@position_coordinate` - A point with the coordinates in WGS84.
- - `@position_latitude` - Latitude
- - `@position_longitude` - Longitude
- - `@position_elevation` - Orthometric or normal height
- - `@position_elevation_ellipsoid` - Ellipsoidal height
- - `@position_geoid_separation` - Geoid or quasi-geoid height (undulation)
- - `@position_direction` - The bearing measured in degrees clockwise from true north to the direction of travel.
- - `@position_ground_speed` - The ground speed, in meters/sec.
- - `@position_vertical_speed` - The vertical speed, in meters/sec.
- - `@position_magnetic_variation` - 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_accuracy` - The accuracy of the provided latitude-longitude value, in meters.
- - `@position_vertical_accuracy` - The accuracy of the provided altitude value, in meters.
- - `@position_from_gps` - True, if recorded/edited feature's geometry corresponds with current user's position (Position marker has the same location as the crosshairs marker).
- - `@position_satellites_visible` - Number of visible satellites.
- - `@position_satellites_used` - Number of satellites used to calculate the position.
- - `@position_gps_fix` - GPS fix, e.g. "RTK float"
- - `@position_gps_antenna_height` - Antenna height as defined in [GPS settings](../../field/mobile-app-ui/#gps-settings)
- - `@position_provider_type` - GPS device type.
- - for internal GPS, returns "internal"
- - for external GPS, returns "external"
- - `@position_provider_name` - GPS device name.
- - for internal GPS, returns "Internal"
- - for external GPS, returns the name of the external device
- - `@position_provider_address` - GPS device address.
- - for internal GPS, returns ""
- - for external GPS, returns the MAC address
- - `@position_hdop` - Horizontal dilution of precision (HDOP)
- - `@position_vdop` - Vertical dilution of precision (VDOP)
- - `@position_pdop` - Position (3D) dilution of precision (PDOP)
+| Variable name | Type | Description |
+|-------------------------|-----------------|-------------|
+| `@position_coordinate` | Geometry | A point with the coordinates in WGS84 |
+| `@position_latitude` | Number (decimal) | Latitude |
+| `@position_longitude` | Number (decimal) | Longitude |
+| `@position_elevation` | Number (decimal) | Orthometric or normal height. *May not be available for some providers* |
+| `@position_altitude` | Number (decimal) | Has been replaced by `@position_elevation`. It is still supported and returns the same values as `@position_elevation`. |
+| `@position_elevation_ellipsoid` | Number (decimal) | Ellipsoidal height. *May not be available for some providers* |
+| `@position_geoid_separation` | Number (decimal) | Geoid or quasi-geoid height (undulation). *May not be available for some providers* |
+| `@position_direction` | Number (integer) | The bearing measured in degrees clockwise from true north to the direction of travel |
+| `@position_ground_speed` | Number (decimal) | The ground speed, in meters/sec |
+| `@position_vertical_speed` | Number (decimal) | The vertical speed, in meters/sec |
+| `@position_magnetic_variation` | Number (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_accuracy` | Number (decimal) | The accuracy of the provided latitude-longitude value, in meters |
+| `@position_vertical_accuracy` | Number (decimal) | The accuracy of the provided altitude value, in meters |
+| `@position_from_gps` | Boolean | *True* if recorded/edited feature's geometry corresponds with current user's position (position marker has the same location as the crosshairs marker) |
+| `@position_satellites_visible` | Number (integer) | Number of visible satellites |
+| `@position_satellites_used` | Number (integer) | Number of satellites used to calculate the position |
+| `@position_gps_fix` | Text (string) | GPS fix, e.g. "RTK float" |
+| `@position_gps_antenna_height` | Number (decimal) | Antenna height as defined in [GPS settings](../../field/mobile-app-ui/#gps-settings) |
+| `@position_provider_type` | Text (string) | GPS device type. For internal GPS, returns `internal`, for external GPS, returns `external_bt` (Bluetooth devices) or `external_ip` (network devices).|
+| `@position_provider_name` | Text (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_address` | Text (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_hdop` | Number (decimal) | Horizontal dilution of precision (HDOP) |
+| `@position_vdop` | Number (decimal) | Vertical dilution of precision (VDOP) |
+| `@position_pdop` | Number (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.