keep-right logodata consistency checks for OSM

These pages show checks that are run on a local excerpt database filled with OSM data.

Data Checks for Europe (Starting point Vienna, Austria)
Australian KeepRight partner site
Data Checks for Africa (Starting point Cairo, Egypt)
Data Checks for Canada (Starting point Québec)
Data Checks for USA (Starting point Philadelphia, PA)
Data Checks for Central America (Starting point Santo Domingo, Republica Dominicana)
Data Checks for South America (Starting point São Paulo, Brazil)
Data Checks for Asia (Starting point Tokio, Japan)Developers have a look at the SourceForge site providing svn access to the sources.
If you want to export errors from KeepRight you will want to have a look at the interfacing guide

logfile

2011-06-06

Currently there are some regions empty (no markers visible). I'm working on the problem and try to restore all error markers as soon as possible. It will take two days until everything will be fixed

2010-11-29

You'll notice some improvements on two checks and one completely new one coming up during the next days:
faintly connected roundabouts is a new sub-check for the roundabout check that will complain about roundabouts with less than three connections to other roads. This need not be an error, but at least it is questionable what faintly connected roundabouts are built for
language unknown is a new warning-type check that tries to improve localization by complaining about name tags where the language code cannot be deferred from other tags. Thank you, Ed, for the idea!
motorways connected directly-check had many false positives at rest areas (these are service highways that intentionally don't have an access restriction). I eliminated these using a heuristic method: service roads are OK if they lead to a parking area, a fuel station, a toilet or a restaurant. BTW: highway=services is something completely different and should not be used on ways. Thank you, Johan, for making me think about the problem again!

2010-06-20

There are a few more languages in the select box now. You can help translating KeepRight on the launchpad site. Thanks to all who helped!

2010-06-08

To avoid routing errors like this one I changed the check 'highways connected directly'. It will now complain about any connections of a motorway with a highway=service or highway=unclassified if it lacks an access=no or access=private tag or if it is not a service=parking_aisle.
I hope you agree that this inconvenience is necessary. Thank you, Nathan, for telling me about this!

For archeologists: Old log entries have moved.

a few words on the new comment feature

Please give a comment that helps me improve the check routines if you find a false-positive. Don't confuse the comment box with an editing feature. This is not Potlatch! You cannot add missing tags via KeepRight!

Please note that in order to make the JOSM link work, JOSM must already be running when you hit the JOSM-link. Furthermore you have to enable the 'remote control'-plugin in JOSMs options.

Currently the following checking procedures are implemented

multiple nodes on the same spot
Try to find nodes that are (almost) on the same spot. Distances less than +/-0.5 meters are considered zero

non-closed areas
By convention ways tagged with special combinations of key and value pairs are considered to be areas and are drawn as such in the map. Therefore it is necessary that they form closed loops. Non-closed areas are invisible in the map! The standard.xml file is used to determine which key-value-combinations are drawn as areas; any instance of these has to be closed-loop.

dead-ended one-ways
Streets tagged as one-way must not be dead-ended (where should all the cars pile at the end of the road?). Nodes where just one-way streets begin (or end) cannot be reached (escaped from). Please note that motorways and motorway_links are considered one-way implicitly, so this check applies.

almost-junctions
Streets that have (at least) one unconnected end are examined here. If such an end-node is very close to any other way an error is reported. Unconnected end-nodes should probably be connected to adjacent ways.

deprecated tags
As shown in http://wiki.openstreetmap.org/index.php/Deprecated_features some tags get replaced by others as new tagging conventions evolve. Consider this as a notice, not as an error. The term 'deprecated' is deprecated; you're free to tag anything the way you like. This is just a hint for new tagging conventions that have evolved in the meantime.

missing tags
Ways, nodes and relations should in most cases have at least one tag (besides created_by)

motorways without ref
The ref-tag documents the reference (e.g. 'A 10') for motorways. These are mandatory as they are very important information

places of worship without religion
Churches, mosques and synagogues etc. need an extra religion tag giving info about the religion

point of interest without name
The name tag should be specified for every point of interest as its content gets rendered in the map next to the POI symbol

ways without nodes
Ways that don't consist of at least two nodes don't make much sense as they won't get rendered.

floating islands
Any highways drawn on the map should be accessible by car starting anywhere in the world. Ferries and highways (even railway platforms) are included in this check, so almost any island in the sea should be reachable starting from the mainland.

railway crossings without tag
(Level)-Crossings of railways and highways should have a common node as junction that is tagged with 'railway=level_crossing' if it is a crossing where larger vehicles can cross or with 'railway=crossing' if it is a crossing just for pedestrians

wrongly used railway crossing tag
Ways that take part in level-crossings of railways and highways have to be on the same layer and should in the normal case be not tagged as bridge or tunnel

fixme-tagged items
Nodes, ways or relations that are tagged with FIXME should be reviewed...

relations without type
Find any relation that has no type tag, wich is mandatory for relations.

intersections without junctions
Streets that graphically intersect need a common node that represents the crossing. The only exception are intersections on different layers (eg. bridges or tunnels). Intersections of streets with other objects like waterways or riverbanks should be avoided

overlapping ways
Segments of ways that lie on top of each other (the same nodes connected by different ways in the same order) are a problem for routing software. They happen accidently and are hard to find.

loopings
Any way that contains any single node more than twice is considered an error. Any way may contain just one node twice. If more than one node is found twice it is considered an error.

misspelled tags
Tags that are used very seldom and almost look like very common tags (only one character difference) are reported as a warning.

layer conflicts
Connected ways should be on the same layer. Crossings on intermediate nodes of ways on different layers are obviously wrong. Junctions on end-nodes of ways on different layers are also deprecated, but common practice. So you may ignore this part of the check and switch them off separately. Please note that bridges are set to layer +1, and tunnels to -1, anything else to layer 0 implicitly if no layer tag is present.

motorways connected directly
Motorways should only be connected to other motorways or motorway_links. They should especially not be directly connected to highway=primary or highway=residential roads. Please note: This check may produce false positives on motorways ending in cities but it can be a valuable tool for looking up unwanted connections of motorways and other roads.

boundaries
Administrative Boundaries can be expressed either by tagging ways or by adding them to a relation. They should be closed-loop sequences of ways, they must not self-intersect or split and they must have a name and an admin_level.

restrictions
This check is about turn restrictions defined by relations. A turn restriction relation needs a valid type attribute, a way as 'from' member, another way as 'to' member and optionally one or more ways or nodes as via members that need to be connected to 'from' and 'to'

missing maxspeed
maxspeed tags are not mandatory but they are very helpful for successful routing. This check shall help users finding highways lacking the maxspeed tag. Please only add maxspeed tags if the allowed maxspeed differs from the default speed for the given highway!

roundabouts
roundabout are always one-way streets directed counter-clockwise in right-hand driving countries or clockwise in left-hand driving countries.

bridge-tags
Someone draws a bridge and forgets to tag it as highway... A bridge should always have one of the 'major' tags that its direct neighbour ways have. Currently these are: highway, railway, cycleway, waterway, footway, piste, aerialway, pipeline, building, via_ferrata

language unknown
To help applications choose the best matching language they should know the language used for the name tag. It is therefore necessary to provide a name:XX tag with the same content as found in the name tag where XX specifies the language used for the name tag.

non-physical use of sport-tag
'sports' is a non-physical tag that needs to be bound to some physical structure like for example a leisure-item or an amenity. Ways tagged with 'sports' solely will be invisible on the map.

missing tracktype
highway=track ways should be added with more detail about the tracktype (grade1..grade5). The tracktype is included in rendering rules and makes maps more expressive.

website
calls websites and tries to match website content with key tags from the osm element

If you find an error in my errors lists I would definitely like to hear about it!

Impressum

This work is done without commercial background, just for my personal pleasure. I would be very happy if it was helpful for the OSM Project.

If you like to contact me, my mailbox at the austrian server of gmx is labelled KeepRight.
Please understand that I will not always be able to immediately respond to your mail on weekdays.