Openmaptiles: Including cycle tags in OpenMapTiles schema?

Created on 11 Jan 2019  路  5Comments  路  Source: openmaptiles/openmaptiles

Hi,

Currently, there is no reflection of the cycleway tag in OpenMapTiles transportation layer. This would be, in my opinion, a good addition for cycle-oriented maps (my use case, I'm working on an OpenCycleMap-like style on top of OpenMapTiles) or just for maps emphasizing on other transportation modes. Here is a proposal to try to limit as much as possible the increase of the tiles size, while still providing enough info for the style.

My proposition is to add two new fields to the transportation layer: cycleway:left and cycleway:right, having filtered values from the matching OSM tags. If there is a single cycleway tag on a portion of highway in OSM, then both fields would be filled with the same value. The position of the cycle lane is something important for bikers (especially for connections between cycle lanes), so I would consider this distinction important to keep.

There is a quite a lot of possible values for cycleway tag, which should be filtered and aggregated to limit the values in the OpenMapTiles schema and the sizes of the tiles.

I would consider having an enum of 3 values: busway (shared_busway or opposite_shared_busway), lane and track. If this sounds too much, it could probably be collapsed to boolean only value.

The opposite_* aspect could be taken into account by creating a "oneway:bicycle" (better name is to be found) tag which would be a boolean indicating whether bikes can go contraflow or not in the oneway (only filled for oneway=1|-1 streets).

What do you think about this? I could write a PR to handle these changes, if a base schema is agreed upon for testing. :)

Best,

Most helpful comment

@nnhubbard highway=cycleway is indeed imported, as a separate linestring. However, highway=cycleway only qualifies dedicated cycleways, separated from the rest of the traffic. I am talking here about the cycleway=* tags on a highway, which are not yet imported as far as I know.

This segment of road for instance has cycleway indication through a cycleway:left tag on it The cycleway is not tagged separately as this is a lane.

All 5 comments

Wouldn't it more sense to design a new independent layer with all the required attributes?

That was part of my interrogation.

For the cycle routes, I designed a separate layer (https://github.com/Phyks/openmaptiles/tree/cyclosm/layers/bicycle_routes, I can make a PR if you are interested in it).

For the cycleway attributes, they are attributes of the OSM roads, so it seemed to make more sense to me to include them in the transportation layer, where the roads are.

I am confused. cycleway is imported into the transportation layer already. I use this currently in our app. I realize you are talking about enhancing it, but they are for sure imported.

@nnhubbard highway=cycleway is indeed imported, as a separate linestring. However, highway=cycleway only qualifies dedicated cycleways, separated from the rest of the traffic. I am talking here about the cycleway=* tags on a highway, which are not yet imported as far as I know.

This segment of road for instance has cycleway indication through a cycleway:left tag on it The cycleway is not tagged separately as this is a lane.

There is a general tag as part of subclass, which is enough for base map tiles.
We don't want more details in OpenMapTiles schema right now, which are used for specific use-cases (cycle maps, hiking info, etc).

Was this page helpful?
0 / 5 - 0 ratings