Roads
The roads dataset lists the places where a car joins or leaves a motorway: the on-ramps and off-ramps in the US. For each one it gives the street the ramp starts from, where it is known, and the motorway and direction it leads onto. This page explains what an access point and a join are, how to ask for the nearest ones, and how to list the motorways you can join near a point.
Source
Access points are derived from the road network in Overture Maps. We checked them against official lists: 94% of the US federal (FHWA HPMS) freeway ramps have one of ours within 30 m, and 89% of Washington State's numbered exits are matched within 200 m.
Access points and joins
An access point is the spot where a ramp leaves the ordinary street (an on-ramp), or where
it comes back down to one (an off-ramp). Its lat and lng are that spot, and distance_m is
measured to it in a straight line.
A join is one motorway and direction an access point leads onto. Most access points have
one join. Some ramps split part-way up, so one entrance can lead onto two motorways or both
directions of one: downtown Seattle's 6th Avenue entrance joins I-5 southbound and I-90
eastbound. Each join carries the route (road_network and road_ref, so US:I and 5 is
Interstate 5), the direction, the destinations signposted on the ramp, and the point where the
ramp meets the motorway (merge_lat, merge_lng).
GET /v1/roads/access-points/near returns the access points nearest a coordinate, one result
per access point, nearest first.
text
GET /v1/roads/access-points/near?country=US&lat=47.6097&lng=-122.3331&radius_m=1000&limit=2json
{
"country_code": "US",
"count": 2,
"access_points": [
{
"id": "c3848e32-307a-4d19-80d1-2936a067f66a",
"type": "on_ramp",
"lat": 47.609154,
"lng": -122.332635,
"distance_m": 70,
"local_road": "6th Avenue",
"joins": [
{
"road_network": "US:I",
"road_ref": "5",
"road_name": null,
"direction": "northbound",
"signs": ["I 5 North"],
"confidence": 1.0,
"merge_lat": 47.61301,
"merge_lng": -122.330124
}
]
},
{
"id": "3ac99a92-efdf-4aed-b0da-a699715e9498",
"type": "on_ramp",
"lat": 47.607741,
"lng": -122.331356,
"distance_m": 254,
"local_road": "6th Avenue",
"joins": [
{
"road_network": "US:I",
"road_ref": "5",
"road_name": null,
"direction": "southbound",
"signs": [
"Airport Way",
"Bellevue",
"I 5 South",
"I 90 East",
"Portland",
"Sea-Tac Airport",
"Tacoma"
],
"confidence": 0.95,
"merge_lat": 47.586728,
"merge_lng": -122.32043
},
{
"road_network": "US:I",
"road_ref": "90",
"road_name": null,
"direction": "eastbound",
"signs": ["Bellevue", "I 5 South", "I 90 East", "Portland", "Spokane"],
"confidence": 0.95,
"merge_lat": 47.594868,
"merge_lng": -122.316115
}
]
}
]
}radius_m defaults to 10 km and can go up to 100 km, because entrances in rural areas can be
far apart. Set type=off_ramp for exits instead of entrances. An area with no access point in
range returns an empty list. Other countries the Data API covers return 404
not_available_in_country.
Motorways near a point
GET /v1/roads/highways/near answers a different question: which motorways can you join from
here, and in which direction. It returns one row per motorway and direction you can join, with
its nearest access point and how many access points it has in range.
text
GET /v1/roads/highways/near?country=US&lat=47.6097&lng=-122.3331&radius_m=5000&limit=3json
{
"country_code": "US",
"count": 3,
"highways": [
{
"road_network": "US:I",
"road_ref": "5",
"road_name": null,
"direction": "northbound",
"nearest": {
"id": "c3848e32-307a-4d19-80d1-2936a067f66a",
"lat": 47.609154,
"lng": -122.332635,
"distance_m": 70,
"local_road": "6th Avenue"
},
"access_point_count": 10
},
{
"road_network": "US:I",
"road_ref": "5",
"road_name": null,
"direction": "southbound",
"nearest": {
"id": "3ac99a92-efdf-4aed-b0da-a699715e9498",
"lat": 47.607741,
"lng": -122.331356,
"distance_m": 254,
"local_road": "6th Avenue"
},
"access_point_count": 7
},
{
"road_network": "US:I",
"road_ref": "90",
"road_name": null,
"direction": "eastbound",
"nearest": {
"id": "3ac99a92-efdf-4aed-b0da-a699715e9498",
"lat": 47.607741,
"lng": -122.331356,
"distance_m": 254,
"local_road": "6th Avenue"
},
"access_point_count": 5
}
]
}A motorway is its road_network and road_ref, so the same number on different networks stays
separate: in Los Angeles, I-110, its express lanes (US:I:Express) and CA-110 each get their
own rows. A motorway with no route number is grouped by road_name instead, so one that changes
name along its length can appear twice; one with neither is listed once per access point. Joins
with no direction share one row per motorway. An access point that joins two motorways, like 6th Avenue
above, counts towards both. road_name is the name at the nearest access point.
Rows are ordered by their nearest access point, and limit (default 20, up to 100) counts rows.
radius_m, type and the 404 work as for access points. A motorway with no access point within
radius_m is not listed, even if it passes close by.
Confidence
Each join has a confidence between 0 and 1. We only return joins at 0.8 or above, which keeps
97% of on-ramp joins.
Known gaps
- Only motorways are covered. Trunk expressways and other major roads are not.
- Reversible express lanes, whose direction changes by time of day, are left out.
- Some joins have no
direction, mostly on toll roads without a route number, whereroad_networkandroad_refare null too androad_namecarries the road's name. - Turn restrictions at the top of the ramp are not applied, so a few entrances may not be reachable from every side of the street.