1. Home
  2. Knowledge Base
  3. Mobile app
  4. Advanced Soarvo Mobile Functionality

Advanced Soarvo Mobile Functionality

Position Averaging for Feature Geometry

Prerequisites:
Basic knowledge of how to use the Soarvo mobile application.
Basic knowledge of how to use the Soarvo web portal.

App Version:
0.0.42+

When this feature is enabled and when the geometry of a point feature is updated to the current users position (or the current users device position is used as nodes for linear or area geometry) an average of the users position is taken over a configurable amount of time. That is then used instead of just the current users position. This feature is enabled on a per feature type basis.

To enable this functionality you should have two numerical attributes in a feature type with the name ‘_POSITION_AVERAGING_TIME_FRAME’ and ‘_POSITION_AVERAGING_MAX_ACC’. _POSITION_AVERAGING_TIME_FRAME controls how the time period that the average occurs over (in seconds). _POSITION_AVERAGING_MAX_ACC controls the minimum horizontal accuracy (in meters) that qualifies a users position to be used in the averaging calculation.

_POSITION_AVERAGING_MAX_ACC is an optional attribute, if it is not present in the feature type then the maximum accuracy for a position to be used in the average calculation is 9999m.

For example if _POSITION_AVERAGING_TIME_FRAME is set to 30 and _POSITION_AVERAGING_MAX_ACC is set to 5 then the averaging occurs over 30 seconds and will only use user positions where the accuracy is 5m or below.

Once the attributes have been added to the required feature type you will need to sync down the updated feature types on the Soarvo mobile application. You can do this either via ‘pull to refresh’ in the feature list for a given location, or via ‘pull to refresh’ in the feature type list which appears when you tap the green ‘add new feature’ floating action button. The below video shows how it functions on the Soarvo mobile application for a point feature – it also demonstrates how the position averaging only happens when the users position is used, it does not affect tapping on the map to manually change the features geometry.

Manhole + Pipe Snapping

Prerequisites:
Basic knowledge of how to use the Soarvo mobile application.
Basic knowledge of how to use the Soarvo web portal and setup feature types.
Knowledge of how to apply codes (previously called default codes in K-Capture) to attributes following the ‘App Codes for Attribute Settings Document’ below.

App Version:
0.0.98+


App Codes for Attribute Settings Document:
https://github.com/KorecGroup/soarvo-mobile-flutter-public-docs/blob/0.0.98/default-codes-doc.md

Manhole + pipe snapping refers to the functionality, previously available in K-Capture, for a linear feature (ie a pipe) to snap its start and end nodes to point features (ie manholes), and pull attribute values from the snapped point features into the linear feature for calculations – and more. When you also change the geometry or update one of the snapped point features, it should recalculate the attributes of the snapped linear feature and update its geometry to the new snapped point feature position.

The feature types for both the linear and point features requires a specific setup to activate this.

Point Feature Type Setup

If you want to activate the functionality which recalculates the snapped linear features geometry and attributes when you create / edit a given feature of this feature type then you need to add an attribute to the point feature type with a name of _recalc_snaps like in the below screenshot. You can hide this attribute from the feature type form via the attribute setting value of !MODIFIER-HIDE.

Linear Feature Type Setup

You can use the !SNAPPEDSTART(AttributeNameHere) and !SNAPPEDEND(AttributeNameHere) to pull out attribute values from the point features which are snapped to the respective start and end of the linear feature. Where ‘AttributeNameHere’ is the name of the attribute from the point feature. For example, if you wanted to pull out the value of the ‘COVER_LEV’ attribute from the manhole point features you would create attributes in the linear pipe feature type as below.

You can then calculate the difference between these values using the !CALC syntax for the attribute settings in an other attribute in the pipe feature type like below. The attribute names ‘DownstreamCoverLevel’ and ‘UpstreamCoverLevel’ are prefixed with a $ character to make them reactive, meaning whenever the ‘DownstreamCoverLevel’ or ‘UpstreamCoverLevel’ attributes are changed then this calculation is reran.

Example Video

With the feature types setup you should be able to follow the video below, in this two point features already exist with a ‘COVER_LEV’ attribute value. The video demonstrates creating a linear feature between them and then changing the position and COVER_LEV of one of the snapped point features.

Was this article helpful?