Skip to content

Instantly share code, notes, and snippets.

@tomkralidis
Last active April 26, 2022 11:01
Show Gist options
  • Save tomkralidis/bcd7067b02e5321478ff219d3edf9cd5 to your computer and use it in GitHub Desktop.
Save tomkralidis/bcd7067b02e5321478ff219d3edf9cd5 to your computer and use it in GitHub Desktop.
WIS 2.0 broker message schema
{
"id": "31e9d66a-cd83-4174-9429-b932f1abe1be",
"version": "0.9.0",
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
6.146255135536194,
46.223296618227444
]
},
"properties": {
"data_identifier": "012a3827-2cc4-45ac-8bbd-b8569e10e686",
"publication_datetime": "20220320T045018.314854383Z",
"data_datetime": "20220320T044500Z",
"integrity": {
"method": "sha512",
"value": "A2KNxvks...S8qfSCw=="
},
"topic": "wis2.a.cache.CAN.eccc-msc.data.core.weather.surface-based-obs.landFixed",
"content": {
"encoding": "utf-8",
"value": "encoded bytes from the file",
"length": 457
}
},
"links": [
{
"href": "https://example.org/data/4Pubsub/92c557ef-d28e-4713-91af-2e2e7be6f8ab.bufr4",
"rel": "canonical",
"type": "application/x-bufr"
}
]
}
$schema: https://json-schema.org/draft/2020-12/schema
$id: https://schemas.wmo.int/wis2/broker/message/0.9.0/schema.yml
title: WMO WIS 2.0 broker message schema
description: WMO WIS 2.0 broker message schema
type: object
allOf:
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/featureGeoJSON.yaml
properties:
version:
type: string
description: version of message specification
const: 0.9.0
geometry:
oneOf:
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/pointGeoJSON.yaml
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/polygonGeoJSON.yaml
properties:
type: object
properties:
data_identifier:
type: string
format: uuid
description: unique identifier for the data
publication_datetime:
type: string
format: date-time
description: |
Identifies the date/time of when the file was posted/published, in RFC3339 format.
The publication date/time is critical for subscribers to prevent message loss by knowing
their lag (how far behind the publisher they are).
data_datetime:
type: string
format: date-time
description: Identifies the date/time of the data being published, in RFC3339 format.
data_start_datetime:
type: string
format: date-time
description: Identifies the start date/time date of the data being published, in RFC3339 format.
data_end_datetime:
type: string
format: date-time
description: Identifies the end date/time date of the data being published, in RFC3339 format.
integrity:
type: object
description: Specifies a checksum to be applied to the data to ensure that the download is accurate.
properties:
method:
type: string
description: |
A specific set of methods for calculating the checksum algorithms:
* ``sha512``: the Secure Hash Algorithm 512 bits, value is base64 encoded.
* ``arbitrary``: an arbitrary string is used to identify the value.
* ``md5``: the Message Digest 5 hash (obsolete, perhaps will be rejected)
enum:
- sha512
- arbitrary
- md5
value:
type: string
description: checksum value.
required:
- method
- value
topic:
type: string
description: the WIS 2.0 topic.
content:
type: object
description: Used to embed small products inline within the message.
properties:
encoding:
type: string
description: encoding of content
enum:
- utf-8
- base64
size:
type: integer
description: Number of bytes contained in the file. Together with the ``integrity`` property, it provides additional assurance that file content was accurately received.
value:
type: string
description: the inline content of the file.
required:
- encoding
- size
required:
- publication_datetime
- data_datetime
- integrity
- topic
required:
- id
- version
- type
- geometry
- properties
- links
@josusky
Copy link

josusky commented Apr 19, 2022

The "links" part is interesting but I do not see a definition in the schema. It is not part of the GeoJSON specification (https://datatracker.ietf.org/doc/html/rfc7946) itself.
When it concerns the whole proposal, I am very sorry, that this was not discussed in advance with the TT-Protocols (ET-IS). As you can see in wmo-im/GTStoWIS2#78 - the sudden proposal for a complete redesign of something that has been used pre-operationally for about 3 years is a bit shocking.

@josusky
Copy link

josusky commented Apr 25, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment