Skip to content

tipatterson-dev/SWECommonBinaryEncodings

Repository files navigation

OGC SWE Common 3.0 — Binary Encodings

Binary serialization schemas for the OGC SWE Common Data Model 3.0 (standard OGC 24-014) in three formats:

Format Directory Root schema
Cap'n Proto capnproto/ sweCommon3.capnp
FlatBuffers flatbuffers/ sweCommon3.fbs
Protocol Buffers protobuf/ sweCommon3.proto

All three schemas cover the same ten packages from the OGC specification and are kept in sync.

Documentation

Full docs are published at https://tipatterson-dev.github.io/SWECommonBinaryEncodings/. To browse them locally:

./docs.sh

This installs the dependencies into a virtualenv and starts a live-reloading server at http://localhost:8000. Edit any file under docs/ and the browser refreshes automatically.

If you just want a one-off build without the dev server:

./docs.sh build

The static site is written to site/.

Building schemas

You need the compiler for whichever format you want to use (see Installation for setup instructions). Then:

make all          # build all three
make capnproto    # Cap'n Proto only
make flatbuffers  # FlatBuffers only
make protobuf     # Protocol Buffers only

Generated code lands in gen/<format>/. Override the target language with:

make capnproto  CAPNP_LANG=java
make flatbuffers FLATC_LANG=python
make protobuf   PROTO_LANG=go

Project structure

capnproto/           Cap'n Proto schemas
flatbuffers/         FlatBuffers schemas
protobuf/            Protocol Buffers schemas
docs/                MkDocs documentation source
gen/                 Generated code (not committed)
Makefile             Schema compilation
mkdocs.yml          Docs site configuration
docs.sh              Docs helper script

AI disclosure

AI was used in the initial generation of the schema code in this repository, and the documentation under docs/ (and the published site) is entirely AI-generated. The schemas have been reviewed against the OGC SWE Common 3.0 specification, but neither the code nor the docs should be treated as authoritative without independent verification against OGC 24-014.

Use this project at your own risk. The authors assume no liability for any errors, omissions, or damages arising from its use — see LICENSE for the full disclaimer.

License

See LICENSE for details.

About

A first pass look at example SWE Common Data Model 3.0 Binary Encodings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors