Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable road restriction feeds #205

Merged
merged 64 commits into from
Dec 13, 2021
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
cc20780
Create RestrictionEvent.md
DeraldDudley Sep 3, 2021
15840fe
Merge pull request #1 from usdot-jpo-ode/refactor-road-event
mark-mockett Nov 1, 2021
183164c
Create RoadRestrictionFeed.md
DeraldDudley Nov 1, 2021
a71624b
Update and rename RestrictionEvent.md to RestrictionRoadEvent.md
mark-mockett Nov 1, 2021
78db431
Update RoadRestrictionFeed.md
DeraldDudley Nov 1, 2021
4e81e0f
Update RoadRestrictionFeed.md
DeraldDudley Nov 1, 2021
e42e1fc
Rename road_event property to core_details
mark-mockett Nov 1, 2021
81757a8
Update README.md
DeraldDudley Nov 1, 2021
35603d8
Update README.md
DeraldDudley Nov 1, 2021
6417201
Add new schema for RoadRestrictionFeed
mark-mockett Nov 1, 2021
d91c0ff
Update RestrictionRoadEvent.md
DeraldDudley Nov 1, 2021
ec39c3c
Add RestrictionRoadEvent as option for RoadEventFeature
mark-mockett Nov 1, 2021
84bd34b
Merge branch 'v4.0-release-restrictions' into RestrictionEvent
j-d-b Nov 1, 2021
3ed0e26
Remove accidentally added file
j-d-b Nov 2, 2021
2598c1f
Update schema
j-d-b Nov 2, 2021
ea82e15
Use feed_info prop naming to be consistent with SwzDeviceFeed
j-d-b Nov 2, 2021
1c44143
Fix schema RestrictionRoadEvent description
j-d-b Nov 2, 2021
543d280
Update description of new objects
j-d-b Nov 2, 2021
faf1cf0
Update description of RestrictionRoadEvent
j-d-b Nov 2, 2021
30ef6a9
Auto format JSON schema
j-d-b Nov 2, 2021
2ee78e6
Update main README
j-d-b Nov 2, 2021
5fe166b
Add clarifying text
j-d-b Nov 2, 2021
f2693d3
Remove periods from descriptions in schema
j-d-b Nov 2, 2021
3f82e15
Conditionally require either restrictions or lanes
mark-mockett Nov 2, 2021
2dee842
Add RestrictionRoadEvent to Restriction obj. used by
mark-mockett Nov 2, 2021
4c8713a
Update Restriction.md
mark-mockett Nov 2, 2021
f951722
Merge remote-tracking branch 'upstream/refactor-road-event' into Rest…
j-d-b Nov 18, 2021
3570a66
Add bridge restriction linestring example
j-d-b Dec 6, 2021
758aa04
Merge remote-tracking branch 'upstream/refactor-road-event' into Rest…
j-d-b Dec 6, 2021
36badd6
Merge remote-tracking branch 'upstream/refactor-road-event' into Rest…
j-d-b Dec 6, 2021
2f2fcb0
Merge remote-tracking branch 'upstream/refactor-road-event' into Rest…
j-d-b Dec 6, 2021
a7c0bb4
Merge remote-tracking branch 'upstream/v4.0-release' into Restriction…
j-d-b Dec 9, 2021
93bd823
Merge in latest from usdot-jpo-ode/wzdx to prepare PR
j-d-b Dec 9, 2021
0c08b52
Fix bridge height restriction example paragraph
j-d-b Dec 9, 2021
8ce9ebc
Extract RoadEventCoreDetails JSON schema
j-d-b Dec 9, 2021
fd87e79
Extract Restriction JSON schema
j-d-b Dec 9, 2021
491fd9d
Extract Lane JSON schema
j-d-b Dec 9, 2021
63cd6f3
Fix RoadRestrictionFeed schema typo
j-d-b Dec 9, 2021
6ee0f4b
Combine schemas to finalize RoadRestrictionFeed schema
j-d-b Dec 9, 2021
f9b4c81
Add description of restriction event type
j-d-b Dec 9, 2021
3277c9a
Add RoadRestrictionFeed to project README
j-d-b Dec 9, 2021
7f06113
Add mention to RoadRestriction feed in examples README
j-d-b Dec 9, 2021
fa7f543
Add references to RoadRestrictionFeed in READMEs
j-d-b Dec 9, 2021
623acf7
Update list of data feeds table
j-d-b Dec 9, 2021
6bb47e2
Merge remote-tracking branch 'upstream/field-devices' into Restrictio…
j-d-b Dec 9, 2021
59275ca
Merge remote-tracking branch 'upstream/v4.0-release' into Restriction…
j-d-b Dec 10, 2021
4420462
Update project README for consistency
j-d-b Dec 10, 2021
ada0c8f
Fix WZDxFeed schema file
j-d-b Dec 10, 2021
407c123
Fix RoadEventFeature schema
j-d-b Dec 10, 2021
379fd93
Update all schema IDs for demonstration
j-d-b Dec 10, 2021
c282663
Re-add missing LocationMethod definition to schema
j-d-b Dec 10, 2021
34cbb37
Fix RoadEventFeature schema
j-d-b Dec 11, 2021
138c035
Finalize fix of RoadEventFeature schema
j-d-b Dec 11, 2021
b97a7db
UFix name of feed info in bridge height restriction example
j-d-b Dec 11, 2021
404b72b
Remove whitespace from WZDxFeed
j-d-b Dec 11, 2021
75c9f48
Add demonstration to RoadRestrictionFeed schema
j-d-b Dec 11, 2021
c69f596
Change bridge height restriction example to use spaces for indentation
j-d-b Dec 11, 2021
54acdba
Add restriction to EventType schema
j-d-b Dec 11, 2021
a2581e4
Revert schema to match current v4.0-release RoadEventFeature
j-d-b Dec 11, 2021
616b038
Add missing LocationMethod
j-d-b Dec 11, 2021
e71cfaf
Fix RoadRestrictionFeed schema
j-d-b Dec 11, 2021
70c319d
Add SwzDeviceFeed to FeedInfo 'Used By'
j-d-b Dec 11, 2021
bd365c7
Remove abbreviation
j-d-b Dec 11, 2021
89bdc94
Fix typos
mark-mockett Dec 13, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Creating_a_WZDx_Feed.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ GeoJSON is the file format of choice because:
WZDx defines the content and structure of several data feeds. Each feed is described by a single root object with many child objects. The output of a WZDx data feed is a GeoJSON file containing the feed object. WZDx defines the following feed objects:

- [WZDxFeed Object](/spec-content/objects/WZDxFeed.md): describes high-level information about work zone events ocurring on roadways (called "road events") that impact the characteristics of the roadway and involve a change from the default state (such as a lane closure). This is the original work zone data exchange feed and the only feed that WZDx defined until [version 4.0](https://github.com/usdot-jpo-ode/wzdx/releases/tag/v4.0).
- [RoadRestrictionFeed Object](/spec-content/objects/RoadRestrictionFeed.md): describes the location and details of restrictions on roadways.
- [SwzDeviceFeed Object](/spec-content/objects/SwzDeviceFeed.md): describes information (location, status, live data) about field devices deployed on the roadway in work zones.

*See the [/spec-content/README.md](/spec-content/README.md) for detailed information on all objects defined by WZDx.*
Expand All @@ -39,11 +40,12 @@ The following business rules help assure a standardized and interpretable use of
### JSON Schemas
The WZDx Specification defines a JSON schema for each feed (WZDx v2.0 and later) within the [schemas](/schemas) directory. The repository contains schemas for the following feeds:

#### Current
#### Current Version (4.0)
- [WZDx v4.0 WZDxFeed](/schemas/4.0/WZDxFeed.json)
- [WZDx v4.0 SwzDeviceFeed](/schemas/4.0/SwzDeviceFeed.json)
- [WZDx v4.0 RoadRestrictionFeed](/schemas/4.0/RoadRestrictionFeed.json)

#### Previous
#### Previous Versions
- [WZDx v2.0 WZDxFeed](/schemas/wzdx_v2.0_feed.json)
- [WZDx v3.0 WZDxFeed](/schemas/wzdx_v3.0_feed.json)
- [WZDx v3.1 WZDxFeed](/schemas/wzdx_v3.1_feed.json)
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ WZDx defines the structure and content of multiple distinct data feeds. Each fee
### List of Data Feeds
Feed Name | Description | Producer | Consumer | Uses | Content
--- | --- | --- | --- | --- | ---
`WZDxFeed` | Provides high-level information about events ocurring on roadways (called "road events"), primarily work zones, that impact the characteristics of the roadway and involve a change from the default state (such as a lane closure). The `WZDxFeed` is the original work zone data exchange feed. | Agencies responsible for managing roadways and road work, typically state and local DOTs. | Traveling public via third parties such as mapping companies and CAVs. | Route planning; increased awareness; "put work zones on the map". | Work zone and detour road events (see [RoadEventFeature](/spec-content/objects/RoadEventFeature.md)).
`WZDxFeed` | Provides high-level information about events ocurring on roadways (called "road events"), primarily work zones, that impact the characteristics of the roadway and involve a change from the default state (such as a lane closure). The `WZDxFeed` is the original work zone data exchange feed. | Agencies responsible for managing roadways and road work, typically state and local DOTs. | Traveling public via third parties such as mapping companies and CAVs. | Route planning; increased awareness; "put work zones on the map". | Work zone and detour road events (see [WorkZoneRoadEvent](/spec-content/objects/WorkZoneRoadEvent.md) and [DetourRoadEvent](/spec-content/objects/DetourRoadEvent.md)).
`RoadRestrictionFeed` | Provides information about sections of roadways that have restrictions. Restriction types described by this specification are listed in the [RestrictionType](/spec-content/enumerated-types/RestrictionType.md) enumerated type. | Transportation Authorities like Tribal, Local, State, or Federal Agencies. | Traveling public via third parties such as mapping companies and CAVs. | Increased awareness; Route planning; Driver, Passenger, and Road-User Safety; Increased Efficiency; Reduced Damage to Infrastructure. | Restriction road events (see [RestrictionRoadEvent](/spec-content/objects/RestrictionRoadEvent.md)).
`SwzDeviceFeed` | Provides information (location, status, live data) about field devices deployed on the roadway in work zones. | Smart work zone equipment manufacturers or vendors. | Agencies responsible for managing roadways and permitting work, typically state and local DOTs. Third-parties such as mapping companies and CAVs may also be interested in field device information. | Simplifies design process for agencies wanting to interface with equipment manufacturers; aids in dynamically generating a `WZDxFeed` with accurate information; reduces effort for manufacturers to conform to different agencies requirements. | Field devices (see [FieldDeviceFeature](/spec-content/objects/FieldDeviceFeature.md)).

## Repostitory Organization
Expand Down Expand Up @@ -115,11 +116,12 @@ The WZDWG welcomes feedback and comments on the WZDx 3.1 Specification. Comments
## JSON Schemas
The WZDx Specification defines a JSON schema for each feed within the [schemas](/schemas) directory. Schemas can be used to validate a WZDx feed document for compliance to the specification. The repository contains schemas for the following feeds:

### Current
### Current Version (4.0)
- [WZDx v4.0 WZDxFeed](/schemas/4.0/WZDxFeed.json)
- [WZDx v4.0 SwzDeviceFeed](/schemas/4.0/SwzDeviceFeed.json)
- [WZDx v4.0 RoadRestrictionFeed](/schemas/4.0/RoadRestrictionFeed.json)

### Previous
### Previous Version
- [WZDx v2.0 WZDxFeed](/schemas/wzdx_v2.0_feed.json)
- [WZDx v3.0 WZDxFeed](/schemas/wzdx_v3.0_feed.json)
- [WZDx v3.1 WZDxFeed](/schemas/wzdx_v3.1_feed.json)
Expand Down
14 changes: 12 additions & 2 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# WZDx Example Feeds
This directory contains example GeoJSON documents from WZDx data feeds. The examples cover a range of common scenarios. There are examples for both the `WZDxFeed` and `SwzDeviceFeed`, contained within the respective subdirectories.
This directory contains example GeoJSON documents from WZDx data feeds. The examples cover a range of common scenarios. There are examples for the `WZDxFeed`, `RoadRestrictionFeed`, and `SwzDeviceFeed`, contained within the respective subdirectories.

## WZDxFeed Examples
The following `WZDxFeed` examples represent a variety of common scenarios when creating road events. Most of the examples are modeled after work zone scenarios used in [previous WZDx discussion](https://github.com/usdot-jpo-ode/jpo-wzdx/discussions/131). Optional fields are not included in all examples but represented at least once across the various examples. Each scenario is provided as a single GeoJSON file which may contain multiple work zones documenting differences in representing road events at varying levels of complexity. All example scenarios are provided for the `LineString` geometry type. as well as one `MultiPoint` geometry type for scenario 1.
Expand Down Expand Up @@ -53,4 +53,14 @@ The [local access only example](/examples/WZDxFeed/local_access_only_bidirection
The following example `SwzDeviceFeed`s are provided:

1. [Arrow Board "ok" Example](/examples/SwzDeviceFeed/arrow_board_ok_example.geojson): A simple feed that includes a single arrow board with an `ok` status and several optional properties provided.
2. [Camera "error" Example](/examples/SwzDeviceFeed/camera_error_example): A simple feed that includes a single camera with an `error` status, associated `status_messages`, and a few optional properties provided.
2. [Camera "error" Example](/examples/SwzDeviceFeed/camera_error_example): A simple feed that includes a single camera with an `error` status, no image data, associated `status_messages`, and a few optional properties provided.

## RoadRestrictionFeed Examples
The following example `RoadrestrictionFeed`s are provided:

### 1. Bridge Height Restriction
The [Bridge Height Restriction Example](/examples/RoadRestrictionFeed/bridge_restriction_linestring_example.geojson) shows the use of a [RestrictionRoadEvent](/spec-content/objects/RestrictionRoadEvent.md) to define a bridge clearance on a roadway.

- Defines threes bridge height restrictions.
- Two restrictions (`id`s: `Bridge2`, `Bridge3`) are defined using only the required core details and basic event-level information.
- One restriction (`id`: `Bridge1`) also includes lane-level details with additional height restrictions values for individual lanes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
{
"road_event_feed_info": {
"update_date": "2021-07-01T15:00:00Z",
"publisher": "New York State DOT",
"contact_name": "Frederick Francis Feedmanager",
"contact_email": "fred.feedmanager@testdot.gov",
"update_frequency": 300,
"version": "4.0",
"data_sources": [
{
"data_source_id": "1",
"organization_name": "New York City DOT",
"contact_name": "Solomn Soliel Sourcefeed",
"contact_email": "solomon.sourcefeed@testcity1.gov",
"update_frequency": 60,
"update_date": "2021-07-01T00:00:00Z"
}
]
},
"type": "FeatureCollection",
"features": [
{
"id": "Bridge1",
"type": "Feature",
"properties": {
"core_details": {
"event_type": "restriction",
"data_source_id": "1",
"road_names": [
"HRP",
"Hutchinson Parkway",
"Hutchinson River Parkway"
],
"direction": "northbound"
},
"restrictions": [
{
"type": "reduced-height",
"value": 10.5,
"unit": "feet"
}
],
"lanes": [
{
"order": 1,
"status": "open",
"type": "general",
"restrictions": [
{
"type": "reduced-height",
"value": 10.5,
"unit": "feet"
}
]
},
{
"order": 2,
"status": "open",
"type": "general",
"restrictions": [
{
"type": "reduced-height",
"value": 11,
"unit": "feet"
}
]
},
{
"order": 3,
"status": "open",
"type": "general",
"restrictions": [
{
"type": "reduced-height",
"value": 10.5,
"unit": "feet"
}
]
}
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.83857488632202,
40.83782481579416
],
[
-73.8385534286499,
40.83905758069452
],
[
-73.83834958076477,
40.84045773030475
],
[
-73.83817791938782,
40.841269397695825
],
[
-73.83692264556885,
40.84498467829638
],
[
-73.83683949708939,
40.84519569836051
],
[
-73.83674025535583,
40.84555483673242
],
[
-73.83666649460793,
40.84582976902955
],
[
-73.83646667003632,
40.84667890696712
]
]
}
},
{
"id": "Bridge2",
"type": "Feature",
"properties": {
"core_details": {
"event_type": "restriction",
"data_source_id": "1",
"road_names": [
"HRP",
"Hutchinson Parkway",
"Hutchinson River Parkway"
],
"direction": "southbound"
},
"restrictions": [
{
"type": "reduced-height",
"value": 9.0,
"unit": "feet"
}
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.83725792169571,
40.84455654898646
],
[
-73.8378158211708,
40.84294748850873
],
[
-73.83808672428131,
40.84214192905569
],
[
-73.83834153413773,
40.84133635981177
]
]
}
},
{
"id": "Bridge3",
"type": "Feature",
"properties": {
"core_details": {
"event_type": "restriction",
"data_source_id": "1",
"road_names": [
"HRP",
"Hutchinson Parkway",
"Hutchinson River Parkway"
],
"direction": "southbound"
},
"restrictions": [
{
"type": "reduced-height",
"value": 11,
"unit": "feet"
}
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.83834153413773,
40.841335852523244
],
[
-73.8384260237217,
40.84103300059402
],
[
-73.83847497403622,
40.84082856207721
],
[
-73.83851654827595,
40.84063071775089
],
[
-73.83855678141117,
40.84045722300951
],
[
-73.83865937590599,
40.83983324694044
],
[
-73.83872039616108,
40.8393289888175
],
[
-73.83875325322151,
40.838710582522424
],
[
-73.83877135813236,
40.838443230352674
],
[
-73.83877202868462,
40.83817942829337
],
[
-73.83877471089363,
40.83773502091179
],
[
-73.83877538144588,
40.83721857114785
],
[
-73.83877336978912,
40.83710442404608
]
]
}
}
]
}
Loading