Track Point Monitor

The Track Point Monitor API provides information about the user's movements. It is very similar to the Place Monitor API, but instead of places – such as home or work – it tracks visited points.

When motion data is set to Basic mode, Track Point Monitor works passively using mainly cell towers and Wi-Fi hotspots to figure out the device's location. GPS information is used only if another application is using GPS. However, apps need to be aware that track points provided by the app may not be fully accurate. Think of it more as a city tracker (it can provide positions in the level of city blocks) rather than a fitness tracker (which can provide positions in the level of a few meters). In typical cases where Track Point Monitor works passively (uses cell tower and Wi-Fi base station data), track points will be recorded every 5 minutes and the minimum distance between two track points is about 500 meters. Track point accuracy depends on the frequency and quality of position data, i.e., existence of cell towers and Wi-Fi hotspots. For example, jogging in a park without an active GPS session might record just one point, since the phone stays connected to a single cellular tower all the time.

When motion data is set to Detailed, Track Point Monitor works actively using mainly GPS to figure out the device's location. Compared to the Basic mode, the API will be able to provide more data points and also the accuracy of data points is higher. As a result, battery consumption will be higher, but still significantly less compared to normal GPS usage. In this active mode, Track Point Monitor tries to acquire location updates every 30 to 60 seconds when the user is moving. The location acquisition is done very power efficiently, adapting GPS usage based on motion type and speed of the user. Track Point Monitor goes to sleep-mode when the user is not moving. In sleep-mode, the GPS is not used, and the power consumption of the Detailed mode equals the Basic mode consumption. Due to the nature of the low power GPS usage, the accuracy and interval of the fixes may vary in GPS signal challenged environments like in deep urban canyons or when the device in held in a place where it cannot acquire good GPS signals.

The highest track points registration interval is at 30 seconds (API implementation will wait 30 seconds from the last track point until it records a new one) and only when the user has moved a minimum distance of 50 meters from the last recorded track point. For example, if the user stays for a long period of time within a given 50 meter area, Track Point Monitor will only record a single track point for that area. This behavior is however typical only for scenarios where the device has an active GPS session.

The Track Point Monitor API provides the following parameters:

  • LengthOfStay indicates how long the device stayed at this point.
  • Position is the geographic position of the track point.
  • Radius is the estimated radius of a circular area around the location which reflects the uncertainty of the place. Uncertainty depends on various factors, like how device is being used and environmental factors like the population of cell towers and Wi-Fi hotspots.
  • Timestamp is the time of entry to the location. This is provided with 5 minutes of accuracy.
  • PlaceId is the ID of the place that overlaps or co-exists over the recorded track point, when there is one. The ID is the same as what the Place Monitor API would provide for a given place.

Examples of Track Point Monitor data

For example, a morning commute from home to work in a sub-urban area could look like this (total travel distance 13 km or approx. 8 miles):


A bicycling exercise route tracked with Basic mode on the device – 26 Km, 22 km/h average speed. The red line is from a separate GPS device for reference to indicate the actual route taken and the blue dots are track points:


The following is the same route as above, but with Detailed mode activated. The blue dots are the track points.