[OSM-dev] Modeling OSM sidewalk data

Paul Norman penorman at mac.com
Wed Jul 13 06:49:55 UTC 2016

On 7/12/2016 3:44 AM, Andy Townsend wrote:
> On 12/07/2016 08:42, Paul Norman wrote:
> 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:
> https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/master/style.lua#L258 

Don't you quickly start needing to have many many values for your 
highway column as you combine sidewalks, link status, cycleways, etc?

For me a sidewalk column is much easier to do than expand the highway 
class values and it avoids users downstream of me having to deal with 
sidewalks if they're not using them in their analysis or rendering.

> 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. 

I also see you're treating cycleways as sidewalks. I'm planning on 
handling them separately, which is another reason I'm using more columns.

> 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...

I'm dealing with "tagging as it exists", which is slightly different 
than "data as it exists", so I don't have to worry about data errors 
like those disconnected ways. This is partially due to technical 
constraints, but even without them I'm not sure if I'd handle that case.

It's also going to a PostGIS database so there's no notion of if two 
linestrings are connected, only if they're touching.

More information about the dev mailing list