Skip to content

Instantly share code, notes, and snippets.

@danabauer
Created January 10, 2025 22:00
Show Gist options
  • Select an option

  • Save danabauer/61287bf5fe380d4c0f0981fb4f01919a to your computer and use it in GitHub Desktop.

Select an option

Save danabauer/61287bf5fe380d4c0f0981fb4f01919a to your computer and use it in GitHub Desktop.

Customer Problem

Because Overture transportation is heavily-reliant on OpenStreetMap, we need a schema that is flexible enough to model the different data conventions OSM uses to model sidewalks.

OSM has two such data conventions:

  1. A sidewalk can itself be a standalone way.
  2. Or a sidewalk can be implicitly or explicitly tagged onto a highway=* type way.

As of 2024-03-01, our schema model supports data convention #1, but not data convention #2. Consequently, if a highway=* way has sidewalk information tagged to it, we lose that information. Therefore, Overture customers miss out completely on these sidewalks.

As of 2024-03-01, 5,330,472 segments of 303,369,839 (1.8%) had co-segment sidewalk information we are losing, based on the below query:

SELECT 'Mandatory', COUNT(1) n
  FROM orbis_overture_007
 WHERE type='way'
   AND tags['highway'] IS NOT NULL
   AND any_match(map_keys(tags), key -> key = 'sidewalk' OR key LIKE 'sidewalk:%')

UNION

SELECT 'Total', COUNT(1) n
  FROM orbis_overture_007
 WHERE type='way'
   AND tags['highway'] IS NOT NULL

Solution

Add co-segment sidewalk properties as properties of segments.

Data Availability

Data is already in TomTom PBF

Impact

Critical (adoption blocker for an Overture member)

Difficulty

L (a few weeks or less)

Source Reference

Originally sourced from https://github.com/OvertureMaps/schema-wg/issues/150.

Acceptance Criteria

  1. MUST update segment schema to add properties that allow co-segment sidewalks to be modeled.
  2. SHOULD design and implement the schema update in conjunction with the design for adding references between dedicated sidewalk segments and the road segments they run parallel to/are part of.
  3. MUST update the combobulator to populate co-segment properties on appropriate segments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment