Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Adding rendering for public_transport=platform #3232

Closed

Conversation

kocio-pl
Copy link
Collaborator

Fixes #435

Changes proposed in this pull request:

  • Adding rendering for public_transport=platform

Initial code renders public_transport=platform+bus=yes the same as highway_bus_stop. It should be decided how to render platforms for multiple types of transport - for example bus+tram.

Copy link
Collaborator

@pnorman pnorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This review is on the technical aspects of the PR.

I'm not a particular fan of public_transport=platform and don't want to do something that would encourage people to use it over the established tagging.

'power_' || CASE WHEN power IN ('generator') THEN power ELSE NULL END,
'tourism_' || CASE WHEN tourism IN ('viewpoint') THEN tourism ELSE NULL END
) AS feature,
access,
religion,
tags->'denomination' as denomination,
tags->'generator:source' as "generator:source",
tags->'bus' as bus,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this blow up the XML with a combinatorial explosion?

@@ -1663,6 +1666,8 @@ Layer:
OR tags->'memorial' IN ('plaque')
OR military IN ('bunker')
OR highway IN ('bus_stop', 'elevator', 'traffic_signals')
OR tags->'public_transport' IN ('platform')
OR tags->'bus' IN ('yes')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed, we don't render bus=yes without public_transport=platform

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would you propose to do instead?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the line. You could further restrict the public_transport condition to only get those with bus=yes, but that makes no difference to the rendering

@@ -1795,6 +1803,8 @@ Layer:
OR military IN ('bunker')
OR tags @> 'emergency=>phone'
OR highway IN ('bus_stop', 'elevator', 'traffic_signals')
OR tags->'public_transport' IN ('platform')
OR tags->'bus' IN ('yes')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as above

@@ -1764,6 +1770,8 @@ Layer:
tags->'tower:construction' as "tower:construction",
tags->'tower:type' as "tower:type",
tags->'castle_type' as castle_type,
tags->'public_transport' as public_transport,
tags->'bus' as bus,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as above

@@ -2416,6 +2435,8 @@ Layer:
OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross', 'fort', 'wayside_shrine', 'castle', 'manor')
OR tags->'memorial' IN ('plaque')
OR highway IN ('bus_stop', 'services', 'rest_area', 'elevator')
OR tags->'public_transport' IN ('platform')
OR tags->'bus' IN ('yes')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as above

@kocio-pl
Copy link
Collaborator Author

Public transport is mature, more flexible and more coherent standard, so it's a good example to talk about handling such cases. Some are less obvious, like amenity=social_facility, which covers some other amenity schemes, some are similar, like healthcare=* (see #2938).

@kocio-pl
Copy link
Collaborator Author

General chart to show the comparison of the old and new scheme - it's not accurate, since only ~500k of the new one is combined with bus=yes, yet this is good illustration of the problem:

taghistory 20

So the old one is clear winner, however both numbers are very high and the ratio is just 4:1 (the same order of magnitude).

The question is when should we change rendering? When ratio will be 1:1? How should we avoid fragmentation - when the new scheme will have n+1 uses should we drop n uses of the old one? If not - how long should we keep both? And when we could start showing the new one if both could be rendered?

@dieterdreist
Copy link

dieterdreist commented May 13, 2018 via email

@sommerluk
Copy link
Collaborator

By the way: Is it intentional that we render currently highway=bus_stop on areas? The wiki describes it as only for nodes (at difference from public_transport=platform, which is not only for nodes). Following taginfo, for highway=bus_stop we have 2 046 215 nodes and only 6 053 ways.

@dieterdreist
Copy link

dieterdreist commented May 13, 2018 via email

@sommerluk
Copy link
Collaborator

IMHO the wiki might be wrong.

Given that also the wiki describes describes it also as “Its position may be marked by a shelter, pole, bus lay-by, or road markings.” at least for bus lay-by and shelter, using an area sounds reasonable.

@geozeisig
Copy link

I think that also fits on this topic: why do we render highway=platform? The Wiki has no status and at the top you can read: This feature has been replaced by public_transport=platform. The behavior causes this tag to be used as a replacement.

@kocio-pl
Copy link
Collaborator Author

Looks like the revolution is long over and public_transport=platform won both on wiki and by numbers, so I think we could remove highway=platform soon (after announcing and discussing on Tagging list, of course):

taghistory 21

@PolyglotOpenstreetmap
Copy link

@dieterdreist expecting people to map according to the "new" scheme exclusively without their stops getting renderd is ludicrous. I've tried that many many years ago, then resorted to double tagging the whole lot. In the present, I don't really care anymore. The point has become moot. We tag highway=bus_stop to get them rendered and p_t=platform/stop_position to please those who like the new scheme.

@Marc-marc-marc
Copy link

for info the supremacy of public_transport=platform over highway=platform is even clearer if we take into account the duplicate tag
900k for public_transport=platform without (highway=platform or railway=platform)
84k highway=platform + public_transport=platform
only 9k highway=platform without public_transport=platform

@BjornRasmussen
Copy link

I see no reason why the new public_transport=platform should not be rendered. Not rendering it is causing a large amount of bus stops to have both public_transport=platform and highway=bus_stop, which should not be necessary.

@BjornRasmussen
Copy link

The point of not rendering public_transport=platform was to stop people from using the new system. This is not working, however, and the result is just redundant tags on all bus stops. This should be merged.

@AgusQui
Copy link

AgusQui commented Oct 12, 2018

Many we use highway=platform to represent the physical platform, and highway=bus_stop for the point of that platform where the bus stops, this is an example of platform with several stops inside https://www.openstreetmap.org/way/114037316#map=19/-34.60004/-58.38183, how do you propose to differentiate this if highway=bus_stop and highway=platform becomes the same as public_transport=platform?

@kymckay
Copy link

kymckay commented Oct 13, 2018

Many we use highway=platform to represent the physical platform, and highway=bus_stop for the point of that platform where the bus stops, this is an example of platform with several stops inside https://www.openstreetmap.org/way/114037316#map=19/-34.60004/-58.38183, how do you propose to differentiate this if highway=bus_stop and highway=platform becomes the same as public_transport=platform?

As far as I know PTv2 has appropriate tags for both of these cases:
public_transport=platform
public_transport=stop_position

Edit: Sorry, I see what you're saying in regards to differentiating the rendering, forgot I was reading the carto issues. However, wouldn't this be an uncommon use of highway=bus_stop and therefore shouldn't really be considered for the purposes of rendering decisions?

@AgusQui
Copy link

AgusQui commented Oct 13, 2018 via email

@AgusQui
Copy link

AgusQui commented Oct 13, 2018

Edit: Sorry, I see what you're saying in regards to differentiating the rendering, forgot I was reading the carto issues.

Of course, how do you think representing physical platforms? Now they have a gray color like the train platforms, while highway=bus_stop has the symbol of a blue bus, are now both a blue bus?

@matthijsmelissen matthijsmelissen changed the title Adding rendering for public_transport=platform [WIP] [WIP] Adding rendering for public_transport=platform Jan 2, 2019
@jeisenbe
Copy link
Collaborator

jeisenbe commented Feb 2, 2019

@kocio-pl, are you going to work on this PR further?

It seems that the mappers have decided to use public_transport=platform, as discussed above: #3232 (comment)

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented Feb 2, 2019

I am still not able to do more tasks than currently, be it testing/merging PRs or just tuning my own code, and I don't know when I can get back to it.

If you - or anybody else - would like to take over where I have left it, I'm fine with that.

@matkoniecz
Copy link
Contributor

I'm not a particular fan of public_transport=platform and don't want to do something that would encourage people to use it over the established tagging.

I second this.

Can anyone supply link with documentation why public_transport=platform bus=yes tag duplication of highway=bus_stop is a good idea?

Neither https://wiki.openstreetmap.org/wiki/Tag:public_transport%3Dplatform nor https://wiki.openstreetmap.org/w/index.php?oldid=625726 is explaining this.

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented May 7, 2019

Currently I think rather about avoiding such duplicates and rendering this tag only when not associated with already rendered types of platforms. Transport platform is very wide category and it's worth rendering.

@pnorman
Copy link
Collaborator

pnorman commented May 7, 2019

Given there's been open technical issues with this PR for a year, @kocio-pl doesn't foresee having time, and the relevant part of code has been significantly refactored, I'm going to close this PR.

If someone wants to take this up and write a new PR, they can do so, even though I am personally opposed to rendering it, as stated above.

@pnorman pnorman closed this May 7, 2019
@kocio-pl
Copy link
Collaborator Author

kocio-pl commented May 7, 2019

Given there's been open technical issues with this PR for a year, @kocio-pl doesn't foresee having time, and the relevant part of code has been significantly refactored, I'm going to close this PR.

OK, sounds sane for me.

If someone wants to take this up and write a new PR, they can do so, even though I am personally opposed to rendering it, as stated above.

Do you oppose to rendering it only when this would be duplication of already rendered tag or any public_transport=platform at all?

@matkoniecz
Copy link
Contributor

when this would be duplication of already rendered tag

Is there public_transport=platform usage not covered by that?

@IIVQ
Copy link

IIVQ commented May 9, 2019

IMHO, we have a deadlock here.
Much of the opposition to public_transport=platform (as a way or area, but also as a node) comes from it not being rendered on OSM-carto, thus necessitating a highway=bus_stop or railway=tram_stop node to be rendered.

Now if we don't include rendering to public_transport=platform (as node+way+area) because it is double-tagging with highway=bus_stop, we're having double tagging.

public_transport=platform is part of the widely used PT_v2 schema. Rendering support would diminish much of the opposition to it, as "it needs highway=bus_stop to be rendered" at the moment.

The reason to use public_transport=platform over highway=bus_stop is
a) it can (per wiki) be used on ways and areas (highway=bus_stop won't be rendered right now)
b) it unifies public transit tagging over nodes, as the same set of tags can be used for bus, tram, train, lightrail.

@dieterdreist
Copy link

dieterdreist commented May 11, 2019 via email

@IIVQ
Copy link

IIVQ commented May 12, 2019

The public_transport=platform should be seen as "a place where people wait to board a bus/tram/train", not as a physical raised platform. There are more misnomers in the OSM tagging scheme (best example: highways with access=no, where a highway in British English is by legal definition a public access road).
Also, it does unify very similar things for different modes (bus/tram+train) into one concept.

We could argue about the whole necessity of public_transport=platform all over again, but that's been done years ago (83 to 6 vote for the PTv2 schema in 2011) and there are other platforms(sic!) for this discussion.

@dieterdreist
Copy link

dieterdreist commented May 12, 2019 via email

@IIVQ
Copy link

IIVQ commented May 13, 2019

The public_transport=platform should be seen as "a place where people wait to board a bus/tram/train", not as a physical raised platform. There are more misnomers in the OSM tagging scheme (best example: highways with access=no, where a highway in British English is by legal definition a public access road).
Also, it does unify very similar things for different modes (bus/tram+train) into one concept.

We could argue about the whole necessity of public_transport=platform all over again, but that's been done years ago (83 to 6 vote for the PTv2 schema in 2011) and there are other platforms(sic!) for this discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add rendering for public_transport=platform