Maps/Transport for London/stations vs. stop position

From Bjoern Hassler's website
Jump to: navigation, search

1 Stations, stop_positions, etc[edit]

This is about osm:tag:public_transport=stop_position, a node for which:

  • public_transport=stop_position
  • subway=yes / no
  • train=yes / no

The node should be on the relevant tube line.

1.1 Description[edit]

In overpass-turbo settings, you may want to put Tiles Opacity at 0.2, and not enable "Don't display small features as POIs."

We're only looking at London Underground, so just look at features along blue lines.

In this query:

  • stop_areas: green boxes (or dots at larger scales, unless you have enabled "Don't display small features as POIs.")
    • relation[public_transport=stop_area]: green;
  • stop_positions
    • way[public_transport=stop_position], node[public_transport=stop_position]: yellow;
    • Should generally have "subway"="yes" (no fill)
    • Sometimes have train=yes (when it may relate to subway, though a bit hard to determine with this query) (yellow line, yellow fill) - if these are on blue lines, with no national rail nearby, these should be checked
    • However, sometimes don't have that tag (shown with red line, yellow fill)
  • Railway stations: purple
    • way[railway=station], node[railway=station]: purple;
  • Underground lines: blue
    • relation color: blue;

Irregular tagging:

Tags (see tags):

Also, the stop_positions are not ordered well: Maps/Transport_for_London/Lines.

2 Images[edit]

2.1 Underground line (blue), stop area (green), station (purple), but no stop position[edit]

Transport for London - stations vs. stop position 01.png


2.2 Top: no tube line, stop position in yellow (filled) -> OK; Bottom: Underground line (blue), station (purple), but stop position in yellow (filled, check tags) and no stop area in green (add stop area)[edit]

Transport for London - stations vs. stop position 02.png

2.3 Underground line (blue), station (purple, hard to see), and stop positions in yellow (hollow, so tagged correctly), stop area in green -> all good[edit]

Transport for London - stations vs. stop position 03.png

2.4 Underground line (blue), station (purple), stop area in green, stop positions in yellow, but with red circle (needs tagging)[edit]

Transport for London - stations vs. stop position 04.png

2.5 red node: quite likely an untagged node used with role "stop" in the blue underground line[edit]

Transport for London - stations vs. stop position 05.png

3 Images for full query[edit]

You'll need to zoom in a fair bit before you can make sense of it :)

Transport for London - stations vs. stop position 06.png

Transport for London - stations vs. stop position 07.png

Transport for London - stations vs. stop position 08.png

4 Query[edit]

Overpass-turbo (run)
Overpass-turbo (run)
Overpass-turbo (view)
// REVISED Stop_positions vs. stop_areas vs. stations London Underground
[out:json][timeout:25];
area[name~"^(London|City of London)$"][admin_level=6][boundary=administrative]->.lndn;
{{london=(area.lndn)}}
//{{bbox}}->.londonx
//{{londonx=({{bbox}})}};

// Stop areas London Underground
{{ptsa=["public_transport"="stop_area"]["network"~"London Underground"]}}
(
  relation{{ptsa}};
)->.a;
out bb qt;

// stop_position
{{ptsps=["public_transport"="stop_position"]["subway"="yes"]}}
{{ptspt=["public_transport"="stop_position"]["train"="yes"]}}
(
  node{{ptsps}}{{london}};
  node{{ptspt}}{{london}};
)->.a;
(.a;);
out geom qt;

/*
// Lines via relations for stop_positions
(<;)->.b;
( node.b{{sel}};
  way.b;
relation.b;);
out geom;
*/

// Add lines
{{sele=["network"="London Underground"]["type"~"route"]}}
(
  relation{{sele}};
)->.a;
(.a;);
(.a; >>;) -> .b;
(relation.b;);
out geom qt;

// railway_station
{{station=["railway"="station"]}}
(
  node{{station}}{{london}};
  way{{station}}{{london}};
  relation{{station}}{{london}};
);
out meta qt;
>;
out skel qt;

// Look for extra stop_positions within lines (without subway/train=yes)
{{ptsp=["public_transport"="stop_position"]}}
(
  node.b{{ptsp}}{{london}};
  way.b{{ptsp}}{{london}};
);
out meta qt;
>;
out skel qt;

// Look for other tags
// https://taginfo.openstreetmap.org/tags/public_transport=stopping_position -> 7 occurrences
{{ptsgp=["public_transport"="stopping_position"]}}
(
  node.b{{ptsgp}}{{london}};
);
out meta qt;

// railway=stopping_point
// https://taginfo.openstreetmap.org/tags/railway=stopping_point -> 17 occurrences
{{rsp=["railway"="stopping_point"]}}
(
  node{{rsp}}{{london}};
  way{{rsp}}{{london}};
);
out meta qt;
>;
out skel qt;

/*
relation node {
  symbol-fill-opacity: 50;
  symbol-stroke-color: blue;
  symbol-stroke-with: 1;
  symbol-fill-color: green;
  symbol-size: 6;
}*/

{{style:
node {
  symbol-fill-opacity: 0.8;
  symbol-stroke-color: red;
  symbol-stroke-with: 1;
  symbol-fill-color: red;
  symbol-size: 10;
}
way {
  opacity: 0.5;
  color: green;
  width: 2;
}
relation {
  opacity: 0.8;
  color: blue;
  fill-color: none;
  width: 2;
}
relation[public_transport=stop_area], relation[public_transport=stop_area] node, relation[public_transport=stop_area] way {
  symbol-stroke-color: green;
  symbol-fill-color: green;
  symbol-fill-opacity: 0;
  symbol-size: 5;
  color: green;
}
way[railway=stopping_point], node[railway=stopping_point] {
  symbol-fill-opacity: 0.8;
  symbol-stroke-color: orange;
  symbol-stroke-with: 4;
  symbol-fill-color: orange;
  symbol-size: 13;
}
way[public_transport=stopping_position], node[public_transport=stopping_position] {
  symbol-fill-opacity: 0.8;
  symbol-stroke-color: orange;
  symbol-stroke-with: 4;
  symbol-fill-color: orange;
  symbol-size: 13;
}
way[public_transport=stop_position], node[public_transport=stop_position] {
	color: yellow;
    symbol-stroke-color: red;
    symbol-fill-color: yellow;
    symbol-fill-opacity: 0.5;
    symbol-stroke-with: 3;
    symbol-size: 15;
}
way[public_transport=stop_position][train=yes], node[public_transport=stop_position][train=yes] {
	color: yellow;
    symbol-stroke-color: yellow;
    symbol-fill-color: yellow;
    symbol-fill-opacity: 0.5;
    symbol-stroke-with: 3;
    symbol-size: 15;
}
way[public_transport=stop_position][subway=yes], node[public_transport=stop_position][subway=yes] {
	color: yellow;
    symbol-stroke-color: yellow;
    symbol-fill-color: yellow;
    symbol-fill-opacity: 0;
    symbol-stroke-with: 3;
    symbol-size: 15;
}
way[railway=station], way[railway=station] node, node[railway=station] {
	color: purple;
    opacity: 0.5;
    symbol-stroke-color: purple;
    symbol-fill-opacity: 0;
    symbol-stroke-with: 2;
    symbol-size: 20;
}
}}

5 Checking tags on the lines[edit]

5.1 Display CSV[edit]

Overpass-turbo (run)
Overpass-turbo (run)
Overpass-turbo (view)
// Tagged nodes on LU lines
[out:csv(::type,::id,railway, public_transport, subway, name;true;" || ")][timeout:25];
{{sel=["network"="London Underground"]["type"~"route"]}}
(
  relation{{sel}};
)->.a;
(.a; >>;)->.b;
(node.b[~"."~"."]["created_by"!~"JOSM|Yahoo"];);
out meta;

5.2 Check map[edit]

Overpass-turbo (run)
Overpass-turbo (run)
Overpass-turbo (view)
// Tagged nodes on LU lines
// [out:csv(::type,::id,railway, public_transport, subway, name;true;" || ")]
[out:json][timeout:25];
{{sel=["network"="London Underground"]["type"~"route"]}}
(
  relation{{sel}};
)->.a;
(.a);
out geom;
(.a; >>;)->.b;
(node.b[~"."~"."]["created_by"!~"JOSM|Yahoo"];);
out meta;
{{style:
node[railway=station] {
  symbol-fill-color: purple;
  symbol-stroke-color: purple;
symbol-size: 15;
}
node[railway=stop], node[public_transport=stop_position] {
  symbol-fill-color: green;
  symbol-stroke-color: green;
  symbol-size: 15;
}
}}