Arcadis.CWZ.V1 1.0.0-preview.14

This is a prerelease version of Arcadis.CWZ.V1.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Arcadis.CWZ.V1 --version 1.0.0-preview.14
                    
NuGet\Install-Package Arcadis.CWZ.V1 -Version 1.0.0-preview.14
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Arcadis.CWZ.V1" Version="1.0.0-preview.14" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Arcadis.CWZ.V1" Version="1.0.0-preview.14" />
                    
Directory.Packages.props
<PackageReference Include="Arcadis.CWZ.V1" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Arcadis.CWZ.V1 --version 1.0.0-preview.14
                    
#r "nuget: Arcadis.CWZ.V1, 1.0.0-preview.14"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Arcadis.CWZ.V1@1.0.0-preview.14
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Arcadis.CWZ.V1&version=1.0.0-preview.14&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Arcadis.CWZ.V1&version=1.0.0-preview.14&prerelease
                    
Install as a Cake Tool

Arcadis CWZ (Connected Work Zones) .NET Library

This repository contains the source code for Arcadis's .NET 9.0 CWZ (Connected Work Zones) V1 class library, Arcadis.CWZ.V1.

About

The Arcadis.CWZ.V1 class library provides models and utilities for producing and consuming data feeds following the Connected Work Zones Implementation Guide and Standard v01.00.

The library provides the following functionality:

  • Utilize CWZ concepts in .NET code.
  • Create a CWZ WorkZoneFeed GeoJSON string by serializing CWZ C# objects modeled in this library.
  • Deserialize a CWZ Work Zone Feed GeoJSON string into C# objects modeled in this library.

CWZ Version Support

The versioning is implemented at the namespace level, allowing consumers to explicitly select which version of the CWZ standard they want to work with. Currently, only V1 is available, but when future versions are introduced (such as V2), consumers will be able to choose between versions by importing the appropriate namespace.

The CWZ DeviceFeed is not yet supported by this library.

Usage

NuGet Package

To use the library, you need to reference it in your .NET project. The easiest way to do this is to add the Arcadis.CWZ.V1 NuGet package, available from nuget.org, as a dependency to your project:

dotnet add package Arcadis.CWZ.V1

Create a CWZ feed GeoJSON string

Use the CwzSerializer static class to serialize a CWZ feed object into a GeoJSON string that represents a valid CWZ feed object.

For example:

using Arcadis.CWZ.V1.Models;
using Arcadis.CWZ.V1.Serialization;

var myCwzWorkZoneFeed = new WorkZoneFeed(...);

string cwzGeoJsonString = CwzSerializer.SerializeFeed(myCwzWorkZoneFeed);

Read in a CWZ feed GeoJSON string

Use the CwzSerializer static class to deserialize a CWZ feed JSON string into an Arcadis.CWZ.V1 library model representation of the feed content.

For Example:

using Arcadis.CWZ.V1.Models;
using Arcadis.CWZ.V1.Serialization;

var httpClient = new HttpClient();

HttpResponseMessage feedResponse = await httpClient.GetAsync("https://url.to.cwz.feed/cwz-work-zone-feed");
string cwzWorkZoneFeedGeoJson = await feedResponse.Content.ReadAsStringAsync();

WorkZoneFeed cwzWorkZoneFeed = CwzSerializer.DeserializeFeed<WorkZoneFeed>(cwzWorkZoneFeedGeoJson);

Versioning

The package uses Semantic Versioning in a MAJOR.MINOR.PATCH format.

Tests

This solution includes an Arcadis.CWZ.V1.UnitTests Xunit test project. Run all unit tests with the following command:

dotnet test
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 151 9/10/2025
1.0.0-preview.26 119 9/10/2025
1.0.0-preview.25 129 9/10/2025
1.0.0-preview.24 119 9/10/2025
1.0.0-preview.22 120 9/9/2025
1.0.0-preview.21 194 9/2/2025
1.0.0-preview.20 210 8/21/2025
1.0.0-preview.19 113 8/21/2025
1.0.0-preview.18 113 8/20/2025
1.0.0-preview.17 231 8/7/2025
1.0.0-preview.16 194 8/6/2025
1.0.0-preview.15 124 7/8/2025
1.0.0-preview.14 123 7/3/2025
1.0.0-preview.13 125 7/3/2025
1.0.0-preview.12 117 7/3/2025
1.0.0-preview.11 123 7/2/2025
1.0.0-preview.9 48 6/28/2025
1.0.0-preview.8 47 6/28/2025
1.0.0-preview.7 316 6/13/2025
1.0.0-preview.6 181 6/13/2025
1.0.0-preview.1 195 6/13/2025