Giter Site home page Giter Site logo

Comments (6)

panaaj avatar panaaj commented on July 17, 2024

I am looking into this. Iā€™d like to implement this in a way that aligns with the Signal K data model so the feature works regardless of the signalk server implementation.

Something like a plugin that serves the GRIB data via a resources path which can displayed as layers on the map. For example the signalk-windjs plugin serves wind data from NOAA GRIB files as JSON from a plugin defined path rather than resources. It would good to have a plugin like this serve the data from a signalk api path instead.

It maybe worth raising this for discussion on a Slack channel.

from freeboard-sk.

panaaj avatar panaaj commented on July 17, 2024

After some inital design work I have added some inital support for displaying JSON formatted GRIB data that is planned to be available in the next release as an experiment.
To display GRIB data the Signal K server will need to serve JSON output from the GRIB2JSON tool for the following paths:

  • ./resources/grib: return a list of GRIB resource ids and their headers in the following format
{
	"2019101012": {
		"contents": [{
			"parameterCategory": 0,
			"parameterCategoryName": "Temperature",
			"parameterNumber": 0,
			...
			"refTime": "2019-10-10T12:00:00.000Z"
		}, {
			"parameterCategory": 2,
			"parameterCategoryName": "Momentum",
			"parameterNumber": 2,
			"parameterNumberName": "U-component_of_wind",
                      ...
                }]
          },
         "2019101018": {
               ...
         }
}
  • ./resources/grib/<id>: return all contents for the selected GRIB resource id

  • ./resources/grib/<id>:<sections>: return selected content sections as per the supplied <sections> list for the selected GRIB resource id.
    Note: <sections> is the zero based index of the sections required.

e.g. return 3rd section (index=2) ./resources/grib/2019101018:2

e.g. return 1st and 3rd sectios (indexes= 0 & 2) ./resources/grib/2019101018:0-2

from freeboard-sk.

panaaj avatar panaaj commented on July 17, 2024

Sample of Freeboard screenshot:
image

from freeboard-sk.

panaaj avatar panaaj commented on July 17, 2024

Release available for testing.

from freeboard-sk.

panaaj avatar panaaj commented on July 17, 2024

v1.8.0 Experiment:

v1.8.0 in conjuction with the freeboard-sk-helper plugin provides the ability to serve and display JSON formatted GRIB data.

To try this out:

  1. Install the freeboard-sk-helper plugin
  2. In Freeboard go to the bottom of the Settings screen and check Experimental Features. This will display the GRIB (cloud icon) button on the right side of the screen.
  3. Place JSON formatted GRIB data (created by the GRIB2JSON java application) in the .signalk/freeboard-sk-helper/grib folder on your Signal K server.

Clicking the GRIB data button will display the GRIB panel at the bottom of the screen where you can select a GRIB file (time) and if it contains Wind Vector and / or Temperature data to display on the map.

Note: a Zoom In prompt will appear in the GRIB panel if your current zoom level is not within the zoom range that GRIB data is displayed.

from freeboard-sk.

joabakk avatar joabakk commented on July 17, 2024

Wow, this is great. Thanks a lot!

from freeboard-sk.

Related Issues (20)

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.