This test instance for checks now uses its own error database (no remote one like before) Enjoy!
For five years now KeepRight is my project, my hobby and my way of spending my spare time. The project has evolved from just an experiment about playing with databases to a mature source of quality assurance input. Many mappers rely on KeepRight's opinion, many mappers provided essential input, suggestions for new checks and bug fixes. It is a give and take that has always been a great experience. Your appreciation always meant very much to me!
For months I see that I cannot keep the pace solving issues with incoming requests. There are so many ideas that should be implemented!
Even more I seem to have lost the power necessary for undertaking major changes in the sources.
It seems a new epoche in my life has started and so this one has to end.
That is why I will stop my efforts in develpoing KeepRight. For the time being all services will stay online and updates will carry on as usual. I don't want to see KeepRight die, so if you have the courage and the patience necessary for continuing this work, please get involved! Think about it and contact me for any questions via keepright at gmx dot at
Thank you all,
Thank you very much!
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
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.
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.
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.
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.
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.
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
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).
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.
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.
Tags that are used very seldom and almost look like very common tags (only one character difference) are reported as a warning.
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.
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.
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'
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!
roundabout are always one-way streets directed counter-clockwise in right-hand driving countries or clockwise in left-hand driving countries.
Any highway tagged as (motorway|trunk|primary|secondary)_link should have at least one connection to a (motorway|trunk|primary|secondary) highway or a _link highway of the same type
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
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.
a node inside of an area that is tagged with same name and representing the same physical entity leads to wrong statistics and doubled labels on the map
non-physical use of sport-tag
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.
looks for impossible sharp angles on highways and junctions. These may be caused by missing turn restrictions on junctions or glitches along the linestring of ways
Numeric values are checked for correct format and matching units; lists of values that point to errors