You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+54-18Lines changed: 54 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# Work_Zone
2
2
3
-
This is an open source, proof of concept solution for translating work zone data in the form of CDOT Planned Events, iCone device, and NavJOY 568 form data to the standardized [WZDx 4.2 format](https://github.com/usdot-jpo-ode/wzdx/tree/release/v4.2). This project was developed for CDOT. A unique translator has been developed for each of these message types. These translators read in the source message, parse out specific fields, and generate a WZDx message. For more information on these message formats and the data mappings between these messages and the WZDx format, see the [documentation](wzdx/docs). sample_files are located [here](wzdx/sample_files). All these translators are built to run from the command line and from GCP Dataflows, hosted within the CDOT RTDH WZDX environment. These translators are used to generate the CDOT Production WZDx data feed, which is published on the USDOT [WZDx Data Exchange Feed Registry](https://datahub.transportation.gov/Roadways-and-Bridges/Work-Zone-Data-Exchange-WZDx-Feed-Registry/69qe-yiui/data_preview)
3
+
This is an open source, proof of concept solution for translating work zone data in the form of CDOT Planned Events, iCone device, and NavJOY 568 form data to the standardized [CWZ 1.0 format](wzdx/docs/508_CWZ_Standard_draft_v01_00_FINAL_Revised.pdf) as well as the [WZDx 4.2 format](https://github.com/usdot-jpo-ode/wzdx/tree/release/v4.2). This project was developed for CDOT. A unique translator has been developed for each of these message types. These translators read in the source message, parse out specific fields, and generate a CWZ/WZDx message. For more information on these message formats and the data mappings between these messages and the included formats, see the [documentation](wzdx/docs). sample_files are located [here](wzdx/sample_files). All these translators are built to run from the command line and from GCP Dataflows, hosted within the CDOT RTDH environment. These translators are used to generate the CDOT Production CWZ and WZDx data feeds, which are published on the USDOT [WZDx Data Exchange Feed Registry](https://datahub.transportation.gov/Roadways-and-Bridges/Work-Zone-Data-Exchange-WZDx-Feed-Registry/69qe-yiui/data_preview)
4
4
5
-
The Google CloudPlatform deployment for the CDOT Planned Event WZDx translator is outlined below:
5
+
The Google CloudPlatform deployment for the CDOT Planned Event WZDx translators are outlined below. The CWZ translator functions in a similar manner, but is not shown here.
On top of these translators, combination scripts have been written to integrate WZDx messages from multiple separate sources, including CDOT Planned Events, iCone, and NavJOY. Each of these sources has unique data fields that are not present in the other sources, and the combination script is designed to merge these fields into a single WZDx message. The combination script is also built to run from the command line and from GCP Dataflows, hosted within the CDOT RTDH environment. The combination script is designed to run after the individual translators have generated their WZDx messages, and the output of the combination script is a single WZDx message that contains all of the data from the individual sources. When fields from multiple sources overlap, the combination script is designed to prioritize the data from the source with the most complete information. Geotab data is also integrated for mobile work zones, so that when a vehicle is detected in a "planned-moving-area" work zone, the work zone is changed to a "moving" work zone, using the current location of the vehicle plus a buffer distance ahead.
@@ -24,17 +24,17 @@ The build package tar.gz file will be located in the dist folder.
24
24
25
25
## Running the Translators Locally
26
26
27
-
This set of WZDx message translators is set up to be implemented in GCP with App Engines and Dataflows. It is also set up with raw, standard, and enhanced (WZDx) data feeds. This means that to take a raw icone document and generate a WZDx message, the raw icone xml document must first be converted to 1 or multiple standard json messages (based on CDOT RTDH specification), and then each standard message may be converted into a single WZDx message. At this point, this data can be combined with other WZDx messages, through the [combination scripts](wzdx/experimental_combination/)
27
+
This set of CWZ and WZDx message translators is set up to be implemented in GCP with App Engines and Dataflows. It is also set up with raw, standard, and enhanced data feeds. This means that to take a raw icone document and generate a CWZ or WZDx message, the raw icone xml document must first be converted to 1 or multiple standard json messages (based on CDOT RTDH specification), and then each standard message may be converted into a single enhanced message. At this point, this data can be combined with other CWZ/WZDx messages, through the [combination scripts](wzdx/experimental_combination/)
28
28
29
29
### Prerequisites
30
30
31
31
Requires:
32
32
33
-
- Python 3.8 (or higher)
33
+
- Python 3.12 (or higher)
34
34
35
35
### Environment Setup
36
36
37
-
This code requires Python 3.8 or a higher version. If you haven’t already, download Python and pip. You can install the required packages by running the following command:
37
+
This code requires Python 3.12 or a higher version. If you haven’t already, download Python and pip. You can install the required packages by running the following command:
38
38
39
39
```
40
40
pip install -r requirements.txt
@@ -46,13 +46,13 @@ Please set up the following environment variable for your local computer before
| contact_name |Heather Pickering-Hilgers| name of WZDx feed contact |
52
-
| contact_email |heather.pickeringhilgers@state.co.us| email of WZDx feed contact |
53
-
| publisher |CDOT| name of the organization issuing the WZDx feed |
54
-
| CDOT_GEOSPATIAL_API_BASE_URL |https://dtdapps.colorado.gov/server/rest/services/LRS/Routes_withDEC/MapServer/exts/CdotLrsAccessRounded| GIS server endpoint used for geospatial api |
55
-
| NAMESPACE_UUID |00000000-0000-0000-0000-000000000000| UUID used to pseudo-randomly tag all UUIDs generated |
| contact_name | Heather Pickering-Hilgers | name of WZDx feed contact |
52
+
| contact_email |heather.pickeringhilgers@state.co.us| email of WZDx feed contact |
53
+
| publisher | CDOT | name of the organization issuing the WZDx feed |
54
+
| CDOT_GEOSPATIAL_API_BASE_URL |https://dtdapps.codot.gov/server/rest/services/LRS/Routes_withDEC/MapServer/exts/CdotLrsAccessRounded| GIS server endpoint used for geospatial api |
55
+
| NAMESPACE_UUID | 00000000-0000-0000-0000-000000000000 | UUID used to pseudo-randomly tag all UUIDs generated |
56
56
57
57
Example usage:
58
58
for mac computer run the following script to initialize the environment variable:
0 commit comments