IBI.WZDx 4.1.0-preview.4

This is a prerelease version of IBI.WZDx.
There is a newer version of this package available.
See the version list below for details.
dotnet add package IBI.WZDx --version 4.1.0-preview.4                
NuGet\Install-Package IBI.WZDx -Version 4.1.0-preview.4                
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="IBI.WZDx" Version="4.1.0-preview.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IBI.WZDx --version 4.1.0-preview.4                
#r "nuget: IBI.WZDx, 4.1.0-preview.4"                
#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.
// Install IBI.WZDx as a Cake Addin
#addin nuget:?package=IBI.WZDx&version=4.1.0-preview.4&prerelease

// Install IBI.WZDx as a Cake Tool
#tool nuget:?package=IBI.WZDx&version=4.1.0-preview.4&prerelease                

IBI WZDx .NET Library

This repository contains the source code for IBI Group's .NET 6.0 WZDx (Work Zone Data Exchange) class library, IBI.WZDx.

About

The IBI.WZDx class library provides models and utitlies for producing and consuming Work Zone Data Exchange (WZDx) data feeds.

The library provides the following functionality:

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

WZDx v4.0 and v4.1 are supported. The WzdxSerializer defaults to outputting v4.1 (latest WZDx).

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 IBI.WZDx NuGet package as a dependency to your project:

dotnet add package IBI.WZDx

Create a WZDx feed GeoJSON string

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

For example:

using IBI.WZDx.Models;
using IBI.WZDx.Serialization;

var myWzdxWorkZoneFeed = new WorkZoneFeed(...);

string wzdxGeoJsonString = WzdxSerializer.SerializeFeed(myWzdxWorkZoneFeed);

Read in a WZDx feed GeoJSON string

Use the WzdxSerializer static class to deserialize a WZDx feed JSON string into an IBI.WZDx library model representation of the feed content.

For Example:

using IBI.WZDx.Models;
using IBI.WZDx.Serialization;

var httpClient = new HttpClient();

HttpResponseMessage feedResponse = await httpClient.GetAsync("https://url.to.wzdx.feed/wzdx-device-feed");
string wzdxDeviceFeedGeoJson = await feedResponse.Content.ReadAsStringAsync();

DeviceFeed wzdxDeviceFeed = WzdxSerializer.DeserializeFeed<DeviceFeed>(wzdxDeviceFeedGeoJson);

Versioning

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

The MAJOR and MINOR version numbers correspond to the MAJOR and MINOR version numbers of the WZDx specification that it conforms to.

The PATCH version number is incremented as changes are made to the library that are unrelated to progress of WZDx.

Tests

This solution includes a IBI.WZDx.UnitTests Xunit test project. Run all unit tests with the following command:

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

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
4.2.0 238 12/8/2023
4.2.0-preview.25 73 2/15/2024
4.2.0-preview.24 69 2/15/2024
4.2.0-preview.22 69 12/8/2023
4.2.0-preview.21 66 12/8/2023
4.1.1 6,352 4/3/2023
4.1.0 3,955 8/26/2022
4.1.0-preview.16 88 4/3/2023
4.1.0-preview.15 81 4/3/2023
4.1.0-preview.14 84 4/3/2023
4.1.0-preview.12 101 8/26/2022
4.1.0-preview.11 96 8/26/2022
4.1.0-preview.10 94 8/26/2022
4.1.0-preview.9 93 8/26/2022
4.1.0-preview.5 107 8/24/2022
4.1.0-preview.4 100 8/24/2022
4.1.0-preview.3 105 8/24/2022