WayCheck

From OpenStreetMap Wiki
(Redirected from Waycheck)
Jump to: navigation, search
Help
Available languages
Deutsch English

WayCheck (now checkconn, checkcross and checktouch) was developed by Gary68 as a Quality Assurance tool to improve the quality of OSM data particularly for routing applications. It is a program which takes a definition, an OSM and an output file and checks the data in different modes. It checks for

Output is an HTML file which can be published or acted upon. In the file there are several useful links regarding the potential problem.

For each run you have to provide a definition file for the checks to be done. While running it shows status information. When ready the output file is provided at the given location.

Contents

What to do with the result

It is a good idea to follow the links to OSM and Openstreetbugs. Eventually open the data layer and look what the area looks like. It might be necessary to look at the data in JOSM to locate the "problem"! Now either correct the data if you are able or post the problem in Openstreetbugs using the given link.

False positives

Please beware of false positives! Each result line has to be evaluated carefully! A result might have several reasons:

Standard Checks

Because of the immense workload these checks produce data cannot be provided on a regular basis. But if needed Gary can provide reports upon request.
You can find several reports done on the German WayCheck page

Highway C1

This check takes the motorways and trunks and checks for crossings/intersections with other major roads (primary/secondary/tertiary).

Reports

Switzerland

Definition file

<XML>
  <k="mode" v="X">
  <k="dist" v="10">
  <k="check" v="highway:motorway">
  <k="check" v="highway:motorway_link">
  <k="check" v="highway:trunk">
  <k="check" v="highway:trunk_link">
  <k="against" v="highway:primary">
  <k="against" v="highway:primary_link">
  <k="against" v="highway:secondary">
  <k="against" v="highway:tertiary">
  <k="against" v="junction:roundabout">
</XML>


Highway ConnectionsC11

This check takes the motorways and trunks and their links and checks for connections with other roads. Attention false positives at the border of OSM files!!!

Reports

Definition file

<XML>
  <k="mode" v="AP">
  <k="dist" v="50">
  <k="check" v="highway:motorway">
  <k="check" v="highway:motorway_link">
  <k="check" v="highway:trunk">
  <k="check" v="highway:trunk_link">
  <k="against" v="highway:primary">
  <k="against" v="highway:primary_link">
  <k="against" v="highway:secondary">
  <k="against" v="highway:tertiary">
  <k="against" v="highway:service">
  <k="against" v="junction:roundabout">
  <k="against" v="highway:residential">
  <k="against" v="highway:unclassified">
  <k="against" v="amenity:parking">
</XML>

Highway touch check C13

This check looks for ways (motorways/trunks) which are nearly touched by another way and so maybe there is a connection missing. Definition file like C1.

Cycleway Check C2

This check looks for cycleways with starts and ends that are not connected with appropriate other ways.

Reports

Definition file

<XML>
  <k="mode" v="A">
  <k="dist" v="10">
  <k="check" v="highway:cycleway">
  <k="against" v="highway:cycleway">
  <k="against" v="highway:primary">
  <k="against" v="highway:primary_link">
  <k="against" v="highway:secondary">
  <k="against" v="highway:tertiary">
  <k="against" v="highway:unclassified">
  <k="against" v="highway:road">
  <k="against" v="highway:residential">
  <k="against" v="highway:living_street">
  <k="against" v="highway:service">
  <k="against" v="highway:track">
  <k="against" v="highway:path">
  <k="against" v="highway:footway">
  <k="against" v="highway:byway">
  <k="against" v="junction:roundabout">
  <k="against" v="route:ferry">
  <k="against" v="amenity:parking">
</XML>

Motorway check

Oneway problems on motorways: MotorwayCheck

Residential Check C3

This check only takes residentials and checks for crossings.

Reports

Definition file

<XML>
  <k="mode" v="X">
  <k="dist" v="2">
  <k="check" v="highway:residential">
  <k="against" v="highway:residential">
</XML>

Residential touch check C33

This check looks for ways (residentials) which are nearly touched by another residential and so maybe there is a connection missing. Definition file like C3.

Track Check C4

This check takes all tracks and checks for crossings with other appropriate ways.

Reports

Definition file

<XML>
  <k="mode" v="X">
  <k="dist" v="3">
  <k="check" v="highway:track">
  <k="against" v="highway:cycleway">
  <k="against" v="highway:residential">
  <k="against" v="highway:path">
  <k="against" v="highway:footway">
  <k="against" v="highway:byway">
  <k="against" v="amenity:parking">
</XML>

Primary/Secondary/Tertiary Check Crossing C5

This check takes primary, secondary and tertiary roads and checks against other roads for crossings.

Reports

Definition file

<XML>
  <k="mode" v="X">
  <k="dist" v="10">
  <k="check" v="highway:primary">
  <k="check" v="highway:primary_link">
  <k="check" v="highway:secondary">
  <k="check" v="highway:tertiary">
  <k="against" v="highway:motorway">
  <k="against" v="highway:motorway_link">
  <k="against" v="highway:trunk">
  <k="against" v="highway:trunk_link">
  <k="against" v="highway:unclassified">
  <k="against" v="highway:road">
  <k="against" v="highway:residential">
  <k="against" v="junction:roundabout">
  <k="against" v="amenity:parking">
</XML>

Primary/Secondary Connection Check C51

This check takes primary and secondary roads and checks against other roads for connections at beginning and end. CHANGE: checkways now without tertiary!

Reports

Definition file

<XML>
  <k="mode" v="AP">
  <k="dist" v="10">
  <k="check" v="highway:primary">
  <k="check" v="highway:primary_link">
  <k="check" v="highway:secondary">
  <k="against" v="highway:tertiary">
  <k="against" v="highway:motorway">
  <k="against" v="highway:motorway_link">
  <k="against" v="highway:trunk">
  <k="against" v="highway:trunk_link">
  <k="against" v="highway:unclassified">
  <k="against" v="highway:road">
  <k="against" v="highway:service">
  <k="against" v="highway:residential">
  <k="against" v="junction:roundabout">
  <k="against" v="route:ferry">
  <k="against" v="amenity:parking">
</XML>

Primary/Secondary touch check C53

This check looks for ways (primary/secondary) which are nearly touched by other ways and so maybe there is a connection missing. Definition file like C5.

Waterway Check C6

This one checks waterways against roads for crossings.

Reports

Definition file

<XML>
  <k="mode" v="X">
  <k="dist" v="3">
  <k="check" v="waterway:river">
  <k="check" v="waterway:riverbank">
  <k="check" v="waterway:canal">
  <k="check" v="waterway:stream">
  <k="check" v="waterway:drain">
  <k="against" v="highway:motorway">
  <k="against" v="highway:motorway_link">
  <k="against" v="highway:trunk">
  <k="against" v="highway:trunk_link">
  <k="against" v="highway:primary">
  <k="against" v="highway:primary_link">
  <k="against" v="highway:secondary">
  <k="against" v="highway:tertiary">
  <k="against" v="highway:unclassified">
  <k="against" v="highway:road">
  <k="against" v="highway:residential">
  <k="against" v="junction:roundabout">
</XML>

Way dupe check C60

This one checks for duplicate ways.

Reports

Way dupe check reports

FerryCheck C61

This one checks for unconnected ferries

FerryCheckC61

Modes

There currently are three modes:

Output fields

Mode A/B

Heading Meaning
Way Way type of checked way
Name/Ref Name and Ref, if given
ID The ID of the way
Issues Found „problems“
Position Longitude and Latitude for orientation
Start Link to OSM, OSB and JOSM (local with remote plugin running) - begin of way
End Link to OSM, OSB and JOSM (local with remote plugin running)- end of way
History Link to history

Mode X

Heading Meaning
Line Line count
Way1 ID of first way with link to history
Way2 ID of second way with link to history
Type1 Type first way
Type2 Type second way
Name1 Name/Ref first way
Name2 Name/Ref second way
Seg1 Segment first way
Seg2 Segment second way
Pos Longitude and Latitude for orientation
Lay1 Layer way one
Lay2 Layer way two
Tun1 Tunnel value way 1, if given
Tun2 Tunnel value way 2, if given
Bri1 Bridge value 1st way, if given
Bri2 Bridge value 2nd way, if given
OSM Link to Openstreetmap
OSB Link to Openstreetbugs
Josm Link to JOSM (load and zoom) - JOSM has to be running and plugin "remote" must be installed

Source code

2nd generation code

Old versions

Wishes next program version

Personal tools
Namespaces
Variants
Actions
site
Toolbox