Geospatial · Geocoding and routing

Map-match

Snaps noisy GPS points onto the road network, one matched path per trip or each point with its confidence.

Also known as: Snap to road, GPS traces

How it works

Pick the Latitude and Longitude columns of the GPS points and the Routing tiles. Trace column (optional) groups the points into separate trips; leave it blank to treat the whole table as one trace. Order column (optional) sorts the points within a trace; blank keeps the input order. Choose a Travel mode (Car by default, or Bike, Walk or Truck) and an Output. Matched path returns one row per trace with trace_id, matched_geometry (the snapped line), matched_distance_m and matched_duration_s. Point confidence returns one row per input point with point_index, snapped_lat, snapped_lon, match_type and distance_from_trace_m, so you can see how far each raw fix moved.

Inputs and outputs

Inputs

  • data — Table

Outputs

  • data — Table

Settings

The Attributes panel of Map-match, as in the app: the controls work, but nothing runs — there is no data behind it.

The same settings, as the Assistant writes them
{
  lat: string
  lon: string
  traceColumn?: string
  orderColumn?: string
  costing: "auto"|"bicycle"|"pedestrian"|"truck"
  output: "matched"|"points"
}

lat/lon are the GPS point columns; traceColumn groups points into separate tracks. "matched" = one row per trace with the matched path, "points" = one row per input point with its snap confidence. Never emit tile-set ids or paths — the app selects the installed tile set itself.

Example

Fleet trackers log a point every 10 seconds. Set Trace column to trip_id, Order column to recorded_at, Travel mode to Truck and Output to Matched path, then Spatial Measure the matched_geometry length per trip. Switch Output to Point confidence to find trackers whose fixes drift far from the road.