How MapQuest Works


MapQuest.com generates maps and directions on the fly. In the Web site's first month of existence, it got a million hits, and its instant success spawned an industry. Online mapping applications are now a dime a dozen, but MapQuest is still the top performer.

How does MapQuest.com determine the "ideal" route? What are the most common errors and why do they happen? In this article, we'll look behind the scenes of MapQuest.com to find out how it delivers maps and directions, and we'll check out some of its lesser-known applications.

MapQuest is pretty much your quintessential online mapping program. Its main functions are FindIt, which lets you find businesses in a particular area; Maps, which creates a location map based on address, city, zip code or longitude/latitude coordinates; and Driving Directions, which generates a route from Point A to Point B based on as much address information as you can provide. It'll get you from house to house, city to city or from a mall in Vancouver to an airport in Florida, and it'll estimate how long it'll take you to get there.

Every day, MapQuest.com generates about 5 million maps and about 7 million sets of driving directions. MapQuest deals with a lot of data -- it covers the United States, Canada, France, the United Kingdom, Germany, Italy, Austria, Belgium, Denmark, Luxembourg, the Netherlands, Sweden, Switzerland and Spain to the street level, and it covers the rest of the mapped world to the city level. Sources for this coverage include MapQuest's own cartography data developed for its print publications, information from digital mapping companies like NavTech and TeleAtlas, and government databases like the one compiled by the U.S. Postal Service. MapQuest updates its information every three months with any new or corrected data that comes in from its sources.

 

MapQuest Technology

MapQuest as most of us know it is 34 servers housed in the AOL Data Center in Virginia. These 34 servers handle all of the data and number-crunching needed to create maps and driving directions on the fly. The task breakdown looks like this:

  • 15 servers generate maps
  • 15 servers handle geocoding (matching addresses to longitude/latitude coordinates)
  • 4 servers create driving routes

Each server is a self-contained unit that stores the same information as the other servers in its task group. If you ask MapQuest to generate driving directions, you'll end up using any one of 15 geocoding servers (we'll talk about geocoding in the next section), any one of 15 mapping servers and any one of four routing servers by the time the directions show up on your screen.

MapQuest's routing algorithm looks at all possible routes between two points and then picks one by weighing certain factors at each stage along the trip. The goal is to achieve the fastest, most direct route. It factors in characteristics such as what kind of road is involved (if it's between freeway or dirt, for example, it'll pick the freeway), how many turns are involved, how fast you can travel on the road and the number of intersections you'll encounter. Once it has chosen the ideal segment for each step of the way, it delivers a set of directions.

MapQuest inputs all of this data into its own technology infrastructure to turn it into the maps and directions displayed on MapQuest.com. Let's find out what that involves.

When the MapQuest routing servers generate a route, it also generates an estimated driving time. This driving time is based on travel speeds (typically posted speed limits) along each road segment and the amount of time it takes to navigate each intersection. According to Jim Greiner, MapQuest's Director of Marketing, intersection time is calculated "based on type of turn (left, right, crossing) and the number, type, and geometry of roads at the intersection." For example, the software assumes it takes more time to turn left from a minor road onto a major road than it takes to turn right from a major road onto a minor road.

In order to pinpoint a location on a map or provide driving direction from one point to another, MapQuest must first convert a street address into a latitude/longitude coordinate. This process is called geocoding.

Geocoding

Geocoding assigns a latitude/longitude pair to a street address. The result is not exact -- geocoding creates the best possible estimate based on available information. MapQuest uses one of several methods to arrive at a geocode.

Address Interpolation

This method provides the most accurate results. In address interpolation, streets are broken up into segments, and each segment has a range of addresses associated with it. MapQuest's software makes an educated guess at the location of a given address based on where it should be located within that segment. For example, let's say ask MapQuest to show you the location of "25 Elm Street, Hollywood, CA." A geocoding server will ask a mapping server for the best available data for Elm Street in Hollywood. It will then locate the segment with addresses ranging from, say, 1 to 49 on one side and 2 through 50 on the other. It will assume that 25 is at the center of the segment on the odd-numbered side of the street, and it will locate the address at the latitude/longitude coordinates for that position.

If it can't geocode an address using interpolation -- typically because the street isn't in its database yet or there are a number of streets with the same name in a given area -- the server will attempt to use either intersection matching (if the address is outside of the United States) or zip code centroids (if the address is in the U.S.).

Intersection Matching

To geocode an address using intersection matching, MapQuest finds two street segments: one segment near where MapQuest thinks the address should be located, and one that touches that segment. It then geocodes that intersection, which it assumes to be the closest intersection to the given address. In this case, MapQuest delivers a map pinpointing the intersection or directions to the intersection.

Zip Code Centroids

In the United States, every address has a "zip code" that corresponds to a particular region within a city. A zip code centroid is an area that corresponds to a five-digit, seven-digit or nine-digit zip code. Most of us are familiar with the five-digit zip codes, but those zip codes are actually broken up into smaller, zip+2 areas and even smaller zip+4 areas. The zip+4 centroid is the nine-digit zip code you sometimes see on official documents, and it typically includes only about 10 homes (you can look up the zip+4 code for your address using the USPS ZIP Code Lookup). If MapQuest can figure out which +4 centroid the address should be in, it will calculate a latitude/longitude pair that is at the center of that centroid. The next step is to try to place the address in a +2 centroid, and finally in the basic five-digit zip code area, which is quite large. These latter options don't return very accurate results.

Now that we know how MapQuest generates maps and directions, let's find out how we can use MapQuest.com to get the information we want.

Using MapQuest

Let's use MapQuest to plan a trip to HowStuffWorks headquarters in Atlanta, GA. Everything we need to get started is right on the homepage:

The first thing we need to do is locate the Atlanta airport, since that will be the starting point for our trip. If we click on "Search for Locations" under "FindIt," we're taken to a page with some fields that we'll fill in with what we're looking for and the area we want to find it in:

We want to find an airport in Atlanta, GA.

On that same page, there's also a list of business categories. If you don't know the name of the place you're looking for or what to call it, you can search the categories to find the right business classification. You'll find Airports in the Travel category, along with Auto Rental, Cruises, Resorts and Sightseeing Tours. Clicking on any one of those subcategories automatically populates the "What" field with that keyword.

When we click "Search for Locations," MapQuest generate a map of Atlanta followed by a list of search results for "airport."

Hartsfield Atlanta Airport is the one we want, and it's about halfway down the list. Immediately beneath the name and address, there are links that let us map or get directions to or from this location:

If we click on "Map," we've got a nice map of our starting point in Atlanta, with the airport in the center:

Right above the map is a field called "Find Nearby." If we were looking for a hotel to stay in that's close to the airport, we could enter "hotel" in this field and get a list of hotels in the area.

We generated our map using the FindIt function as our first step. We could have arrived at the same map by entering the address of the Hartsfield Atlanta Airport in the "Maps" section of the homepage. MapQuest will also map a zip code, a city, a state and a longitude/latitude pair.

We have several options when it comes to moving the map view. We can use the arrows on the map perimeter or we can simply click on the map. Beneath the map, we can decide what a click will do -- eith zoom in and re-center the map to the point we clicked or just re-center. We can also use the zoom buttons located to the left of the map to zoom in or out. Here's the farthest out we can go:

Location of Hartsfield Atlanta Airport in North America

There is a box for directions below the map. Once you've mapped a location, you can get directions to or from it by entering a starting or ending address. Our ending address is 3350 Peachtree Road in Atlanta -- HowStuffWorks headquarters:

When we click on "Get Directions," MapQuest generates a driving route from the airport to HowStuffWorks:

Our driving distance is 18.82 miles, and our driving time is 24 minutes.

If we go back up to the top of the page, we've got a few things we can do from here.

Using the "Find Nearby" function, we can find a coffee shop to hang out in until the HowStuffWorks offices open. Since our drive is shorter than 50 miles, we can request a route that avoids major highways if we want to do some sightseeing. We can also reverse the route so we know exactly how to get back to the airport at the end of our trip.

Now that we've generated exactly the information we want, we can print it, e-mail it, send it to a cell phone (using subscription-based MapQuest Mobile) or download it to a PDA (using subscription AvantGo software). We'll learn about these subscription-based extras in the next section.

Other MapQuest Applications

MapQuest PND
MapQuest PND
Photo courtesy MapQuest, Inc.

MapQuest offers a number of applications besides generating maps and directions on the Web site:

MapQuest LinkFree

MapQuest lets you link directly to maps and directions on the MapQuest Web site free of charge. So if you have your own Web site, personal home page, or you're just sending out electronic invitations to a party at your house, you can generate a map and directions on MapQuest and then provide a link that people can click on to instantly access the information. For directions on adding MapQuest information to your Web page, see MapQuest: LinkFree.

MapQuest Mobile

MapQuest Mobile is a subscription service that you purchase through your cell-phone provider (see MapQuest Mobile for a list of participating providers and supported phones). For about $4 a month, you can get maps and directions using your cell phone in much the same way as you would on the MapQuest Web site. You can also use the "Send to Phone" button on MapQuest.com to send maps and directions to your phone for download and display. Once you download and install the MapQuest Mobile application, your cell-phone provider will automatically start charging you for the service.

MapQuest FindMe

If you have a Nextel cell phone with GPS capabilities, you can download "FindMe" to your phone to see exactly where you are on a map at any time, use the MapQuest local search function based on that location, get maps and driving directions and let other people (of your choosing) know where you are. FindMe is a subscription service that costs about $5 a month. Using the FindMe companion Web site, you can track your location history and decide who gets to see where you are. Go to MapQuest FindMe to learn more.

MapQuest Personal Navigation Device

The MapQuest Personal Navigation Device (PND) is a portable GPS receiver with MapQuest's functions built in, including mapping and driving directions. You can also set waypoints and destinations and check out the built-in points of interest provided by MapQuest. The $700 unit speaks your driving directions (in any of 30 languages and 50 different voices) so you can use it while you're on the road. Check out MapQuest PND to learn more.

MapQuest Business Applications

MapQuest offers commercial products to businesses looking to add local search, mapping and routing to their Web site. These business applications start at $5,000 a year and range from the simple integration of basic MapQuest functions into an existing commercial infrastructure to a complete MapQuest setup physically located within the business itself. See MapQuest Products & Services to learn more.

The increasing number of MapQuest products and services means its getting easier and easier to know where you are, where you're going and how to get there. But there's a small glitch: Sometimes, MapQuest is wrong.

MapQuest Errors

MapQuest reports that less than 1 percent of its users contact them for any reason at all, so either very few people are getting wrong directions, or very few people are reporting errors. Still, with the volume of data MapQuest has to manage and all of the different sources of that data, it's simply not possible for its maps and directions to be all right all the time. Every now and then, MapQuest says to go north on a one-way street that only runs south or to turn left when you really need to turn right. Some of the most common MapQuest errors include incorrectly positioned addresses (caused by geocoding estimates), unrecognized addresses and incorrect exit numbers for highways.

When MapQuest doesn't recognize an address, it's usually the result of a time delay in getting updated information into the MapQuest system. If your house is located on a street that was completed only last year, MapQuest may not know you exist yet. Street-level changes in a city can take years to get into MapQuest's database. First, the new road has to be "dedicated" by the city, which can happen days, months or years after it's finished and in use. Once it's dedicated, the U.S. Post Office officially recognizes it. Once the U.S. Post Office recognizes it, mapping companies (who supply MapQuest with its data) update their information at their next scheduled update. Then, MapQuest updates its own data with the new road at its own next scheduled update. It's a bit of a roundabout process.

Incorrect exit numbers for highways, while not a widespread problem on MapQuest, can be a big problem for MapQuest users. People living in several counties in Utah have been late for appointments for the last year or so. In 2004, the Utah Department of Transportation changed hundreds of mile post markers and exit signs along I-15, I-70 and I-80 to correct previous innaccuracies. The DOT informed MapQuest of the changes in December 2004, but since MapQuest gets its data from other sources, it can't implement the corrections until its data providers confirm the changes and then supply MapQuest with the new information. As a result, as of November 2005, MapQuest still has incorrect exit sign numbers for more than 80 highway exits in Utah.

MapQuest has links in its Help section that you can use to report a problem with driving directions or a map (see MapQuest Help). Once you submit a report, MapQuest can begin the process of fixing the error. MapQuest will report the error to its data providers, who will confirm it (typically using human beings who actually drive out to the location and check it with their own eyes), correct it and then supply the new, corrected information to MapQuest.

For more information on MapQuest.com and related topics, check out the links on the next page.

Related HowStuffWorks Articles

More Great Links

Sources

  • Cohen, Alan. "A MapQuest Road Trip." PC Magazine. http://www.pcmag.com/article2/0,4149,1092641,00.asp?rsDis=A_MapQuest_Road_Trip-Page001-41887
  • Francica, Joe. "MapQuest Technology and Applications." Directions. http://www.directionsmag.com/editorials.php?article_id=543
  • Graham, Jefferson. "Online mapmakers: Popular, prolific, not perfect." USA Today. http://www.usatoday.com/tech/webguide/internetlife/2002-10-07-online-mapmakers_x.htm
  • Interview with Jim Greiner, MapQuest Director of Marketing
  • "Mapping MapQuest." PC Magazine. http://www.pcmag.com/image_popup/0,1871,s=1504&iid=24223,00.asp
  • MapQuest.com http://www.mapquest.com
  • "MapQuest System Architecture." Directions. http://www.directionsmag.com/article.php?article_id=545
  • Mayfield, Kendra. "Route of Problem: Bad Online Maps." Wired News. http://www.wired.com/news/culture/0,1284,54949,00.html
  • Warburton, Nicole. "Using Mapquest can be a real test." Deseret News. http://deseretnews.com/dn/view/0,1249,635153209,00.html