[OSM-dev] Modeling OSM sidewalk data
ajt1047 at gmail.com
Tue Jul 12 10:44:03 UTC 2016
On 12/07/2016 08:42, Paul Norman wrote:
> Does anyone have experience consuming OSM sidewalk data and have
> thoughts about what would be better to work with?
Rather than having sidewalk data available in a column, I instead with a
different highway value for "this road has a usable sidewalk". We
already have a plethora of highway values, so the extra work to support
isn't high, and has the advantage that you don't need to mess about with
the schema (though you do need to reload the database) if anything changes:
My initial goal was to be able to render sidewalks on unclassified and
tertiary roads. Note that there are more values in that list than
you're probably expecting - that was what was found to be in the data
when I looked locally. Here's a diary entry, with a picture of what
things look like
(though I've tidied up the rendering a bit since then).
To address Komяpa's point, it's absolutely true that mapping sidewalks
as separate ways is something that you need to consider in some cases
(though I'd dispute that it is "only applicable to cities with a blocky
structure" - sidewalk=both et al mostly work well in the UK). In some
places (e.g. in my experience Helsinki) sidewalks meander off on their
own and then rejoin roads, and separate mapping makes sense. Also, if
you're mapping dropped kerbs etc. for wheelchair use then it's a lot
easier to map sidewalks separately.
Unfortunately, the biggest problem with "sidewalks mapped as separate
ways" is that they sometimes tend not to be done very well - often the
mappers produce something that looks nice on a printed map but doesn't
represent the topology (by no means always, but often enough to be an
issue). For example (not far from Komяpa's link) I very much doubt that
this shows a correct foot route between the highlighted places:
The road that these are the sidewalks of
https://www.openstreetmap.org/way/281594594 has no sidewalk information
(though in this case, being a living_street, you should be safe walking
along the middle of the road).
From the readme of https://github.com/ClearTables/ClearTables it sounds
like you're trying to process OSM data as it actually exists, not "as it
ought to be tagged", which means you might have to do something "clever"
to detect poorly mapped examples like the one above, perhaps based on
proximity. I'd be interested to see what you come up with...
More information about the dev