Giter Site home page Giter Site logo

jorik041 / ais.net.receiver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ais-dotnet/ais.net.receiver

0.0 0.0 0.0 36 KB

A simple .NET Core AIS Receiver for capturing the Norwegian Coastal Administration AIS network data (available under Norwegian license for public data (NLOD)) and persisting in Microsoft Azure Blob Storage. Sponsored by endjin.

License: Apache License 2.0

C# 100.00%

ais.net.receiver's Introduction

Ais.Net.Receiver

Build Status

IMM

A simple .NET Core AIS Receiver for capturing the Norwegian Coastal Administration's marine Automatic Identification System (AIS) AIVDM/AIVDO NMEA message network data (available under Norwegian license for public data (NLOD)) and persisting in Microsoft Azure Blob Storage.

The Norwegian Costal Administration provide a TCP endpoint (153.44.253.27:5631) for broadcasting their raw AIS AIVDM/AIVDO sentences, captured by over 50 base stations, and covers the area 40-60 nautical miles from the Norwegian coastline.

This project contains a .NET Core console application that will reliably ingest the TCP stream, batch the AIVDM/AIVDO sentences and write them to Azure Blob Storage using the Append Blob feature, to create timestamped hour-long rolling logs.

The purpose of this application is to provide sample data for Ais.Net - the .NET Standard, high performance, zero allocation AIS decoder. The majority of raw AIS data is only available via commerical sources, and thus creating AIS datasets large enough to test / benchmark Ais.Net is almost impossible.

The Norwegian Costal Administration TCP endpoint produces:

  • ~2.2 KB per second
  • ~8MB per hour
  • ~190MB per day
  • ~1.3 GB per week
  • ~5.6 GB per month
  • ~67 GB per year

Azure Blob Storage Taxonomy

The AIS data is stored using the following taxonomy

<USER DEFINED CONTAINER NAME>/raw/yyyyMMdd/yyyyMMddTHH.nm4

An example directory listing, with a user defined container name of nmea-ais would look as follows:

\---nmea-ais
    \---raw
        +---20190712
        |       20190712T00.nm4
        |       20190712T01.nm4
        |       20190712T02.nm4
        |       20190712T03.nm4
        |       20190712T04.nm4
        |       20190712T05.nm4
        |       20190712T06.nm4
        |       20190712T07.nm4
        |       20190712T08.nm4
        |       20190712T09.nm4
        |       20190712T10.nm4
        |       20190712T11.nm4
        |       20190712T12.nm4
        |       20190712T13.nm4
        |       20190712T14.nm4
        |       20190712T15.nm4
        |       20190712T16.nm4
        |       20190712T17.nm4
        |       20190712T18.nm4
        |       20190712T19.nm4
        |       20190712T20.nm4
        |       20190712T21.nm4
        |       20190712T22.nm4
        |       20190712T23.nm4
        |
        +---20190713
        |       20190713T00.nm4
        |       20190713T01.nm4

To Run

Update the values in the settings.json file:

{
  "connectionString": "<YOUR AZURE STORAGE CONNECTION STRING>",
  "containerName": "<YOUR ROOT BLOB STORAGE CONTAINER NAME>"
} 

From the command line: dotnet Ais.Net.Receiver.dll

Licenses

GitHub license

AIS.Net.Receiver is also available under the Apache 2.0 open source license.

The Data ingested by the AIS.Net.Receiver is licensed under the Norwegian license for public data (NLOD).

Project Sponsor

This project is sponsored by endjin, a UK based Microsoft Gold Partner for Cloud Platform, Data Platform, Data Analytics, DevOps, and a Power BI Partner.

For more information about our products and services, or for commercial support of this project, please contact us.

We produce two free weekly newsletters; Azure Weekly for all things about the Microsoft Azure Platform, and Power BI Weekly.

Keep up with everything that's going on at endjin via our blog, follow us on Twitter, or LinkedIn.

Our other Open Source projects can be found on GitHub

Code of conduct

This project has adopted a code of conduct adapted from the Contributor Covenant to clarify expected behavior in our community. This code of conduct has been adopted by many other projects. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

IP Maturity Matrix (IMM)

The IMM is endjin's

Shared Engineering Standards

Coding Standards

Executable Specifications

Code Coverage

Benchmarks

Reference Documentation

Design & Implementation Documentation

How-to Documentation

Date of Last IP Review

Framework Version

Associated Work Items

Source Code Availability

License

Production Use

Insights

Packaging

Deployment

ais.net.receiver's People

Contributors

howardvanrooijen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.