Add markings:crossings=* and deprecated crossing=marked/unmarked #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Schema Change Proposal
Short description
This schema change proposal would replace the use of
crossing=marked/unmarked
withcrossing:markings=*
.crossing:markings=*
is a new (technically currently proposed, but is very likely to be accepted tomorrow) OpenStreetMap tagging standard that addresses long-running problems with ambiguity and non-orthogonality in thecrossing=*
tagging schema. This change will disambiguate information about pedestrian crossings and whether they have markings, including new and more detailed descriptions of ground markings.Purpose
This schema change is in response to a beneficial tagging change in the OpenStreetMap community that is in alignment with our long-running hope of being able to map crossing markings and crossing signalization separately. While we could use our existing
crossing=marked/unmarked
entity definitions and remain largely compatible, there is value in having close alignment with high-quality schemas in OpenStreetMap, and because this schema is in the pre-alpha stages it would be good to align at this time.Longer description
The OpenSidewalks Schema currently keeps track of markings on pedestrian street crossings using the
crossing=marked/unmarked
field. This field simply indicates the presence or absence of ground markings for a given pedestrian street crossing. In OpenStreetmap, thecrossing
key can also be used with values likeuncontrolled
ortraffic_signals
that don't reliably mean that there are ground markings present. The decision to use only themarked
andunmarked
values reflects our attempt (and hope) that OpenStreetMap et al would use separate and unambiguous schemas in the future; that ground markings and signalization would be mapped separately. The new tagging schema,crossing:markings
, represents a significant step towards that reality by making ground markings a property of the crossing rather than a distinct category. Full disambiguation will also require that signalization (pedestrian light signals, sounds, APS devices) be consistently treated as one or more properties as well.This proposal recognizes that our current schema is a workaround that was used in anticipation of a tagging schema like OpenStreetMap's new
crossing:markings=*
. Now that this new, better tagging schema exists, we should reflect it directly. In addition to matching the mainline OpenStreetMap tagging standards, this tagging schema also brings the potential for more information by having values for specific marking types, such aslines
(just an outline),surface
(there's only a surface difference), orladder
(there are also horizontal bars along the path). We should capture these specific descriptions in our schema to aid with navigation and also because different markings types imply different rights of way and cross-traffic control in certain locales.This proposal specifically (1) deprecates the use of
crossing=marked/unmarked
and (2) adds thecrossing:markings=*
tag, adding all of its current values. The new values can be seen in the README or injsonschema/src/fields.ts
.Tasks needed to implement this change
Note: we should automate as many of these tasks as we can going forward.
[] The
README.md
(draft schema description)[] The TypeScript code base that generates a
jsonschema
for OpenSidewalks Schema GeoJSON.[*] The
jsonschema
for OpenSidewalks Schema GeoJSON.[] Update the
jsonschema
and theREADME.md
to be versioned and indicate version0.1.0
.[] After accepting this pull request, immediately create a release (version
0.1.0
) with a note of the changes.[] Create a changelog file?