Skip to content
GuidesBlogPlaygroundDashboard

Map Match

Match GPS coordinates to the road network
MapMatchResult mapMatch().match(MapMatchMatchParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/api/v1/map-match
ModelsExpand Collapse
class MapMatchRequest:

GPS trace to snap to the road network. Provide an array of coordinate objects representing the GPS points. Maximum 50 points per request.

List<Coordinate> coordinates

GPS coordinates to match, in order of travel (max 50 points)

double lat

Latitude in decimal degrees (-90 to 90)

maximum90
minimum-90
double lng

Longitude in decimal degrees (-180 to 180)

maximum180
minimum-180
Optional<List<Double>> radiuses

Search radius per coordinate in meters. Must have the same length as coordinates or be omitted entirely. Default: 50m per point.

class MapMatchResult:

Map matching result as a GeoJSON FeatureCollection. Each Feature is a snapped tracepoint. The top-level matchings array contains the matched sub-routes connecting consecutive tracepoints.

List<Feature> features

Snapped tracepoint Features in input order

GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints.

Coordinates coordinates

Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc.

One of the following:
List<double>
List<List<double>>
List<List<List<double>>>
List<List<List<List<double>>>>
Type type

Geometry type

One of the following:
POINT("Point")
LINE_STRING("LineString")
POLYGON("Polygon")
MULTI_POINT("MultiPoint")
MULTI_LINE_STRING("MultiLineString")
MULTI_POLYGON("MultiPolygon")
Properties properties
Optional<Double> distanceM

Distance from the original GPS point to the snapped point in meters

Optional<Long> edgeId

Road edge ID the point was snapped to

Optional<Long> matchingsIndex

Index into the matchings array indicating which matching sub-route this point belongs to

Optional<String> name

Road name at the snapped point

Optional<List<Double>> original

Original GPS coordinate as [lng, lat]

Optional<Long> waypointIndex

Index of this tracepoint in the original coordinates array

Type type
List<Matching> matchings

Matched sub-routes. Each matching connects a contiguous sequence of tracepoints that could be matched to roads.

Type type