Developers have a look at the Github site providing access to the sources.If you want to export errors from KeepRight you will want to have a look at the interfacing guide

logfile

2016-05-26

This test instance for checks now uses its own error database (no remote one like before) Enjoy!

2013-9-30 - help needed!

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

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 spotTry to find nodes that are (almost) on the same spot. Distances less than +/-0.5 meters are considered zero

non-closed areasBy 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-waysStreets 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-junctionsStreets 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 tagsAs 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 tagsWays, nodes and relations should in most cases have at least one tag (besides created_by)

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

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

point of interest without nameThe 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 nodesWays that don't consist of at least two nodes don't make much sense as they won't get rendered.

floating islandsAny 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 tagWays 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 itemsNodes, ways or relations that are tagged with FIXME should be reviewed...

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

intersections without junctionsStreets that graphically intersect need a common node that represents the crossing. The only exception are intersections on different layers (eg. bridges or tunnels).

overlapping waysSegments 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.

loopingsAny 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 tagsTags that are used very seldom and almost look like very common tags (only one character difference) are reported as a warning.

layer conflictsConnected 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 directlyMotorways 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.

boundariesAdministrative 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.

restrictionsThis 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 maxspeedmaxspeed 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!

*_link-connectionsAny 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

bridge-tagsSomeone 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 unknownTo 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.

doubled placesa 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-tagN

missing tracktypehighway=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.

geometry glitcheslooks 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

suspicious valuesNumeric values are checked for correct format and matching units; lists of values that point to errors

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.