x

Major problems with public_transport scheme


Geschrieben von mboeringa (Gast) am 29. Oktober 2014 14:19:17: [flux]

Hi all,

Sorry to post this in English, but although I can read German, my writing skills are lacking a bit, and it would take to much time to explain this in German. You may answer in German though, as I have no problem understanding and reading it.

The reason I am posting this in the German forum, is that the public_transport scheme seems to have its origin mainly in the German language countries, so I post here. Additionally, I had seen other recent discussion here related to railway tagging (e.g. http://forum.openstreetmap.org/viewtopic.php?id=27395 ) with suggestion for changes, so it may be relevant to you all here.

As most of you probably know by now, I have been working on a completely new OSM renderer based on ArcGIS (http://forum.openstreetmap.org/viewtopic.php?id=26451). For this development effort, I have also been looking at the public_transport scheme as a source of data for rendering of railway/train stations.

Now I have noticed a couple of major issues in the scheme, that I would like to know your opinions about, as they seriously hamper rendering railway stations and their names:

- 1A) Currently, the public_transport scheme distinguishes public_transport=station, and public_transport=stop_position as the major tags for defining "stops" where people can board a means of public transportation. Unfortunately, the current Wiki proposal, only puts the relevant modes of transport (train, subway, tram, bus etc.) on the public_transport=stop_position tagging scheme, and doesn't associate any of this information with the public_transport=station tag. This means it is impossible to tell what type of "station" we are dealing with (better said, what modes of public transport are available: train, subway, tram etc.), e.g. is it a railway station, or just a bus station, or both???

- 1B) There is a public_transport=stop_area relation tagging scheme that is supposed to solve the above issue by defining a "relation" that includes all features (station, platform, stop_position and more) associated with a "stop", but this causes more problems:

  • Complex relations like this are not easily defined in some of the OSM editors, hence the public_transport=stop_area is likely not defined for most railway stations/"stops", making it impossible to tell which public_transport=stop_position are associated with a certain public_transport=station
  • Deriving which modes of transport are associated with a public_transport=station tag becomes hideously complex for a renderer, as it requires to first determine what public_transport=stop_area relation is associated with a specific public_transport=station tag, then determine what public_transport=stop_position are associated with it, and finally what modes of transport each public_transport=stop_position has. From a practical point of view in rendering, with most renderers based on RDBMSs like PostGIS, this is particularly complex, requiring a major amount of coding and complex SQL queries, if it is even possible, since some renderers may not have access to the required relation information. This latter problem is one I encounter, since my OSM Renderer for ArcGIS can not access this relation information in any practical manner (it depends on ESRI's "ArcGIS Editor for OSM, which doesn't give me access to these relations directly, although it does store relation information in database fields).

- 2) The tagging scheme / Wiki page includes train, subway, light_rail, monorail as valid modes of "train type" of transport to tag on a public_transport=stop_position. It omits "funicular","narrow_gauge" and "preserved" that are part of the existing scheme (https://wiki.openstreetmap.org/wiki/Key:railway). This is probably a conscious decision, as these are not necessarily a mode of transport distinct from train, but more a kind of "attributes" of a line, but at least for funicular, which is associated with a very particular type of "train", it could be argued that this leads to a loss of information, while it also might be desirable in some cases to render narrow_gauge and preserved stations distinctly. Unfortunately, there is no substitute or alternative tag to document these in the public_transport scheme.

Please note that "abandoned", "disused" and "construction" are not relevant here, as they are not a specific mode of transport, while funicular, narrow_gauge and preserved could, at least slightly, be argued to be "modes of transport" associable with a station... (although narrow_gauge could be implicitly captured by gauge=*, but gauge is not a tag for stations, but rather for the actual tracks: https://wiki.openstreetmap.org/wiki/Key:gauge )

- 3) No inherent way to tell "main" public_transportation=station from "minor" ones, as there is no tag in the public_transportation=station tagging scheme designed to "rank" the (admittedly arbitrary) "importance" of stations. E.g. the "old" railway scheme had railway=station and railway=halt, and there is the less used but documented station=* (station=subway, station=light_rail; https://wiki.openstreetmap.org/wiki/Key%3Astation ). These may not have been a ideal schemes either, but do allow some distinguishing of a minor halt from a major railway station with more facilities and transport modes, and associate specific symbology or labelling with it during rendering.

- 4) Unclear from the Wiki how small railway stations (e.g. one track, small halt) actually should be mapped. It is likely people will only add a public_transportation=stop_position node, omitting a public_transportation=station. Unfortunately, this means the station is unlikely to receive any name label in rendering, because that would require to start labelling all public_transportation=stop_position nodes. While labelling public_transportation=stop_position is not invalid by itself, it does raise an issue with major "transportation hub" type railway stations, as railway stations may have many public_transportation=stop_position associated with them, on each single track along a platform, for routing purposes. This will cause a labelling mess... In addition, the name of the public_transportation=stop_position may not be appropriate for labelling, as it may contain additional info like platform name, and hence be unsuitable as a substitute of a proper name tag for a station. For an example of a station with quite a big number of public_transportation=stop_position nodes, see this Overpass Turbo query of Düsseldorf Hbf:

http://overpass-turbo.eu/s/5FY

*** My suggestions ***:

- 1) Document in the Wiki that public_transport=station should - compulsory(!) - have associated train=yes, light_rail=yes, subway=yes, tram=yes, bus=yes etc. tags as appropriate to the station, so that it is possible to distinguish which modes of public transportation are available on the station without needing the public_transport=stop_position tags. Please note I am not suggesting here to stop using public_transport=stop_position, but to additionally tag the station with all its transport modes. This will make it far easier for renderers to provide proper symbology and labeling suited / adjusted to the particular type of "station".

- 2) Add some way to tag "funicular", "narrow_gauge" or "preserved" with a public_transport=station, maybe simply by adding them as funicular=yes, narrow_gauge=yes and preserved=yes, similar to the other modes, but other suggestions are welcome to be discussed here.

- 3) Maybe add - and document it properly in the wiki! - a new tag for ranking stations, e.g. with maybe a scale of 1 to 3 for the importance (please keep the amount of rankings to a minimum)? This could be used to label and show stations at specific scales, e.g. major transportation hubs servicing "intercity" or "express" trains already shown and labelled in 1:250K maps, while minor ones could only be shown from 1:25k and below.

- 4) Document in the Wiki that each-and-every railway station, even if just a "halt" along a track without any other facilities, needs to have a public_transport=station node associated with it, even if this means duplicating some of the info associated with the corresponding public_transport=stop_position node. This will allow rendering of the station name, without causing a clutter on big main "transport hub" type railway stations, if the name tags of public_transport=stop_position nodes would be used instead.

What do you think about these issues and suggestions, and would do others possibly suggest? Any comments welcome. I realize there may be overlap with other recent or historic tagging discussions, feel free to point me to other relevant discussion links as well for further reading and ideas.


Antworten: