0

I am looking for a shapefile or an Excel document (csv) with all the public transport stops (bus, underground, tram and train). I have searched on OpenStreetMap but I have problems downloading the data.

Do you have any suggestions for me or know where I could find such data?

When I go to https://overpass-turbo.eu/ and enter for example:

node
  [operator=BVG]
  ({{bbox}});
out;

node
  [operator="S-Bahn Berlin GmbH"]
  ({{bbox}});
out;

I get some results, but let us say 70% of the stations are missing. And the weirdest part is that I'm getting only amenity=vending_machine, not the "stops".

To sum up, my goal is to get a csv file, that contains:

  1. Name of the station
  2. What kind (U-Bahn [metro], S-Bahn, Bus or Tram)
  3. Lat/Lng

I found this wiki article about the Berlin Transportation, but it is not complete.

7

1 Answer 1

3

In wizard of overpass-turbo it looks something like this: railway=tram_stop or public_transport=station. See query below. Check osm for the exactly used types and tags:

enter image description here

When doing the query in overpass turbo make sure to zoom on that area you want to have your result at.

All stops in VBB:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“network="Verkehrsverbund Berlin-Brandenburg" and public_transport=stop_area”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “network="Verkehrsverbund Berlin-Brandenburg" and public_transport=stop_area”
  node["network"="Verkehrsverbund Berlin-Brandenburg"]["public_transport"="stop_area"]({{bbox}});
  way["network"="Verkehrsverbund Berlin-Brandenburg"]["public_transport"="stop_area"]({{bbox}});
  relation["network"="Verkehrsverbund Berlin-Brandenburg"]["public_transport"="stop_area"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Only Busstops:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“highway=bus_stop”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “highway=bus_stop”
  node["highway"="bus_stop"]({{bbox}});
  way["highway"="bus_stop"]({{bbox}});
  relation["highway"="bus_stop"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Subway and S-Bahn stops:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“public_transport=station”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “public_transport=station”
  node["public_transport"="station"]({{bbox}});
  way["public_transport"="station"]({{bbox}});
  relation["public_transport"="station"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Tramstops:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“railway=tram_stop”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “railway=tram_stop”
  node["railway"="tram_stop"]({{bbox}});
  way["railway"="tram_stop"]({{bbox}});
  relation["railway"="tram_stop"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Also note that OSM is never 100% accurate or complete. There might always be something missing or wrongly tagged.

If overpass turbo fails, you can alternatively extract your osm public transport data from this dataset: http://download.geofabrik.de/europe/germany.html

Simply remove everything you dont need. This dataset does not contain relations like busways. But Tramtracks or Subwaytracks as well as stops.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.