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

Add new transit layer features #469

Closed
nvkelso opened this issue Jan 8, 2016 · 13 comments
Closed

Add new transit layer features #469

nvkelso opened this issue Jan 8, 2016 · 13 comments

Comments

@nvkelso
Copy link
Member

nvkelso commented Jan 8, 2016

To support more advanced transit applications, we need to augment the existing set of transit attributes in the transit layer.

Add additional line attributes (zoom 11+ only):

  • from
  • to
  • forward
  • backward
  • alternate

Add nodes for:

  • railway=halt (zoom 11)
  • railway=tram_stop (zoom 11)
  • highway=platform* (zoom 15)
  • public_transport=platform* (zoom 15)
  • railway=platform* (zoom 15)
  • railway=stop* (zoom 11)

* The last 4 stop types depend on additional tags such as rail=yes (and should exclude bus=yes, trolleybus=yes).

Stations:

  • public_transport=stop_area (zoom 15)
  • site=stop_area (zoom 15)

Add node attributes:

This should be in the transit layer and the pois layer for existing stations there.

  • uic_ref - like IATA codes for airports.

References:

Example applications:

@nvkelso
Copy link
Member Author

nvkelso commented Mar 7, 2016

Some or most of the nodes listed above should end up in the pois layer (not the transit layer).

@nvkelso nvkelso added ready and removed ready labels Mar 14, 2016
@nvkelso
Copy link
Member Author

nvkelso commented Mar 16, 2016

In the nodes list above, the following two are already covered in #587:

  • railway=halt (zoom 11)
  • railway=tram_stop (zoom 11)

@nvkelso
Copy link
Member Author

nvkelso commented Mar 16, 2016

Over to Matt to list what's been done, what's outstanding. Then remove assignment.

@zerebubuth
Copy link
Member

Add additional line attributes (zoom 11+ only):

(for routes in transit layer)

  • from
  • to
  • forward
  • backward
  • alternate

Add nodes for:

  • highway=platform (zoom 15)
  • public_transport=platform (zoom 15)
  • railway=platform (zoom 15) These are already included for lines and polygons
  • railway=stop (zoom 11)

These types depend on additional tags such as rail=yes (and should exclude bus=yes, trolleybus=yes).

Note that these are a mixture of polygons, lines and points (11,864 points, 3,657 lines, 3,067 polygons in my North America extract), so all types will need to be queried and extracted.

Lines and polygons to the transit layer. Points to the pois layer.

Stations:

Stop areas and sites were taken care of as part of #506 - we should wait and see how that settles out before putting any other features in the tiles.

Add node attributes:

This should be in the transit layer and the pois layer for existing stations there.

  • uic_ref - like IATA codes for airports. (Should be simple enough to query from the tags just like the IATA code).

@zerebubuth zerebubuth removed their assignment Mar 16, 2016
@rmarianski rmarianski self-assigned this Mar 18, 2016
@zerebubuth
Copy link
Member

Re: additional tags. Hopefully this makes it clearer:

# select highway, railway, public_transport, tags->'rail' as rail,
    tags->'bus' as bus, count(*) as num
  from planet_osm_point
  where highway='platform' or public_transport='platform' or
    railway='platform' or railway='stop'
  group by highway, railway, public_transport, rail, bus
  order by highway, railway, public_transport;

   highway   |  railway  | public_transport | rail | bus | num  
-------------+-----------+------------------+------+-----+------
 bus_stop    | platform  |                  |      |     |    1
 bus_stop    |           | platform         |      | yes | 4781
 bus_stop    |           | platform         |      | no  |    1
 bus_stop    |           | platform         |      |     | 3984
 crossing    |           | platform         |      |     |    1
 no          |           | platform         |      | yes |    6
 platform    |           | platform         |      | yes |   16
 platform    |           | platform         |      |     |   29
 platform    |           |                  |      | yes |    3
 platform    |           |                  |      |     |    1
 street_lamp |           | platform         |      |     |    3
             | no        | platform         |      | yes |    1
             | platform  | platform         |      |     |    1
             | platform  |                  |      |     |   19
             | station   | platform         |      |     |    2
             | stop      | station          |      |     |    1
             | stop      | stop             |      |     |   16
             | stop      | stop_position    |      |     |  291
             | stop      | stop_position    | yes  |     |   69
             | stop      |                  |      |     |  217
             | tram_stop | platform         |      |     |    1
             |           | platform         |      | yes |  856
             |           | platform         | yes  |     |    2
             |           | platform         |      |     | 1562

Ignoring some of the corner cases, such as the node tagged highway=bus_stop, bus=no or the highway=street_lamp, public_transport=platform, it looks like there's 4 different categories:

  1. highway IN ('bus_stop', 'platform') is a bus stop or bus platform.
  2. railway IN ('platform', 'station', 'stop') is a train stop, train station or train platform.
  3. public_transport=platform can be either, depending on the rail=yes or bus=yes tags.
  4. public_transport=platform without any other highway, railway, rail or bus tags seems to be mostly bus platforms from a limited sample I looked at.

@rmarianski
Copy link
Member

Thanks @zerebubuth! That's really helpful.

@nvkelso about the public_transport tags, do we need to have different min_zoom values if the rail or bus tags are set to yes? Maybe if rail=yes it's 15 (or 11?), but otherwise it's 17?

@nvkelso
Copy link
Member Author

nvkelso commented Mar 21, 2016

Different min_zoom values sounds good. Let's try what you suggest:

  • When public_transport and rail=yes, then min_zoom=15, but otherwise it's 17.

@nvkelso
Copy link
Member Author

nvkelso commented Mar 23, 2016

Last week we talked about not including the following new line attributes, because they are only available on special types of relations we don't plan on adding (they'd additionally duplicate existing features, and aren't generally available says TagInfo, take that wiki):

  • from
  • to
  • forward
  • backward
  • alternate

The PRs above don't include them, so we're all good.

@nvkelso
Copy link
Member Author

nvkelso commented Mar 24, 2016

The good:

  • uic_ref QA confirmed, here near Zurich:

screen shot 2016-03-24 at 00 55 23


screen shot 2016-03-24 at 01 03 05


screen shot 2016-03-24 at 01 05 37


  • railway=platform (zoom 15) POIs layer at App specific queries #18/41.28481/-73.93015 some Metro North station north of NYC:

screen shot 2016-03-24 at 01 31 53

screen shot 2016-03-24 at 01 31 46

@nvkelso
Copy link
Member Author

nvkelso commented Mar 24, 2016

The funky:

  • public_transport=platform (zoom 15) in TRANSIT layer (lines, polygons)

Hmm, we're missing features I expect to see. If it's already in the public_transport key, we don't need to enforce rail=yes, especially when it's sometimes light_rail=yes or the target key,value pair alone. The OSM wiki was wrong, Matt's table shows the data truth.

screen shot 2016-03-24 at 01 15 27

screen shot 2016-03-24 at 01 15 22


While this is technically working, it creates ambiguity with railway platforms and bus stops (where public_transport=platform and bus=yes). In the bus=yes combo case, we should set the kind:bus_stop (and keep min_zoom:17).

screen shot 2016-03-24 at 01 27 02

https://overpass-turbo.eu/

/*
This is an example Overpass query.
Try it out by pressing the Run button above!
You can find more examples with the Load tool.
*/
node
  [public_transport=platform]
  [bus=yes]
  ({{bbox}});
/*added by auto repair*/
(._;>;);
/*end of auto repair*/
out;

screen shot 2016-03-24 at 01 38 44

@rmarianski
Copy link
Member

@nvkelso should the changes be:

  • public_transport=platform && bus=yes -> kind=bus_stop min_zoom=17
  • public_transport=platform -> kind=platform min_zoom=15

@rmarianski
Copy link
Member

I implemented the changes I mentioned in #634

@nvkelso
Copy link
Member Author

nvkelso commented Mar 24, 2016

I'm digging it.

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

No branches or pull requests

3 participants