Railway=station as an area?

The linearly referenced position is already approximate to some degree. In the US and Canada, most values of railway:position=* are rounded to the nearest tenth of a mile (= 528’ ≈ 161m). There’s a lot of leeway here—I think station buildings and platforms should take precedence over the linear referencing position when determining where to place station nodes.

Are there any real-life examples of this?

Moreover, I would expect the label placement of such a complicated station to be superseded by the building or platforms.

1 Like

I will give an extreme case. For the north-south oriented Tokyo Station, the Keiyo Line platforms are east-west, 400m to the south. Node: ‪東京‬ (‪6396868335‬) | OpenStreetMap
That’s assuming all others line-up. The Sobu-Yokosuka Line platforms are diagonally oriented, to the northwest. Node: ‪東京‬ (‪7093706976‬) | OpenStreetMap
They are all connected inside a paid zone. Of course, these can still be argued whether separate =station points can be created for them. (The other 2 existing =station points are for Shinkansen in a different paid zone, and another by a different company)
I’m not sure what should be used for the precision, or railway:position= . At the Keiyo Line example, there is both 0km Type A post, and 0.0km Type C post per 100m (Type B is half-km), besides the 0.000km for railway:position:exact= I suppose. 東京駅のゼロキロポスト+α ~ 在来線・地下編(京葉線) ~ - 歩・探・見・感 https://cdn-ak.f.st-hatena.com/images/fotolife/c/citywalk2020/20240310/20240310144419.jpg
As another comparison, the zero for a bay platform terminus can yet not be at the end. In Odakyu Shinjuku Station, it’s 40m away. 小田急の新宿駅にある0キロポストはなぜ変な位置にあるのか : Odapedia ~小田急のファンブログ~ https://livedoor.blogimg.jp/odapedia/imgs/e/0/e0284cd6.jpg (the end is on the left side in the background)
So what I want to suggest is =station doesn’t really correspond to the linear referencing function you were emphasizing. I believe what’s actually needed is an attribute eg linearly_referenced=yes to show a =station point is at that position, and another feature eg linearly_referenced:railway=station for the station sign when the =station is separate as linearly_referenced=no (Or use =milestone somehow, as how I asked about it). Distinguishing routing and linear referencing will clearly express the situation on their own. Then =station can be focused on the routing target.

None of these routing services can take station entrances into account.

but this is a shortcoming of these routers, try to route to Rome Fiumicino Airport and you get led several kilometers off the terminal buildings. If we keep “helping” Routers with nodes to represent stations this will not change so quick

Maybe. But even if that were fixed, the other issue about rendering the label would still persist.

Something of an aside from the whole “railway=station as an area” question, but as of about an hour ago the mkgmap maps created here will route to train station buildings. It’ll avoid issues like this where a router will terminate vertically below the station rather go to an entrance.

2 Likes

Thunderforest Transport (and Cycle), and OPNVKarte renders it acceptably, in the main section opposite the mall. Only CyclOSM, and Humanitarian have similar results. Map Compare | Geofabrik Tools
I uphold the argument about Drawing (although not lying) For Renderer, and Router, but there can be a transition period as railway=station has been specified and existed as points, and considering the number and prominence.
On the other hand, even then, @dieterdreist still needs to consider whether the =station area should be drawn for the operational border (currently to be area:railway=station) , or public passenger area (missing now from the requirement of railway=station + public_transport=station combination)

On the other hand, even then, @dieterdreist still needs to consider whether the =station area should be drawn for the operational border (currently to be area:railway=station) , or public passenger area (missing now from the requirement of railway=station + public_transport=station combination)

IMHO railway=station for the operational site and public_transport=station for the passenger area(s)

I wouldn’t consider 175 metres from the nearest platform (and 600 metres walking distance from the nearest station entrance) acceptable. It’s quite misleading. Anyone arriving there would find themselves in front of this wall:

1 Like

… just to throw in some routing examples …

to the station building

to the “station area”

Me too.

You’ve already made this point here and I still agree with @Kovoschiz and @alan_gr on this:

I also summarised my opinion here:

If you disagree with these arguments, please respond to them directly. (Which you’ve already done, to which I’ve also replied.)

Yes - example here.

That’s what I guessed. However besides separating railway=station + public_transport=station being non-ideal, as seen from the backlash at most it can only be area:railway=station for the operational border (which is more feasible here), then ultimately allowing railway=station + public_transport=station for the public passenger area in the long term.

May I say it’s acceptable for rendering. I only want to suggest the result can be different. As seen from the Mkgmap example, it should be technically possible to render, and route (if not an entrance= or =subway_entrance ), to the largest building=train_station inside a =station .
On a side note, railway=station has station= =train etc defined. So effectively, station= is being used with public_transport=station as well, aside from train=yes etc.

Yes, but at what cost? @BáthoryPéter told me at the April OSM Hungary Meetup that this implementation would be far too expensive for basically any renderer’s backend.

Not to mention railway operating sites without building=train_stations.

(Not sure if mkgmap_style_ajt does this. @SomeoneElse only mentioned routing, not rendering. And as I understand the commit, it only adds an option to route to building=train_stations—it doesn’t select the largest or replace the corresponding railway=station element with it.)

With regard to rendering, both “stations” and “station buildings” are shown as stations, but it’s obvious which is which based on what you see when you either move the cursor over the object on screen, or search for it.

With regard to routing you’ll either pick a destination from the screen (after moving the cursor there) or more typically via a search menu. After this change the “ground transportation” menu now has “station buildings” as well as “stations”, but there aren’t that many railway stations.

Yes, that is an issue - and there are also false positives doing it this way - this is actually a tourism-only station that would normally be excluded, and this should be excluded (but currently isn’t) for being only historic.

1 Like

… just to throw in some routing examples …

to the station building

to the “station area”

what about: to the next public entrance of the station area?

then ultimately allowing railway=station + public_transport=station for the public passenger area in the long term.

just because train=yes which could solve the “problem” wasn’t in the “original proposal” we have to combine public_transport with railway=station? And introduce area:railway=station which is the same as railway=station but explicitly tagged as an area?

That would be this route.

Not only because of that.

  • 78% of railway=stations are combined with public_transport=station. This is the established method of tagging railway=stations.
  • Separating public_transport=station from railway=station and using train=yes with public_transport=station would only work if all public_transport=stations (incl. all other transport modes) had one of these *=yes tags. And that would take a lot of work.

Yes—see the area:highway=* tags, which follow the same logic.

Yes—see the area:highway=* tags, which follow the same logic.

not really, because area:highway is about a way to add the road surface to a linear highway, while area:railway=station would be a way to express the same as a node. Going by this logic, we could have area:amenity and all other kinds of keys for things that can be mapped as node or areas (almost everything, besides things that are actually points, e.g. saddles or peaks).

1 Like