gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.54k stars 823 forks source link

Render sidewalk=* tag #2568

Open morray opened 7 years ago

morray commented 7 years ago

As most sidewalks are unfortunately only tagged on highways and not as a separate way openstreetmap is very car-centric. Thus, I propose to find a solution to render sidewealks, which are only tagged on other highways.

Ideas to achieve this would be: Wider rendering with shaded borders Just add thick borders

Keys to be rendered would be: http://wiki.openstreetmap.org/wiki/Key:sidewalk

~1Million uses

jojo4u commented 7 years ago

In my view this is a proposal worth discussing.

SomeoneElseOSM commented 7 years ago

@morray , if you're looking to try and develop something to do this, you might find some of the stuff at http://www.openstreetmap.org/user/SomeoneElse/diary/38136 helpful (including a potential way to do "sidewalks just on one side").

morray commented 7 years ago

@SomeoneElseOSM thanks. I personally think the hardest thing for achieving this is come up with an intuitive representation which does not clutter the map. Also the question is open which zoomlevel is best to start rendering them.

pnorman commented 7 years ago

Related: #1998

d1g commented 7 years ago

@jojo4u, my personal view is to create a separate object hw=footway for every street wider than 10-15m. Given time, I would draw chunks of grass as separate objects: https://taginfo.openstreetmap.org/compare/sidewalk/highway=footway

I use pedestrian/bicycle features a lot and I don't want to use Google-like maps anymore (without hw=footway as separate way) and default fills instead of chunks of grass.

micahcochran commented 7 years ago

@morray How about rendering road with a border that uses the current cartographic dashed line for a sidewalk (or footway)? If it is only one one side only that side should be rendered this way.

Perhaps this could be rendered from zoomlevels 17 to 19.

That rendering would be relatively unobtrusive and not too cluttered.

The only clutter that I could forsee would be if there is sidewalk tagging on the road and a digitized highway=footway beside it.

pnorman commented 7 years ago

@morray How about rendering road with a border that uses the current cartographic dashed line for a sidewalk (or footway)? If it is only one one side only that side should be rendered this way.

Perhaps this could be rendered from zoomlevels 17 to 19.

That rendering would be relatively unobtrusive and not too cluttered.

Could you show a demo? I'm having a hard time deciding if I think this would work well or not. It will, of course, have issues that need ironing out, particularly at bridges, but an idea of how it looks would be good.

The only clutter that I could forsee would be if there is sidewalk tagging on the road and a digitized highway=footway beside it

That would be a data error indicating duplicate footways, so I'm okay with duplicates in the rendering.

utack commented 7 years ago

This would also encourage people to use the sidewalk tags where possible instead of the complicated extra footways
Definitely a good idea

micahcochran commented 7 years ago

@morray How about rendering road with a border that uses the current cartographic dashed line for a sidewalk (or footway)? If it is only one one side only that side should be rendered this way.

Perhaps this could be rendered from zoomlevels 17 to 19.

That rendering would be relatively unobtrusive and not too cluttered. Could you show a demo? I'm having a hard time deciding if I think this would work well or not. It will, of course, have issues that need ironing out, particularly at bridges, but an idea of how it looks would be good.

After your comment, I looked at that a little bit. I quickly figured out that it will be pretty complicated. I'm not too sure if Mapnik can do that. My Mapnik skill is non-existent.

SomeoneElseOSM commented 7 years ago

@micahcochran On the "can Mapnik do it or not" question, it's a lot easier if you use a lua tag transform to split based on sidewalk before trying to render. That way you do have "more types of roads" (e.g. "tertiary_sidewalk" as well as "tertiary") but it makes the rendering code a lot easier to understand.

An example rendering of just GB using an extra-wide casing to indicate sidewalks on some roads is at https://map.atownsend.org.uk/maps/map/map.html#zoom=14&lat=53.04735&lon=-1.42934 . If you wanted to try a different representation, you could keep the same tag transform script and just tinker with the rendering.

morray commented 7 years ago

@utack actually personally I hope it goes the other way in the long run and all sidewalks are individually in the data. But let's not start this discussion here ;-)

matkoniecz commented 7 years ago

It is basically the same as #827

Note that there is no documented tag to define distance of footway from center of road when sidewalk tag is used.

I see three solutions, each with serious drawbacks

matkoniecz commented 7 years ago

The only clutter that I could forsee would be if there is sidewalk tagging on the road and a digitized highway=footway beside it.

AFAIK this is an invalid tagging and terrible rendering in such cases is not a problem.

matkoniecz commented 7 years ago

This would also encourage people to use the sidewalk tags where possible instead of the complicated extra footways

And I would dislike it for the same reason, as I prefer separate highway=footway (but both are valid tagging methods with good and bad sides, so it is mostly matter of taste and what one is typically doing with data).

dieterdreist commented 7 years ago

sent from a phone

On 21. Aug 2017, at 19:14, Mateusz Konieczny notifications@github.com wrote:

The only clutter that I could forsee would be if there is sidewalk tagging on the road and a digitized highway=footway beside it.

AFAIK this is an invalid tagging and terrible rendering in such cases is not a problem.

I am not sure it is invalid tagging: the sidewalk tag on the road is a property of the road ("has a sidewalk"), the highway=footway footway=sidewalk object is the sidewalk.

kocio-pl commented 7 years ago

I also think this tagging makes sense, just like lit=*, even if there are street lamps around.

matkoniecz commented 7 years ago

I am not sure it is invalid tagging:

Without consensus that it is invalid tagging (what should be discussed on wiki/tagging mailing list so I will not comment here further on this topic) rendering sidewalk=both/left/right is even more hopeless.

SomeoneElseOSM commented 7 years ago

To be clear, the established tagging for "this road has a sidewalk but it is mapped separately" is "sidewalk=separate". "sidewalk=both/left/right" are typically used when sidewalk is not separately mapped.

matkoniecz commented 7 years ago

To be clear, the established tagging for "this road has a sidewalk but it is mapped separately" is "sidewalk=separate". "sidewalk=both/left/right" are typically used when sidewalk is not separately mapped.

I attempted to document this at https://wiki.openstreetmap.org/wiki/Key:sidewalk and https://wiki.openstreetmap.org/wiki/Sidewalks#Sidewalk_as_separate_way

dieterdreist commented 7 years ago

sent from a phone

On 22. Aug 2017, at 14:31, SomeoneElseOSM notifications@github.com wrote:

To be clear, the established tagging for "this road has a sidewalk but it is mapped separately" is "sidewalk=separate". "sidewalk=both/left/right" are typically used when sidewalk is not separately mapped.

interesting, what is established tagging for a road when only one sidewalk is mapped explicitly but the road has them on both sides?

SomeoneElseOSM commented 7 years ago

interesting, what is established tagging for a road when only one sidewalk is mapped explicitly but the road has them on both sides?

Er, "fixme"? :) More seriously, "separate" doesn't say anything about where the sidewalk is or how many of them there are. It's just a hint that there is one, somewhere.

(edit) and since a picture is sometimes worth a thousand words, here's an example.

dieterdreist commented 7 years ago

sent from a phone

On 23. Aug 2017, at 10:27, SomeoneElseOSM notifications@github.com wrote:

More seriously, "separate" doesn't say anything about where the sidewalk is or how many of them there are. It's just a hint that there is one, somewhere.

;-) That's what I meant, this kind of tagging forces you to decide whether you give information about the location and number of the sidewalk/s or focus on the fact there are one or more separately mapped sidewalks. There wouldn't be a need to make tagging these information incompatible

SomeoneElseOSM commented 7 years ago

@dieterdreist you can't expect to "force mappers to decide whether you give information" about anything. I know that some denizens of the tagging list and the wiki think that, but frankly the evidence is not on their side... @morray you raised this issue in the first place - do you need any help putting a demo of something together?

dieterdreist commented 7 years ago

sent from a phone

On 23. Aug 2017, at 14:23, SomeoneElseOSM notifications@github.com wrote:

@dieterdreist you can't expect to "force mappers to decide whether you give information" about anything

I didn't say mappers are forced to give information, I said there's a conflict because of orthogonal information tagged in the same key. The word "force" was probably inappropriate.

ujos commented 7 years ago

One more reason to implement sidewalks rendering is to eliminate cases when both sidewalk and separate hw=footway are added.

dktue commented 6 years ago

I guess rendering sidewalks would motivate the mapper-community to tagging sidewalks in an incredible manner.

If you look at overpass you will see that it is rarely tagged for entire, contiguous areas but sparsely distributed.

This is probably not only a feature that will improve for the users of the map but also bring data to OSM that can be used for pedestrian routers for example.

SomeoneElseOSM commented 6 years ago

@dktue I map (and render) sidewalks because it's incredibly useful information, especially outside urban areas. It's certainly possible to do - it just needs someone to spend the time doing it. If you'd like to try it yourself please do - and ask whenever you get stuck (even if the first question is "how do I start?"). Here is an example of the sort of thing that's possible - you can easily see which of the secondary, tertiary and unclassified roads are safe to walk down because there's a sidewalk and which are not (click "controls" at the top left to turn on the layer switcher to compare with OSM Carto).

dktue commented 6 years ago

Maybe it's easier to find a good rendering-idea if we concentrate solely to z19 in first place. This way we could encourage mappers to add the data and then experiment with z18, z17, etc. when we have way more data in place.

RAytoun commented 6 years ago

I have been experimenting in my home area with sidewalks in a residential area where I am able to indicate places to cross where there is a ramp/dropped curb to allow for wheelchairs/prams. It also shows how the varies footways link with the sidewalks rather than directly onto the road. It is important for pedestrians with young children to know that there is a sidewalk at the end of the footway rather than straight onto the road. You can see the example here

hungerburg commented 3 years ago

Mapping sidewalks is going strong, and there is still lots to go. Especially adding sidewalk properties to streets, the heart of this issue, has recently seen an up-tick in densely mapped metropolitan areas, not only in Western Europe but also in South America and in Asia. I used ohsome to gather some stats on this. As sidewalks (not the ones of the footway kind) are not shown in OSM Carto, it is even more astonishing, that there exists such a hidden treasure trove of information about on the ground features.

As the property is very useful for pedestrian routers that long since make use of it, for the visually impaired or plain normal people just as well, these ongoing efforts should be rewarded by visual feedback, which in turn will help spotting places, that can be enhanced.

The appearance of sidewalks on https://map.atownsend.org.uk/maps/map/map.html, when zoomed in, is very nice and would make a good starting point for OSM Carto to follow suit and have mappers in countries other than England provide an unobtrusive, but nevertheless concise rendering of their labour of love.