Tracing OpenStreetMap from aerial imagery — a kind of 'armchair mapping' — may seem like a 'no-brainer'. What could be better than mapping from the clear, high-resolution aerial photos available in iD, JOSM, and the other editors?
In fact aerial photos have multiple potential problems, which this article touches upon. Self-verified data is the better data to have: the most valuable mapping involves visiting an area and doing ground survey. Your 'background' local knowledge can contribute, but remember that even that 'knowledge' can get outdated.
The exact placement of roads and other features can be assisted by recording GPS tracks on the ground. Aerial images clearly provide useful assistance in the mapping process, but it can be a bad idea to move map objects created by others just to match them to aerial images. Aerial imagery may be distorted and shifted relative to real object locations.
Imagery and OSM
As a background layer within editors, we can use Bing, IRS, Landsat, and some others. All of these can be used to create and modify objects, but consider that each may have an offset or other kinds of distortions.
Initially, tiled imagery starts life as individual photos, taken from a satellite or airplane, tagged with a center coordinate (which itself is subject to errors, see below on GPS). The photo's corner coordinates can usually be derived from height-above-ground and lens properties. With that, special software can be used to transform it into a projection that is more commonly used with OSM map making. This transformation is not perfect, and may induce distortion and position errors.
Because there is, in any case (even if Earth was flat), perspective in the picture, objects may appear to skew to the side the higher above the ellipsoid they are, so this affects high-rise buildings, mountains, and roads going up/down hills. Perspective exists because the camera is only above one certain point at any time. The perspective problem can only be countered by taking more overhead pictures per distance, and combining them.
GPS tracks, too, can have inaccuracies. As satellites pass overhead, your position may be trilaterated with improved or degraded accuracy over time. Limiting factors include weather conditions, atmospheric interference, suboptimal reception (dampening), reflections off objects (in particular, dense urban areas with high-rise buildings), obstructed sky view (when recording tracks from the inside of a vehicle), and the deliberately diluted accuracy for non-military users.
The result is that GPS tracks will frequently have an offset from reality. Whether the recorded data is better or worse than imagery is dependent on the particular area being observed. This GPS error may correct itself, or get worse through the duration of a long recorded track. All GPS devices give similar data and similar problems. Many GPS devices are capable of recording this error, culminating it in something called dilution of position (DOP), sometimes separated into horizontal and vertical components (HDOP/VDOP). GPS applications may also be showing it visually; the popular OsmAnd application draws a translucent blue circle for it around your marker.
While it is not necessarily better to rely on a GPS trace for accurate positioning, it can be more accurate than aerial imagery in some areas. A GPS trace may, in fact, be the only sensible data source in certain situations, such as when imagery only shows tree canopies of a forest without revealing the paths below, for example.
By recording several tracks, that is, going your route twice, three times, or more (perhaps even on different days), the track can be averaged out and may help identifying GPS traces with a bad initial fix. However, having too many tracks of the same roadway can make visual averaging harder by increasing the width of a spread.
Before adjusting aerial imagery, you need to choose certain "known" reference points, i.e. data points with known locations, or at the very least, locations with the least error. Such reference points might include:
- GPS tracks. As explained above, GPS tracks can be imperfect and some tracks may suffer from great inaccuracy, especially if they were recorded in urban areas. Occasionally, you might also come across tracks that have been recorded using another coordinate system that is not compatible with OSM. In such cases, it is better to reference aerial imagery using an area with a high number of tracks (to reduce the average error). Warning: sometimes it's tempting to match GPS tracks and highway ramps, located above the ground, but you should always avoid doing that because off-nadir angle of view of satellite imagery makes any object located above the ground shifted differently from ground-level objects due to parallax. Always use ground-level objects for alignment.
- Known offset. Can be used in JOSM, where you can input into editor the value of offset. For some areas, you can find this value on a wiki or forum (example for Pskov region in Russia). Often, values are noted for use by groups of mappers and to save time for beginners. However, you need to take into account that offsets can be different even for single photos and, in some places, can dramatically change from block to block.
- Objects on the map. Can be used if you are sure that objects were placed correctly in the first place. For example, while mapping urban areas, first set imagery by matching general roads and tracks. Then check buildings similarly placed on the map and imagery. In the end, you can shift imagery a bit more for perfect matching.
- Objects on the imagery with known coordinates. If you know the accurate coordinates for some objects, you can use such objects for the image offset. Just match those objects on the map and bottom layer.
- 'Well aligned imagery - some imagery has so good quality of aligment that it is superior to collected GPS tracks. geoportal.gov.pl aerial imagery and their LIDAR is an example of such dataset available to OpenStreetMap. In other regions it is also often government-published data.
In any case, do not rush to move objects created by others! Make sure your offset is more accurate — or just contact the mapper. The mapper possibly used their own tracks but did not upload them to the server. Or, to the contrary, they used imagery with lower resolution. Start moving objects on the map if you are completely sure your offset is accurate.
Matching imagery using different editors
To edit OSM data, you can use different editors. Settings for bottom layers are similar in all editors. First download map and GPS data. Then turn on the bottom layer and shift imagery. Below is an explanation of how to do it with different editors:
- Press 'b' when editor is open (or click icon with layers)
- Then click text "Adjust imagery offset".
- You will see four arrows to allow you to shift the imagery around.
The imagery offset is not stored between sessions
Can use data from Imagery Offset Database, or you can manually create a correction and, if you want to save it to the database.
With Imagery Offset Database plugin
- Main article: Imagery_Offset_Database#JOSM_Plugin
To download GPS tracks, tick «Raw GPS data» at «Download» window. After downloading, an additional layer «Downloaded GPX data» will appear. You can then add the imagery layer using the «Imagery» menu. While mapping, you can hide the layer «Downloaded GPX data» if it interferes.
If you know offset values, you can enter them, or move picture (using mouse or keyboard) until tracks or map objects will be matched depending on your favourite method. With the opened window, you can look around an area to check if the offset is similar. After mapping, you can bookmark the offset inputting name for future use.
Other examples: JOSM_offset_images.
Authors never use this editor, but it is known that you can offset imagery similarly to Potlatch by holding «space» button.
After the offset has been specified, you can start editing, but remember to move away from the initial area, and keep checking offset and to move the imagery again if necessary.
External service: Strava Heatmap
Strava provides a layer of GPX traces heatmap, that can be used in iD or JOSM. This layer allows to align the imagery with thousands of GPX traces collected by sportsman (cycling, hiking, walking). You need to log in that external tool, install a plugin in your browser, and copy the WMS URL.
For more information about including this layer, you can visit: Tutorial Strava High Resolution Layer + OpenStreetMap (JOSM or ID)
Server-side offset databases
- Imagery Offset Database — free database, API and widely used JOSM plugin
There have been a number of ideas for approaches to allow experienced users to share offsets, storing them on the server and perhaps even applying the corrections automatically within the editors.
The Russian IRS layer has undergone a process discussed on the forum : https://forum.openstreetmap.org/viewtopic.php?id=6817