Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

spacedatastandards.org

Package Overview
Dependencies
Maintainers
0
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spacedatastandards.org

space data standards framework based on ccsds standards and google flatbuffers

  • 1.6.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
852
decreased by-71.77%
Maintainers
0
Weekly downloads
 
Created
Source

SpaceDataStandards.org

This repository is dedicated to the development and dissemination of space data standards, employing Flatbuffer Interface Definition Language (IDL) schemas as a modern alternative to legacy space data message formats. By embracing Flatbuffers, we aim to provide an efficient, cross-platform serialization solution that is critical for space operations.

Flatbuffers offer several advantages over traditional data serialization methods, particularly in terms of performance and memory efficiency. This makes them highly suitable for space applications where resources are at a premium.

Example usage in JavaScript using Flatbuffer Serialization

import { writeFileSync, readFileSync } from 'fs';
import { join } from 'path';
import { writeFB, readFB } from 'spacedatastandards.org';
import ipfsHash from 'pure-ipfs-only-hash';
import { standards } from 'spacedatastandards.org';

const { OMMT } = standards.OMM;

const generateOMMData = async () => {
    const dataPath = 'test/output/data';

    const ommDataArray = [
        new OMMT({
            OBJECT_NAME: "VANGUARD 1",
            OBJECT_ID: "1958-002B",
            EPOCH: "2024-06-22T16:56:20.014080",
            // other fields as required
        }),
        new OMMT({
            OBJECT_NAME: "VANGUARD 2",
            OBJECT_ID: "1959-001A",
            EPOCH: "2024-06-23T17:58:04.409760",
            // other fields as required
        })
    ];

    const resultBuffer = writeFB(ommDataArray);
    const CID = await ipfsHash.of(resultBuffer);
    writeFileSync(join(dataPath, `${CID}.omm.fbs`), resultBuffer);

    // Reading the flatbuffer
    const buffer = readFileSync(join(dataPath, `${CID}.omm.fbs`));
    const flatbuffers = readFB(buffer);

    flatbuffers.forEach(obj => {
        console.log({
            OBJECT_NAME: obj.OBJECT_NAME,
            OBJECT_ID: obj.OBJECT_ID,
            EPOCH: obj.EPOCH
        });
    });
}

generateOMMData();

SpaceDataStandards.org

Repository Structure

The repository is structured to facilitate easy access and collaboration:

  • dist/: This directory contains the generated source code files from Flatbuffer IDLs, ready for use in various programming environments.

Purpose

The primary goal of this repository is to establish a set of standardized Flatbuffer IDLs that can replace a variety of legacy space data messages such as SATCAT, TLE, VCM, and others. These legacy formats have served the space industry for decades, but as technology progresses, the need for more advanced data handling becomes apparent.

Transitioning to Flatbuffer IDLs allows us to address the challenges of modern space data communication, ensuring faster, more reliable, and more secure data exchange. These standards are essential for the interoperability between different systems and organizations within the aerospace sector.

Generated Source Code Files

For the generated Flatbuffer IDL source code files, please refer to the dist/ folder in this repository. Each subfolder within dist/ corresponds to a specific Flatbuffer schema related to a space data standard.

Access the Generated Source Code Files

Contributing

Contributions to this repository are welcome. To propose changes or improvements to the existing Flatbuffer IDLs, please submit a pull request or open an issue for discussion.

For more detailed discussions or to request new features, you may reach out to us via email at spacestandards@digitalarsenal.io, or by opening an issue on this repository.

More Information

For a more comprehensive understanding of the space data standards being developed in this repository, please refer to our Gitbook documentation.

For historical context and information about legacy message documentation, please visit the legacy message documentation section.

License

This project is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Funding

Interested in supporting this project? Click here.

Keywords

FAQs

Package last updated on 05 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc