curb-data-specification
curb-data-specification copied to clipboard
Added linestring geom to curb zone
Explain pull request
Curb Zones geometry should be able to be represented as linestrings as well (currently it is restricted to polygon) -- often we know the length of a curb zone but not the "width". Allow type linestring for geometry field under curb zone
Is this a breaking change
- No, not breaking
Impacted Spec
Curbs
Additional context
Discussed here https://github.com/openmobilityfoundation/curb-data-specification/issues/119
Adding that CurbIQ currently stores all curb zones in line strings by default, and many cities prefer this visually, so this is a welcome addition.
We will be discussing this at the Feb 25th CDS Working Group meeting. Please review and leave your comments and questions ahead of time.
Need to determine if this is a breaking change by not requiring polygons any more. I believe it would be breaking.
So that would mean
- Add linestring as new field that is optional for 1.1. A linestring option could still be useful, even when you define a polygon shape.
- Make polygons optional for 2.0 (but still require either a polygon or linestring)
Many people have worked around the issue of not knowing a curb zone width by easily extrapolating geometrically from the line to a rectangle, either of typical width (like 10 feet) or just a small area (like half a foot). The polygon doesn't have to be exact, just representing the zone in some way. An actual detailed width value is an optional field.
We will be discussing this at next week's Curb Working Group meeting.
Make sure to look at the lengthy discussion on this topic in the original source issue #119
Current suggestion:
| Name | Type | Required/Optional | Description |
|---|---|---|---|
curb_zone_id |
UUID | Required | The ID of this Curb Zone. |
geometry |
Polygon, Linestring | Required | The spatial extent of this curb zone. A new curb_zone_id is required if this geometry changes. |
To keep it non breaking:
| Name | Type | Required/Optional | Description |
|---|---|---|---|
curb_zone_id |
UUID | Required | The ID of this Curb Zone. |
geometry |
Polygon | Required | The spatial extent of this curb zone. A new curb_zone_id is required if this geometry changes. |
geometry_line |
Linestring | Optional | A polyline that defines the curb zone edge in one dimension. |