Public transport/Quality Assurance

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages
English

Do your own QA via custom queries

While transitioning from the old Public transport tagging schema to the newer Public_Transport some inconsistencies can appear. Via Overpass, you can find some of these inconsistencies.

Highway=bus_stop without a public_transport=* tag

The first stage of transitioning from highway=bus_stop to Public_Transport is to apply either public_transport=stop_position or public_transport=platform to each highway=bus_stop

Overpass query

node({{bbox}})[highway=bus_stop][public_transport!~'platform|stop_position'];
out meta;

Overpass turbo

Stop_position or Platform not within a stop_area relation

After tagging stop_positions and platforms, each objects related to a stop should be grouped in a public_transport=stop_area relation.

Overpass query

node({{bbox}})[public_transport~'stop_position|platform ']->.a;
rel(bn.a)[type=public_transport];
node(r)->.b;
(.a; - .b;);
out meta;

Overpass turbo

Stop_position without platforms

In most cases a stop_position should have a platform not far from it

node({{bbox}})[public_transport=stop_position]->.a; // Find stop_positions
(
  node({{bbox}})[public_transport=platform];
  way({{bbox}})[public_transport=platform];
);// Find platforms
node(around:50.0)[public_transport=stop_position]; // Then look around for stop_positions from each platform
(.a; - ._;); // Intersection of the two sets, which give us stop_positions without platforms
out meta; // Needed for JOSM exports

Overpass Turbo

Platform without Stop_positions

Again, this should not be the case

(
  node({{bbox}})[public_transport=platform];
  way({{bbox}})[public_transport=platform];
)->.a; // Find platforms
node({{bbox}})[public_transport=stop_position]; // Find stop_positions
(
  node(around:50.0)[public_transport=platform];
  way(around:50.0)[public_transport=platform];
); // Then look around for platforms near stop_positions.
(.a; - ._;); // Intersection of the two sets, which give us platforms without stop_position
out meta; // Needed for JOSM exports

Overpass Turbo

Public transport objects with operator=* and no network=*

(
  node({{bbox}})[public_transport][operator][network!~'.'];
  way({{bbox}})[public_transport][operator][network!~'.'];
  rel({{bbox}})[public_transport][operator][network!~'.'];
); 
out meta; // Needed for JOSM exports

Overpass Turbo

Existing QA sites

Next to doing your own QA, you can also use the view of existing QA tools