Logistics & Mobility// definition

The 8 fields in a position report, and the 2 that make it trustworthy

In short

A position report is one message from a vehicle: a coordinate pair plus 8 qualifying fields — device time, server receipt time, fix accuracy, satellite count or fix type, heading, speed, odometer and ignition state. Device time and fix accuracy are the 2 that make the rest trustworthy: without them you cannot tell a live fix from a buffered one, or a 5-metre fix from a 2-kilometre one.

Key takeaways

  • A ping is a coordinate pair plus 8 fields. The pair alone cannot be filtered, ordered or audited.
  • Device time and receipt time answer different questions, and only 1 of them belongs on a timeline.
  • Fix accuracy is what lets you reject a bad position. Without it every fix is treated as equally good.
  • Speed reported by the receiver and speed computed from 2 fixes fail in different directions.
  • Odometer and ignition come from the vehicle, not the satellites, and vary most between vendors.

A position report — the ping — is one message from a vehicle saying where it was, when, and in what state. The coordinate pair is the payload. Everything useful sits in the 8 fields around it: device time, server receipt time, fix accuracy, satellite count or fix type, heading, speed, odometer and ignition state. Two of those 8, device time and fix accuracy, decide whether the rest is evidence.

A latitude and longitude alone cannot be filtered, ordered reliably or defended. You cannot tell whether the fix is 20 seconds old or 4 hours old, accurate to 5 metres or 2 kilometres, taken moving or parked. Live maps, arrival alerts and mileage claims rest on the qualifying fields, not the coordinates.

The 8 fields, and where each one comes from

Provenance is the thing to hold on to: some fields are measured by the device, some added by a server that never saw the vehicle, some sent only by certain vendors.

FieldProvenanceWhat breaks without it
Device timestampReported by deviceBuffered fixes look live; a truck leaving a tunnel appears to teleport
Server receipt timestampDerived server-sideA dead device and a stalled ingest pipeline look the same
Fix accuracyDevice, often optional by vendorBad fixes cannot be rejected, so they enter the trail and the mileage total
Satellite count or fix typeDevice, often optional by vendorA cell-tower estimate is treated identically to a 6-satellite fix
HeadingReported by deviceMatching guesses direction and picks the wrong side of a divided road
SpeedDevice, or derived server-sideStationary scatter reads as movement and idle time is undercounted
OdometerDevice, vendor-dependentMileage is summed from gaps between fixes, which always undercounts
Ignition stateDevice, provenance varies widelyParked and idling merge, and reporting cadence cannot adapt
An annotated position record: provenance of each field, and what breaks in its absence

Ignition varies most between installs: 4 mechanisms produce it, and they disagree in ways only visible in the data — see what an ignition event actually proves.

Two clocks, two different questions

Device time is when the vehicle was there. Receipt time is when you found out. Through tunnels, underground bays and rural notspots those diverge constantly: a unit buffers fixes while offline, then dumps 40 of them within 1 second of reconnecting.

  • Order the timeline by device time. Ordering by arrival produces a trail that doubles back whenever a buffer flushes.
  • Measure staleness by receipt time. Answering 'last heard from' with the device clock hides a broken ingest path, which is the ambiguity behind vehicles frozen on the live fleet map.

Accuracy is what turns a position into evidence

Accuracy keeps 2 downstream systems honest. It sets the smallest zone whose crossings still mean something, which is why sizing follows fix quality in geofence triggers, entry, exit and dwell. It is also the first input to snapping fixes onto the road the vehicle was really on: a matcher weighting every fix equally anchors a route to a 400-metre outlier.

Speed and heading: reported, or reconstructed

A receiver can report speed directly from the Doppler shift on the signals it tracks: independent of position error, usable at walking pace. Speed reconstructed from the distance between 2 fixes over elapsed time inherits the error of both — with 30-metre scatter and a 10-second interval, a parked vehicle is assigned 10 km/h. Heading fails harder: many devices emit 0 when stationary, so 0 on a parked vehicle means 'unknown', not 'facing north'. Record which source each field came from before the series becomes the breadcrumb trail the vehicle actually drove.

The minimum contract to accept from a feed

  1. Require both timestamps in UTC, device clock stored as sent. Correct at read time, never at write time.
  2. Require an accuracy figure and record its units. Metres for 1 vendor and a unitless dilution figure for another is worse than none: both look plausible.
  3. Store an explicit null, not a 0, for anything the device did not send, and keep the raw payload beside the parsed record.
  4. Reject nothing at ingest — flag low-quality fixes and keep them. A silent drop rule cannot be audited when a mileage claim is tested against what the load tender committed you to.

A coordinate with no trusted time and no accuracy to filter on is a rumour about where a vehicle was, formatted to 6 decimal places.

How often a report is sent, and how trips are cut from the stream, are separate decisions sitting alongside this definition in telematics and the live vehicle data plane. Building a state model on such a feed is what we do under AI agents and workflow automation, with the operational realities in AI agents in production and the wider picture in our logistics and mobility work.

Frequently asked questions

Short answers to the follow-ups this page tends to raise.

What is a GPS ping in fleet tracking?

It is a single position report from a vehicle's tracking device: a latitude and longitude plus the fields that qualify them — when the fix was taken, how accurate it is, direction, speed and vehicle state. The dot on the map is the least informative part of the message.

Why does a position report need two timestamps?

Because when the vehicle was there and when you found out are different facts. Devices buffer fixes when signal drops and send them in a burst on reconnection, so a single timestamp gives you either a trail that jumps backwards or a staleness measure that lies. Order history by the device clock; measure system health by the receipt clock.

What does fix accuracy actually tell me?

It tells you how far the true position could be from the reported one, which decides whether a fix answers the question in front of you. A 5-metre fix settles whether a vehicle entered a yard; a 500-metre fix cannot, and without the field the two look identical. Confirm with the provider whether the figure is metres or a dilution-of-precision value.

  • telematics
  • position report
  • GPS
  • fleet data
// shipped work

The work behind this page

Builds from our portfolio that this page draws on.

Working on something in this space?

Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.

Start the conversation