State of the Map US 15 August 2010 MapQuest Routing using OSM Data David Nesbitt MapQuest, Inc.
Jan 15, 2015
State of the Map US15 August 2010
MapQuest Routing using OSM DataDavid NesbittMapQuest, Inc.
Part of AOL LocalAlong with Patch and City’s Best
First popular dynamic web application#2 in Online Mapping in the U.S.50 million unique visitors per monthLack of investment in recent years
But that is changing!
Recently launched major redesign athttp://new.mapquest.com/
Mapquest and OSMMapQuest UK launched at SOTM in Girona
UK site first: http://open.mapquest.co.uk/
Will launch Germany and France shortly
MapQuest France is next
New technology stack (for MapQuest)Mapnik, TileCache, Nominatim, OSM data
Routing still uses proprietary engine
Established $1MM internal fund for OpenStreetMap investmentFocus: improve data within the United States
Use resources from MapQuest and Patch to engage audiences to contributePaying developers to contribute to open source projectsContact us at [email protected] with questions or comments
MapQuest Routing using OSM Data1) We have ingested OSM data into our routing engine
Deploying sites in Europe with OSM routing
Localization work as we move to different countries/languages Route narrative phrases, web page
2) Offer free routing services to developershttp://open.mapquestapi.com/directions/
3) Identify routing issues and develop tools to allow them to be fixed Working with members of the OSM community
4) Work towards using OSM data within USPlan to offer an open.mapquest.com site in the future
US data needs improvements to geocoding and for navigability MapQuest known for accurate directions We have a large, engaged user base across multiple local properties in the US
MapQuest Routing EngineHigh performance and scalability (20K+ routes / minute across 12 hosts)
A* heuristics, road filtering based on network level, efficient link marking and adjacency list structure
Data layout optimized to improve memory / disk cache performance
Route ServicesAdditional routing services (developer services) supported
Mobile turn-by-turn navigation supporthttp://itunes.apple.com/app/mapquest-4-mobile/id316126557?mt=8
Route QualityDirectional link-based algorithm for calculating routes - simplifies issues with turn restrictions
Turn/Intersection costing based on turn geometry and road classes at intersection“Maneuver” penalties to help generate routes with less turns
Link density - slightly favor rural areas vs. urban areas
Driving Directions Data FormatFormat is designed to provide high performance for driving routes
Data layout is optimized to improve cache performance
Route Narrative ImprovementsTailored route narratives create concise, simple directions
New enhanced narrative features like intersection counts, prior maneuvers, and gone-too-far guidance
MapQuest Route Serviceshttp://open.mapquestapi.com/directions/ - based on OSM data
Multiple input/output formats
JSON, XML, key-value pairs
http://www.mapquestapi.com/directions/Current developer services based on commercial data
Route MatrixOptimized Routes (TSP)Path From Route
Computes time/distance of a set of locations from a specific routeTrim a set of locations to those that are on or close to a route
Time dependent routingAccounts for time dependent restrictions and real-time/historic speed data
Draggable RoutesInteractively drag a portion of the route
Alternate RoutesProvide alternate route paths and narrative
Route Matrix
http://www.mapquestapi.com/directions/#matrixCalculates drive time matrix (time and distance)
One-to-many
Many-to-many
Many-to-one (shortly)
Supports wide range of applicationsAs input to more robust route optimization (Traveling Salesman) method
Enhance search results with drive time
In-Car navigation: location finding aidExample: find the nearest gas station / convenience store while driving along an Interstate.
Analysis applications
Meet in the middle
Commuter optimizationDrive time of bank employees to various “branches
Optimized Routeshttp://open.mapquestapi.com/directions/#optimizedTraveling Salesman Problem (TSP)
Combinatorial optimization problem
Brute force approach is not feasible
Well-designed heuristic algorithms can find “near-optimal” routesSimulated annealing approaches, Aarts, et al. (1988)
MapQuest Optimized RoutingCalculates drive time matrix (or pedestrian walking time)
From each location to all others
Find “near-optimal” route using simulated annealing method
Reorder “intermediate” locations to match optimal path
Run a “standard” MapQuest route
Multi-leg
Develops itinerary (narrative and route shape)
Route Data Ingestion
osm4routingOpenStreetMap data parser that creates nodes-edges adapted for routing applications
Route DB PostGRES DB created by osm4route
osm2ddfReads RouteDB to create MapQuest DDF data (including route network)
DDFPostProcess Validates route network, applies turn costs, optimizes network data structures
Driving Directions Format (DDF)Proprietary data format used by MapQuest routing engine
osm4routingosm4routing
OSM XML
Route DBRoute DB
osm2ddfDDFPostProcess
osm2ddfDDFPostProcess
DDFDDFrouting
osm4routing
Modified version of code from http://github.com/Tristramg/osm4routing
Creates PostGRES Route DB with attributes required by MapQuest routing engine
Primarily working with the edges table
DB schema - removed some attributes not required and added some new ones
Perform some data standardization and normalization
Creates a relations/restrictions tableWill look to contribute changes back in the futureIn the process of adding the ability to ingest OSM diff
files
osm4routingosm4routing
OSM XML
Route DBRoute DB
osm2ddfDDFPostProcess
osm2ddfDDFPostProcess
DDFDDFrouting
osm2ddfForms route network and optimizes data structure
Computes link density for urban avoidance
Converts OSM tags into internal attributesMaps highway tags to default speeds and “network level”
Identifies and skip duplicate edgesCreates name file and other files used for narrative
guidanceDid some work to “standardize” ref names: e.g., E 45 E45
Uses some country specific logic
Computes compass directions of links (and begin/end of links)
Allows rapid analysis of turns/intersections during guidance /narrative generation
osm4routingosm4routing
OSM XML
Route DBRoute DB
osm2ddfDDFPostProcess
osm2ddfDDFPostProcess
DDFDDFrouting
Next StepsIncremental / automated data update
Start at weekly route data updates – move to dailyPlan to build some route data validation tools / quality assurance checksBe able to reject and then fix major route issues
e.g., a broken connection along a major InterstateWilling to tolerate errors in local regions but not incorrect edits on major highways
Develop tools to improve OSM data quality for routingData validation and correction toolsWorking with the OSM community and contracting developers
Tune routing engineOptimize performance and quality when using OSM data
Pedestrian RoutingArea landmark enhancements
Traffic Message ChannelInvestigating ways to associate real time traffic information to OSM data
Pedestrian Routing Enhancements
Area features to provide details since walkways and paths are often un-namedhttp://www.mapquestapi.com/directions/v1/route?key=Dmjtd|lu612007nq%2C20%3Do5-
50zah&callback=renderAdvancedNarrative&avoidTimedConditions=false&outFormat=json&routeType=pedestrian&narrativeType=microformat&enhancedNarrative=true&locale=en_BG&unit=m&from=1717%20Champa%20St,Denver,CO&to=100%20W%2014th%20Avenue%20Pkwy,Denver,CO
OSM data improvements for routingTIGER data import quality
Drivewaysold/abandoned roads
Duplicate edges / ways Incorrect onewaysExit information (e.g. motorway exits)
Lack of consistently applied data standards
Model after what is recommended for Germany Exit number, road name to which the exit connects, the city/town that the exit services exit_to?
Relations / RestrictionsOften see intermediate roads being improperly ordered / connectedTime dependent relations – may be more important in US than Europe?
OSM data improvements for routing (cont.)Bad connectivity, disjoint network areasConnection to Ferries
Many are highway = service http://www.openstreetmap.org/browse/way/4838402
Meant for alleyways, driveways, deliveries? Disrupts road filtering / performance
“Isolated" ways that are drivable but not connected to any drivable linkse.g., a drivable service road amongst pedestrian ways City center search may find this as the closest road, driving routes fail
Surface tagsWe care about paved vs. unpaved for vehicle access
Too many free-form tags: e.g., surface = very horrible
Bad Connectivity
Interstate connection without a ramp
Incorrect oneway
http://www.openstreetmap.org/edit?lat=40.066952&lon=-76.287875&zoom=18Thanks to Robert Chell @ 1Spatial
Reversed!
Nice map! Route?
http://www.openstreetmap.org/?minlon=-123.1313941&minlat=49.0071713&maxlon=-123.1313941&maxlat=49.0071713Ferry near Calgary
16 edges!
Questions?
David [email protected]