Public transport/Quality Assurance

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Public transport/Quality Assurance
· Afrikaans · Alemannisch · aragonés · asturianu · Aymar aru · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · bamanankan · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · kurdî · Latina · latviešu · Lëtzebuergesch · lietuvių · Limburgs · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Türkmençe · Vahcuengh · vèneto · walon · Wolof · Yorùbá · Zazaki · isiZulu · српски / srpski · авар · Аҧсшәа · башҡортса · беларуская · български · қазақша · Кыргызча · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · भोजपुरी · मराठी · संस्कृतम् · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

While transitioning from the old Public transport tagging schema to the newer Public_Transport some inconsistencies can appear.

JOSM

JOSM validators already contains some checks about the relations consistencies.

​Jungle Bus validation ruleset (fr) provide a few more. (source)

PT Assistant also have dedicated ptv2 validation rules.

Osmose

Osmose has several analysers on public transport data

OSMInspector

OSM Inspector as dedicated views for Public Transport Stops and Routes

Other tools

Many transport visualization tools can be use for QA, such as OSMTransportViewer.

See AwesomeTransportTools for more

Overpass Queries

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

Overpass query: 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 platform

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

node({{bbox}})[public_transport=stop_position]->.a; // Find stop_positions
(
  node({{bbox}})[public_transport=platform];
  way({{bbox}})[public_transport=platform];
  rel({{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_position

Overpass query:

(
  node({{bbox}})[public_transport=platform];
  way({{bbox}})[public_transport=platform];
  rel({{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];
  rel(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 without network=*

Overpass query:

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

Overpass Turbo