[Talk-transit] Public transport validator+generator from Maps.Me

Alexey Zakharenkov eulenspiegel at list.ru
Tue Jun 11 16:13:22 UTC 2019


Hi, Noémie, Mateusz and others!

I’ve extracted all the generated error messages from our subway validator source and list them below with some comments. You’ll see that most of them concern topology of a transport network which requires much programming and cannot be expressed in terms of MapCSS rules.
Please express your opinion if you consider some checks to be arguable.

*) "Stop area has multiple stations".
This error prevents from ambiguous binding of stop_position/platform/subway_entrances to a station, as well as from accidental duplicating of stations.

*) "Tracks in a stop_area relation"

*) "Only exits for a station, no entrances"

*) "No exits for a station"

*) "Stop position is not a node"

*) "Not a stop or platform in a route relation"

*) "Multiple stops for a station in a route relation"

*) "Cannot find nodes in a railway".
Detects broken OSM ways with 0 or 1 node.

*) "Stop is nowhere near the track"

*) "Public transport version is 1".
We encourage to convert relations with public_transport:version=1 to newer scheme.

*) "Ambiguous station in route. Please use stop_position or split interchange stations".
This happens if a station object (i.e. a railway=station, not a stop_position) is in a route relation, and this station is included into several stop_areas; or when there are multiple stations of the same transport mode in a stop_area.

*) "Found an out-of-place stop/platform".
The correct (from the validator's point of view) variants of stops/platforms order in a route relation are:
 - "st_1  st_2  st_3  st_4" (only stops)
 - "pl_1  pl_2  pl_3  pl_4" (only platforms)
 - "st_1 pl_1  st_2 pl_2  st_3 pl_3  st_4 pl_4" (stops and platforms grouped by station)
 - "st_1 pl_1  pl_2 st_2   st_3  pl_4" (somewhere only a stop, somewhere only a platform, somewhere both)
 - "st_1 st_2 st_3 st_4  pl_1 pl_2 pl_3 pl_4" (all stops first, then all platforms)
 Incorrect order:
 - "st_1  st_2 pl_2  st_3  pl_1  st_4" (pl_1 or st_1 or both are out of place)

*) "Untagged object in a route".
Occurs quite often, for example when all tags from a stop_position were transferred to another node but old node is kept in a route relation.

*) "An under construction stop/platform in route".
Though it's unclear to me whether under-construction features should be added to routes.

*) "Missing station=<mode> on a feature".
Requires that railway=station/halt object be tagged with 'station=subway/light_rail/monorail' or have '<mode>=yes’. ’train’ mode is silently assumed for railways.

*) "<Feature> is not connected to a station in route".
Occurs when a stop_position/platform is not included in a stop_area or the stop_area is missing a station object.

*) "Route has no stops"

*) "Route has only one stop"

*) "Angle between stops around <station> is too narrow, <number> degrees".
A sharp twist of a route most probably indicates incorrect stops order.

*) "Route has different network from master"

*) "Incompatible PT mode: route_master has <mode1> and route has <mode2>"

*) "Route in two route_masters"

*) "Stop area belongs to multiple interchanges"

*) "An empty route master. Please set construction:route if it is under construction"

*) "Only one route in route_master. Please check if it needs a return route".
Non-circular route must have a reversed one. For circular route this is a warning.

*) The validator also compares the number of found stations/routes in a network with predefined values from CSV. This kind of checksumming helps to detect station/route disappearing or opening new ones.

**) Warnings are generated about missing/wrong station/line colour, different colour/ref of route and route_master, holes in rails,  "Subway entrance is not a node", "Stop position in a 'platform' role in a route", "Platform in a 'stop' role in a route", "Stop is too far from tracks", "Stop position is not on tracks", "Tracks seem to go in the opposite direction to stops".


Best regards,
Alexey

> 
> Today's Topics:
> 
>   1. Re: Public transport validator+generator from Maps.Me
>      (Noémie Lehuby)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 31 May 2019 19:40:46 +0200
> From: Noémie Lehuby <noemie.lehuby at zaclys.net>
> To: talk-transit at openstreetmap.org
> Subject: Re: [Talk-transit] Public transport validator+generator from
> 	Maps.Me
> Message-ID: <3bd8e835-44b1-2d3d-304e-8a6d77160b85 at zaclys.net>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
> 
> Hi Alexey,
> 
> Is there somewhere a list of all the checks ?
> 
> I've noticed that the Jungle Bus validation ruleset for JOSM and Osmose 
> <https://github.com/Jungle-Bus/transport_mapcss> already covers some of 
> these, and I think it would not be so hard to add most of these subway 
> rules to it.
> 
> -- 
> Noémie Lehuby
> Jungle Bus - http://junglebus.io
> 
> Le 31/05/2019 à 14:02, talk-transit-request at openstreetmap.org a écrit :
>> Date: Thu, 30 May 2019 20:29:08 +0300
>> From: Alexey Zakharenkov<eulenspiegel at list.ru>
>> To: Tijmen Stam<mailinglists at iivq.net>
>> Cc: Public transport/transit/shared taxi related topics
>> 	<talk-transit at openstreetmap.org>
>> Subject: Re: [Talk-transit] Public transport validator+generator from
>> 	Maps.Me
>> Message-ID:<F2F97AF2-C391-44B0-8D89-783778DEA51B at list.ru>
>> Content-Type: text/plain; charset="utf-8"
>> 
>> Hello, all readers of «PT validator+generator from Maps.Me» thread!
>> 
>> Thank you, I’ve not excepted to get so encouraging feedback in so short time. For some reason I haven’t got each reply to my mailbox, but I’ve got them in a «Talk-transit Digest». So let me answer here to all questions.
>> 
>> 1) "Have you checked whatever some of validation rules can be included in the JOSM validator?"
>> 
>> No, I haven’t. I’ll try to find time to check, but unlikely shortly.
>> 
>> 2) "Can you expand it to modes besides subway?"
>> 
>> The validator has two notional modes: underground (subway + light_rail + monorail + train considered to be rapid transport) and overground (bus, tram, trolleybus, … ). We run validator with ‘underground' option on a predefined list of rapid transit networks, which has a form of google-table document, link to which is given in repo’s readme. The results you can see athttp://osm-subway.maps.me  <http://osm-subway.maps.me/>  . At present we do not process overground transport in our application, but the google doc has an ‘Overground’ sheet with some cities.
>> 
>> 3) "shouldhttp://osmz.ru/subways/  <http://osmz.ru/subways/>  be considered obsolete?»
>> 
>> We run subway validation on a daily basis. If one would have monitored the subway state for some time, it would become evident that it changes every day, unfortunately towards degradation if let it go (regarding correctness, not fullness). Week-old validation results can be considered as outdated (some cities remain stable for months though). So, Ilya Zverev’s page is definitely obsolete. BTW, each generated validation HTML page has timestamp at the bottom.
>> 
>> 4) "what are Maps.me<http://maps.me/>'s recommendations for subway tagging?»
>> 
>> The author of the preprocessor, Ilya Zverev, wrote such recommendations athttps://wiki.openstreetmap.org/wiki/Metro_Mapping  <https://wiki.openstreetmap.org/wiki/Metro_Mapping>  . They are not the ultimate truth, and the validator is actually more flexible and resistant to different mapping techniques as long as the mapped things allow to obtain consistent and unambiguous transport data snapshot. Anyways, the recommendations along with the tool have a conclusive strong side: they proved their effectiveness for production purposes at world-wide scale.
>> 
>> 5) "For Belgium, I am missing the Charleroi lightrail …»
>> 
>> The google doc is open for commenting and it is permanently improving! Please leave your suggestions to rapid transit network list in comments to appropriate cells, or to free cells underneath if a new network is suggested.
>> 
>> 6) "Should an "Entrance" be used at aboveground stations?»
>> 
>> Surely, entrances increase map accuracy and help navigation. Subway infrastructure may be fully or partially located on the ground (level=0) or even overground (level>0).
>> 
>> 7) "I have not tested this but think that your preprocessor requires a
>> "station" node. However, I don't see this necessity in PT v_2.»
>> 
>> @Tijmen  The preprocessor requires «station» object in its broad sense: railway=station/halt, highway=bus_stop/tram_stop. All other elements (platforms, stop_positions, entrances) are optional, but not a station.
>> 
>> 
>> @Jason  I’ve raised Paris metro and Paris RER from ruins in two weeks. I estimate New York Subway to be in not much more worse state. Efforts of already involved mappers are not sufficient to quickly put all subways in order.
>> 
>> Best regards,
>> Alexey
>> 
>> 
>>> 29 мая 2019 г., в 22:44, Tijmen Stam<mailinglists at iivq.net>  написал(а):
>>> 
>>> On 29-05-19 17:35, Alexey Zakharenkov via Talk-transit wrote:
>>>> Hello everybody!
>>>> I'm a part of team who worries about public transport status in OSM database, especially rapid transit transport. I want to represent a public transport validator+generator that somebody might find a useful facility. It's open source:
>>>> https://github.com/mapsme/subways
>>>> Given a list of transport networks it generates output suitable not only for rendering PT routes but also for routing. Meanwhile it finds errors like gaps in rail/road sequence in a route, absent/doubling station at a stop, etc. We run the validator daily and publish the results at
>>>> http://osm-subway.maps.me
>>>> The page shows that even large and important subway systems (like New York Subway) in OSM DB are currently corrupted and therefore unusable for practical purposes. Difficulties occur not only due to negligent mapping but also due to misalignment how to map PT. I call you, who is interested in PT, to use this instrument, evaluate it and give feedback. We're ready to improve this tool for the community sake and take into account worthwhile suggestions.
>>>> Thank you for your attention.
>>>> I'm ready to answer any questions.
>>> Thank you, very useful!
>>> 
>>> I have not tested this but think that your preprocessor requires a "station" node. However, I don't see this necessity in PT v_2.
>>> 
>>> For Belgium, I am missing the Charleroi lightrail (Metro Leger) system (and possibly Antwerps "premetro" system, but that is a mixture of tram and subway.
>>> For Austria, I am missing the Dorfbahn Serfaus system.
>>> 
>>> Then a question about Rotterdam: Should an "Entrance" be used at aboveground stations? E.g. Maassluis west (converted from train station / to be opened:
>>> https://www.google.nl/maps/place/Maassluis/@51.9262933,4.2356667,214m
>>> Where should the entrance be placed?
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.openstreetmap.org/pipermail/talk-transit/attachments/20190531/652f99a4/attachment-0001.html>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> Talk-transit mailing list
> Talk-transit at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-transit
> 
> 
> ------------------------------
> 
> End of Talk-transit Digest, Vol 92, Issue 1
> *******************************************




More information about the Talk-transit mailing list