Maps/Mapping London Underground stations on OSM

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

1 Pages you might want to look at[edit]

1.1 OSM links and pages on this wiki[edit]

1.2 Lines on London Underground[edit]

Lines on London Underground OSM/Load into JOSM

1.2.1 Central[edit]

1.3 Pages you might want to look at[edit]

2 Getting started: Improving individual nodes[edit]

A potentially good place to start is to look at individual entrances. There's a fair bit of information to be added, such as entrance names, references, and wheelchair access.

Have a look at these queries:

Unless you've got a fair bit of experience, OSMAND is probably the best choice to fix individual entrances, see some background discussion on Collecting geodata and mapping, and a terse tutoria at OSMAND.

2.1 Stations[edit]

You could also improve the data available for stations - a spreadsheet with data fetched via overpass is available here:cÍ https://docs.google.com/spreadsheets/d/1w86pZz1fiiEjfCZMVRB3PecrfRGYHtURWOx4YGrcd4E/edit?usp=sharing

3 How to find information about stations on the London Undergound[edit]

The rest of this page is about improving more complex station features, and assumes that you know some basics about JOSM, overpass, etc.

Let's get started.

3.1 Read the OSM Wiki[edit]

3.2 Looking for stations[edit]

To get your bearings, y.ou can start by looking for stations. You can get stations like this:

railway=station

e.g.

[out:json][timeout:25];
(
  node["railway"="station"]({{bbox}});
  way["railway"="station"]({{bbox}});
  relation["railway"="station"]({{bbox}});
);
out body;
>;
out skel qt;

http://overpass-turbo.eu/s/hip

You can narrow this down with

network=London Underground
operator=Transport for London

It seems that operator=TfL is also used, however, "operator=Transport for London" is the recommended tag.

3.3 Looking for existing relations[edit]

If you look at the relations section on http://wiki.openstreetmap.org/wiki/London_public_transport_tagging_scheme, you'll see what relations are used (or supposed to be used). Relations should be tagged as follows:

name=X
network=London Underground
operator=Transport for London
public_transport=stop_area
type=public_transport

You can e.g. use http://overpass-turbo.eu to look these up on a map. E.g.

[out:json][timeout:50];
(
  relation["type"="public_transport"]["public_transport"="stop_area"]({{bbox}});
);
(._;>;);
out meta;

Try in overpass. This returns quite a few relations, but many of them are to do with busses. However, it's a good basic query to see what's around in your area, before creating new relations.

[out:json][timeout:50];
(
  relation["type"="public_transport"]["public_transport"="stop_area"]["network"="London Underground"]({{bbox}});
);
(._;>;);
out meta;

Try this in overpass.

[out:json][timeout:50];
(
  relation["network"="London Underground"]({{bbox}});
);
(._;>;);
out meta;

Try this. You can add some better colours like this: http://overpass-turbo.eu/s/him to highlight the features you want. Here are some example images: samples.

Hopefully you'll already find a relation for the station that you're interested in, and you can then load that relation e.g. in iD/JOSM and edit how.

3.4 There isn't an existing relation ... how to find bits ...[edit]

The following query is more complex, but essentially it's pulling out platforms and subway entrances, and then adds footways and elevators. That will give you a fair amount of information as to what elements have already been mapped nearby.

[out:json][timeout:50];
(
  node["railway"="platform"]({{bbox}});
  way["railway"="platform"]({{bbox}});
  relation["railway"="platform"]({{bbox}});
  node["railway"="subway_entrance"]({{bbox}});
  way["railway"="subway_entrance"]({{bbox}});
  relation["railway"="subway_entrance"]({{bbox}});
) ->.a;
(.a);
out meta;
(.a; >;);
out meta qt;
 (
  node["railway"="subway_entrance"]({{bbox}});
  <;
 // >;
   );
out meta qt;

(.a; 
 way(around: 200)["tunnel"="yes"]["highway"="footway"]; 
 >;
);
out meta qt;

(.a; 
 way(around: 200)["tunnel"="yes"]["highway"="steps"]; 
 >;
);
out meta qt;

(.a; 
 node(around: 200)["highway"="elevator"];
 >;
);
out meta qt;

http://overpass-turbo.eu/s/hig

4 Overpass gotcha[edit]

Should a key="A;B" not match A and B in overpass? For example, "line"="Jubilee;Piccadilly;Victoria" is retrieved only by

way["line"="Jubilee;Piccadilly;Victoria"];

and not by

way["line"="Jubilee"];

See these two links: http://overpass-turbo.eu/s/hjC http://overpass-turbo.eu/s/hjD

About multiple values: http://wiki.openstreetmap.org/wiki/Multiple_values, https://blog.jochentopf.com/2013-09-23-semicolons-in-osm-tags.html

line doesn't seem to be an official tag anyway, but if you want to use it, you'd have to use a match: http://overpass-turbo.eu/s/hjE