Contributing to OpenStreetMap by purely sitting at home tracing from aerial imagery might lead to bad maps. This kind of "armchair mapping" might be based on outdated, warped or misplaced photos and only verified data is good data. Certainly the most valuable kind of contribution involves mapping your area based on your local knowledge, or visiting an area and surveying on-the-ground to gather data. The exact placement of roads and other features can also be assisted by Recording GPS tracks on the ground. Satellite images clearly provide useful assistance in the mapping process, but it can be a bad idea to move objects on the map, created by others, based purely on the position of satellite images. They often can be distorted and shifted relative to real object locations.
Imagery and OSM
Why does imagery have an offset? Initially it starts life as photos and satellite coordinates. Special software is then used to calculate the position of each photo's corners. Typically higher resolution images allow more precise calculation to be done. But there are thousands of photos and the Earth's surface is not a perfect ellipsoid. Imagery providers can't check the accuracy of each and every photo and so coordinates become slightly offset from reality. That is the reason why imagery in the best case will be shifted by 1-2 metres and sometime hundreds of metres. In mountainous or hilly areas imagery will often have non-linear distortions.
Unfortunately GPS tracks can also have distortions. Radio signals are reflected close to buildings and this can cause a bad initial fix. As satellites pass overhead, your position may be triangulated with improved or degraded accuracy over time. Weather conditions and atmospheric interference can also be factor. The result is that GPS tracks will frequently also have an offset from reality. This may correct itself or get worse through the duration of a long recorded track. All GPS devices give similar data and similar problems, but on the whole offsets are limited to around 15 metres, so while it's not necessarily better to rely on a GPS trace for accurate positioning, it can be more accurate than aerial imagery in some areas.
By recording several tracks on different days we can average things out, and spot GPS traces which had a bad fix. In this way we might hope to arrive at an ultimate placement of imagery in a particular area, but this is an awkward process to go through.
Before adjusting aerial imagery you need to choose certain "known" reference points, i.e. data points with known locations. Such reference points might include:
- GPS-tracks. Generally the best source. 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's better to reference aerial imagery using an area with a high number of tracks (to reduce the average error). All this said, GPS traces are generally the least unreliable source of data to help you align aerial imagery.
- 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. But you need to take in account that offset can be different even for single photos and in some places can dramatically change from block to block.
- Objects on the map. It 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 imaginary with known coordinates. If you know the accurate coordinates for some objects, you can use such objects for imaginary offset. Just match those objects on the map and bottom layer.
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 didn't upload them to the server. Or opposite, 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 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' in when editor is open (or click icon with layers). Then click text "align imagery" and you will see 4 arrows to calibrate offset.
Will use data from Imagery Offset Database.
To download all GPS data around mapping area press «G» for Potlatch 1 or button «GPS Data» for Potlatch 2. Probably you will not use first version of editor. It's not able to handle Bing imagery. But you can change bottom layer using menu «Background». Hold «space» and move imagery until tracks or map objects will be matched depending on your favourite method.
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 will appear additional layer «Downloaded GPX data». Then you can add imagery layer using «Imagery» menu. While mapping you can hide layer «Downloaded GPX data» if it interferes you.
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 opened window you can look at area around to check if offset is similar. After mapping you can bookmark offset inputting name for future use.
Other examples: [JOSM_offset_images].
Authors never use this editor, but it's known you can offset imagery similar to Potlatch holding «space» button.
After offset has done you can start editing, but remember moving away from initial area, keep checking offset and move imagery again if necessary.
It looks like everything is OK in this picture, and the roads are placed correctly, but take a look at the next picture:
In this picture you can clearly see roads are offset away. Offset around 20 metres (65 feet). Match imagery with GPS tracks. Move all roads' nodes and set buildings according to the shifted imagery.
Now it's much better. In this picture you can see the road (marked red) is still not matching imagery layer because of village is on the valley and road is on a hill. It's lead to change of imagery offset, and we need to move it again. But in this case it's easy just to use tracks.
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 : http://forum.openstreetmap.org/viewtopic.php?id=6817