OpenStreetMap: Gathering Data using GPSAhren Stevens-Taylor
(For more resources on OpenStreetMap, see here.)
OpenStreetMap is made possible by two technological advances: Relatively affordable, accurate GPS receivers, and broadband Internet access. Without either of these, the job of building an accurate map from scratch using crowdsourcing would be so difficult that it almost certainly wouldn’t work.
Much of OpenStreetMap’s data is based on traces gathered by volunteer mappers, either while they’re going about their daily lives, or on special mapping journeys. This is the best way to collect the source data for a freely redistributable map, as each contributor is able to give their permission for their data to be used in this way.
The traces gathered by mappers are used to show where features are, but they’re not usually turned directly into a map. Instead, they’re used as a backdrop in an editing program, and the map data is drawn by hand on top of the traces. This means you don’t have to worry about getting a perfect trace every time you go mapping, or about sticking exactly to paths or roads. Errors are canceled out over time by multiple traces of the same features.
OpenStreetMap uses other sources of data than mappers’ GPS traces, but they each have their own problems: Out-of-copyright maps are out-of-date, and may be less accurate than modern surveying methods. Aerial imagery needs processing before you can trace it, and it doesn’t tell you details such as street names. Eventually, someone has to visit locations in person to verify what exists in a particular place, what it’s called, and other details that you can’t discern from an aerial photograph
If you already own a GPS and are comfortable using it to record traces, you can skip the first section of this article and go straight to Techniques. If you want very detailed information about surveying using GPS, you can read the American Society of Civil Engineers book on the subject, part of which is available on Google Books at http://bit.ly/gpssurveying. Some of the details are out-of-date, but the general principles still hold.
If you are already familiar with the general surveying techniques, and are comfortable producing information in GPX format, you can skip most of this article and head straight for the section Adding your traces to OpenStreetMap.
What is GPS?
GPS stands for Global Positioning System, and in most cases this refers to a system run by the US Department of Defense, properly called NAVSTAR. The generic term for such a system is a Global Navigation Satellite System (GNSS), of which NAVSTAR is currently the only fully operational system. Other equivalent systems are in development by the European Union (Galileo), Russian Federation (GLONASS), and the People’s Republic of China (Compass). OpenStreetMap isn’t tied to any one GNSS system, and will be able to make use of the others as they become available. The principles of operation of all these systems are essentially the same, so we’ll describe how NAVSTAR works at present.
NAVSTAR consists of three elements: the space segment, the control segment, and the user segment.
- The space segment is the constellation of satellites orbiting the Earth. The design of NAVSTAR is for 24 satellites, of which 21 are active and three are on standby. However, there are currently 31 satellites in use, as replacements have been launched without taking old satellites out of commission. Each satellite has a highly accurate atomic clock on board, and all clocks in all satellites are kept synchronized. Each satellite transmits a signal containing the time and its own position in the sky.
- The control segment is a number of ground stations, including a master control station in Colorado Springs. These stations monitor the signal from the satellites and transmit any necessary corrections back to them. The corrections are necessary because the satellites themselves can stray from their predicted paths.
- The user segment is your GPS receiver. This receives signals from multiple satellites, and uses the information they contain to calculate your position. Your receiver doesn’t transmit any information, and the satellites don’t know where you are. The receiver has its own clock, which needs to be synchronized with those in the space segment to perform its calculations. This isn’t the case when you first turn it on, and is one of the reasons why it can take time to get a fix.
Your GPS receiver calculates your position by receiving messages from a number of satellites, and comparing the time included in each message to its own clock. This allows it to calculate your approximate distance from each satellite, and from that, your position on the Earth. If it uses three satellites, it can calculate your position in two dimensions, giving you your latitude (lat) and longitude (long). With signals from four satellites, it can give you a 3D fix, adding altitude to lat and long. The more satellites your receiver can “see”, the more accurate the calculated position will be. Some receivers are able to use signals from up to 12 satellites at once, assuming the view of the satellites isn’t blocked by buildings, trees, or people. You’re obviously very unlikely to get a GPS fix indoors.
Many GPS receivers can calculate the amount of error in your position due to the configuration of satellites you’re using. Called the Dilution of Precision (DOP), the number produced gives you an idea of how good a fix you have given the satellites you can get a signal from, and where they are in the sky. The higher the DOP, the less accurate your calculated position is. The precision of a GPS fix improves with the distance between the satellites you’re using. If they’re close together, such as mostly directly overhead, the DOP will be high. Use signals from satellites spread evenly across the sky, and your position will be more accurate. Which satellites your receiver uses isn’t something you can control, but more modern GPS chipsets will automatically try to use the best configuration of satellites available, rather than just those with the strongest signals. DOP only takes into account errors caused by satellite geometry, not other sources of error, so a low DOP isn’t a guarantee of absolute accuracy.
The system includes the capability to introduce intentional errors into the signal, so that only limited accuracy positioning is available to non-military users. This capability, called Selective Availability (SA) was in use until 1990, when President Clinton ordered it to be disabled. Future NAVSTAR satellites will not have SA capabilities, so the disablement is effectively permanent. The error introduced by SA reduced the horizontal accuracy of a civilian receiver, typically to 10m, but the error could be as high as 100m. Had SA still been in place, it’s unlikely that OpenStreetMap would have been as successful.
NAVSTAR uses a coordinate system known as WGS84, which defines a spheroid representing the Earth, and a fixed line of longitude or datum from which other longitudes are measured. This datum is very close to, but not exactly the same as the Prime Meridian at Greenwich in South East London. The equator of the spheroid is used as the datum for latitude. Other coordinate systems exist, and you should note that no printed maps use WGS84, but instead use a slightly different system that makes maps of a given area easier to use. Examples of other coordinate systems include the OSGB36 system used by British national grid references. When you create a map from raw geographic data, the latitudes and longitudes are converted to the x and y coordinates of a flat plane using an algorithm called a projection. You’ve probably heard of the Mercator projection, but there are many others, each of which is suitable for different areas and purposes.
What’s a GPS trace?
A GPS trace or tracklog is simply a record of position over time. It shows where you traveled while you were recording the trace. This information is gathered using a GPS receiver that calculates your position and stores it every so many seconds, depending on how you have configured your receiver.
If you record a trace while you’re walking along a path, what you get is a trace that shows you where that path is in the world. Plot these points on a graph, and you have the start of a map. Walk along any adjoining paths and plot these on the same graph, and you have something you can use to navigate. If many people generate overlapping traces, eventually you have a fully mapped area. This is the general principle of crowdsourcing geographic data. You can see the result of many combined traces in the following image. This is the junction of the M4 and M25 motorways, to the west of London. The motorways themselves and the slip roads joining them are clearly visible.
Traces are used in OpenStreetMap to show where geographical features are, but usually only as a source for drawing over, not directly. They’re also regarded as evidence that a mapper has actually visited the area in question, and not just copied the details from another copyrighted map. Most raw GPS traces aren’t suitable to be made directly into maps, because they contain too many points for a given feature, will drift relative to a feature’s true position, and you’ll also take an occasional detour.
Although consumer-grade GPS receivers are less accurate than those used by professional surveyors, if enough traces of the same road or path are gathered, the average of these traces will be very close to the feature’s true position. OpenStreetMap allows mappers to make corrections to the data over time as more accurate information becomes available.
In addition to your movements, most GPS receivers allow you to record specific named points, often called waypoints. These are useful for recording the location of point features, such as post boxes, bus stops, and other amenities. We’ll cover ways of using waypoints later in the article.
What equipment do I need?
To collect traces suitable for use in OpenStreetMap, you’ll need some kind of GPS receiver that’s capable of recording a log of locations over time, known as a track log, trace, or breadcrumb trail. This could be a hand-held GPS receiver, a bicycle-mounted unit, a combination of a GPS receiver and a smartphone, or in some cases a vehicle satellite navigation system. There are also some dedicated GPS logger units, which don’t provide any navigation function, but merely record a track log for later processing. You’ll also need some way of getting the recorded traces off your receiver and onto your PC. This could be a USB or serial cable, a removable memory card, or possibly a Bluetooth connection. There are reviews of GPS units by mappers in the OpenStreetMap wiki.
There are also GPS receivers designed specifically for surveying, which have very sensitive antennas and link directly into geographic information systems (GIS). These tend to be very expensive and less portable than consumer-grade receivers. However, they’re capable of producing positioning information accurate to a few centimeters rather than meters.
You also need a computer connected to the Internet. A broadband connection is best, as once you start submitting data to OpenStreetMap, you will probably end up downloading lots of map tiles. It is possible to gather traces and create mapping data while disconnected from the Internet, but you will need to upload your data and see the results at some point. OpenStreetMap data itself is usually represented in Extensible Markup Language (XML) format, and can be compressed into small files. The computer itself can be almost any kind, as long as it has a web browser, and can run one of the editors, which Windows, Mac OS X, and Linux all can.
You’ll probably need some other kit while mapping to record additional information about the features you’re mapping. Along with recording the position of each feature you map, you’ll need to note things such as street names, route numbers, types of shops, and any other information you think is relevant. While this information won’t be included in the traces you upload on openstreetmap.org, you’ll need it later on when you’re editing the map. Remember that you can’t look up any details you miss on another map without breaking copyright, so it’s important to gather all the information you need to describe a feature yourself.
- A paper notebook and pencil is the most obvious way of recording the extra information. They are inexpensive and simple to use, and have no batteries to run out. However, it’s difficult to use on a bike, and impossible if you’re driving, so using this approach can slow down mapping.
- A voice recorder is more expensive, but easier to use while still moving. Record a waypoint on your GPS receiver, and then describe what that waypoint represents in a voice recording. If you have a digital voice recorder, you can download the notes onto your PC to make them easier to use, and JOSM—the Java desktop editing application—has a support for audio mapping built-in.
- A digital camera is useful for capturing street names and other details, such as the layout of junctions. Some recent cameras have their own built-in GPS, and others can support an external receiver, and will add the latitude, longitude, and possibly altitude, often known as geotags, to your pictures automatically. For those that don’t, you can still use the timestamp on the photo to match it to a location in your GPS traces. We’ll cover this later in the article.
Some mappers have experimented with video recordings while mapping, but the results haven’t been encouraging so far. Some of the problems with video mapping are:
- It’s difficult to read street signs on zoomed-out video images, and zooming in on signs is impractical.
- If you’re recording while driving or riding a bike, the camera can only point in one direction at once, while the details you want to record may be in a different direction.
- It’s difficult to index recordings when using consumer video cameras, so you need to play the recording back in real time to extract the information, a slow process.
Automatic processing of video recordings taken with multiple cameras would make the process easier, but this is currently beyond what volunteer mappers are able to afford.
Smartphones can combine several of these functions, and some include their own GPS receiver. For those that don’t, or where the internal GPS isn’t very good, you can use an external Bluetooth GPS module. Several applications have been developed that make the process of gathering traces and other information on a smartphone easier. Look on the Smartphones page on the OpenStreetMap wiki at http://wiki.openstreetmap.org/wiki/Smartphones.
Making your first trace
Before you set off on a long surveying trip, you should familiarize yourself with the methods involved in gathering data for OpenStreetMap. This includes the basic operation of your GPS receiver, and the accompanying note-taking.
Configuring your GPS receiver
The first thing to make sure is that your GPS is using the W GS84 coordinate system. Many receivers also include a local coordinate system in their settings to make them easier to use with printed maps. So check in your settings which system you’re getting your location in. OpenStreetMap only uses WGS84, so if you record your traces in the wrong system, you could end up placing features tens or even hundreds of meters away from their true location.
Next, you should set the recording frequency as high as it will go. You need your GPS to record as much detail as possible, so setting it to record your location as often as possible will make your traces better. Some receivers can record a point once per second; if yours doesn’t, it’s not a problem, but use the highest setting (shortest interval) possible. Some receivers also have a “smart” mode that only records points where you’ve changed direction significantly, which is fine for navigation, but not for turning into a map. If your GPS has this, you’ll need to disable it. One further setting on some GPSs is to only record a point every so many metres, irrespective of how much time has elapsed. Turning this on can be useful if you’re on foot and taking it easy, but otherwise keep it turned off.
Another setting to check, particularly if you’re using a vehicle satellite navigation system, is “snap to streets” or a similar name. When your receiver has this setting on, your position will always be shown as being on a street or a path in its database, even if your true position is some way off. This causes two problems for OpenStreetMap: if you travel down a road that isn’t in your receiver’s database, its position won’t be recorded, and the data you do collect is effectively derived from the database, which not only breaks copyright, but also reproduces any errors in that database.
Next, you need to know how to start and stop recording. Some receivers can record constantly while they’re turned on, but many will need you to start and stop the process. Smartphone-based recorder software will definitely require starting and stopping. If you’re using a smartphone with an external Bluetooth GPS module, you may also need to pair the devices and configure the receiver in your software.
Once you’re happy with your settings, you can have a trial run. Make a journey you have to make anyway, or take a short trip to the shops and back (or some other reasonably close landmark if you don’t live near shops). It’s important that you’re familiar with your test area, as you’ll use your local knowledge to see how accurate your results are.
Checking the quality of your traces
When you return, get the trace you’ve recorded off your receiver, and take a look at it on your PC using an OpenStreetMap editor or by uploading the trace. Now, look at the quality of the trace. Some things to look out for are, as follows:
- Are lines you’d expect to be straight actually straight, or do they have curves or deviations in them? A good trace reflects the shape of the area you surveyed, even if the positioning isn’t 100% accurate.
- I f you went a particular way twice during your trip, how well do the two parts of the trace correspond? Ideally, they should be parallel and within a few meters from each other.
- When you change direction, does the trace reflect that change straight away, or does your recorded path continue in the same direction and gradually turn to your new heading?
- If you’ve recorded any waypoints, how close are they to the trace? They should ideally be directly on top of the trace, but certainly no more than a few meters away.
The previous image shows a low-quality GPS trace. If you look at the raw trace on the left, you can see a few straight lines and differences in traces of the same area. The right-hand side shows the trace with the actual map data for the area, showing how they differ.
In this image, we see a high-quality GPS trace. This trace was taken by walking along each side of the road where possible. Note that the traces are straight and parallel, reflecting the road layout. The quality of the traces makes correctly turning them into data much easier.
If you notice these problems in your test trace, you may need to alter where you keep your GPS while you’re mapping. Sometimes, inaccuracy is a result of the make-up of the area you’re trying to map, and nothing will change that, short of using a more sensitive GPS. For the situations where that’s not the case, the following are some tips on improving accuracy.
Making your traces more accurate
You can dramatically improve the accuracy of your traces by putting your GPS where it can get a good signal. Remember that it needs to have a good signal all the time, so even if you seem to get a good signal while you’re looking at your receiver, it could drop in strength when you put it away.
- If you’re walking, the best position is in the top pocket of a rucksack, or attached to the shoulder strap. Having your GPS in a pocket on your lower body will seriously reduce the accuracy of your traces, as your body will block at least half of the sky.
- If you’re cycling, a handlebar mount for your GPS will give it a good view of the sky, while still making it easy to add waypoints. A rucksack is another option.
- In a vehicle, it’s more difficult to place your GPS where it will be able to see most of the sky. External roof-mounted GPS antennas are available, but they’re not cheap and involve drilling a hole in the roof of your car. The best location is as far forward on your dashboard as possible, but be aware some modern car windscreens contain metal, and may block GPS signals. In this case, you may be able to use the rear parcel shelf, or a side window providing you can secure your GPS.
- Don’t start moving until you have a good fix. Although most GPS receivers can get a fix while you’re moving, it will take longer and may be less accurate. More recent receivers have a “warm start” feature where they can get a fix much faster by caching positioning data from satellites.
You also need to avoid bias in your traces. This can occur when you tend to use one side of a road more than the other, either because of the route you normally take, or because there is only a pavement on one side of the road. The result of this is that the traces you collect will be off-center of the road’s true position by a few meters. This won’t matter at first, and will be less of a problem in less densely-featured areas, but in high-density residential areas, this could end up distorting the map slightly.