Giter Club home page Giter Club logo

stars's Introduction

Stars

Spatio Temporal Asset Router Services

NuGet License

Stars is a set of .Net middleware for working with Spatio Temporal Catalog such as STAC but not only.

All services are built around the Catalog Resource :

  • Route service for navigating the catalog resource.
  • Supply service enables Data Providers for the assets of the catalog.
  • Harvest allows the assets to be processed by various modules for extracting additional information.
  • Process enable assets enhancement.
  • Store for linking the different resources in a catalog. For instance, by gathering items in a collection.

Services

Stars is basically a collection of services implemented in .Net that can be used to implement command line tools, web services or any programmtic logic around Spatio Temporal Catalogs. They can be combined togheter to perform simples operations like listing a catalog to complex processing of assets.

Catalog Resource

Router

This is a recursive function for trigger functions during the navigation of a Catalog. Basically it reads a catalog as a tree and crawls in every node of the catalog allowing the programmer to set functions to be executed when it meets a new node, before and after branching to the node children or when the parser comes to a leaf node. This service uses the plugins manager to find the appropriate router for a catalog data model and encoding.

🔍 plugins implementing routers may reader various catalog data model and encoding. Stars Tools implements natively

Supplier

Service managing a collection of suppliers for providing with the assets. From a resource description (e.g. uid, AOI, time...) it requests them for the data availability and organize the delivery of the assets using Carriers (e.g. HTTP/FTP/S3 download). It also allows to make orders to suppliers that offers offline datasets. Suppliers and Carriers in this service are managed as configurable plugins.

📡 E.g. Copernicus datasets providers like DIAS can be implemented as a supllier and managed in this service.

Harvester

Collection of executors that perform a scan of the data to extract useful infromation that can be added to the catalog. Executors are managed as configurable plugins.

📦 Harvester Service includes an archive extractor by default

Processing

An abstracted service enabling a trigger for procesing items of a catalog.

Coordinator

The coordination service links the catalogs and their items.

🌍 By default the coordinator creates a STAC catalog with the items and their assets.

Getting Started

Stars Command Line Tools

Stars Services are used to provide common operations with catalogs. The currently implemented ones are:

  • List crawls the tree of an input catalog
  • Copy replicates the tree of items and assets from the tree of an input catalog

Documentation

Documentation will come soon

Developing

To ensure development libraries are installed, restore all dependencies

> dotnet restore src

stars's People

Contributors

bbrauzzi avatar constantinius avatar dependabot[bot] avatar emmanuelmathot avatar enguer avatar fabricebrito avatar floeschau avatar xmichele avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stars's Issues

how to harvest from folder

since there is no documentation. I have a question
if i have a folder contains a list of airbus resources. how can i create a catalog from this folder.
1 can command line tool do this?
2 if not can i have a sample code to do this?

S2 EPSG code not set

https://github.com/Terradue/Stars/blob/develop/src/Stars.Data.Tests/Resources/ESA/[…]1027.SAFE/GRANULE/L2A_T49WDM_A020508_20210208T043937/MTD_TL.xml

      [HORIZONTAL_CS_CODE]

in commit https://github.com/Terradue/Stars/commit/946d6584d832215fb7f995deb4300bc7362244d1#diff-8343c9cc5b23fe8e6c6ac4f34c[…]ce8d82d088889031abb45aa250b78R90, this was added:

        {
            // var mtdtlAsset = FindFirstAssetFromFileNameRegex(item, "MTD_TL.xml$");
            // Level1C_Tile mtdTile = null;
            // if (mtdtlAsset != null)
            //     mtdTile = (Level1C_Tile)s2L1CProductTileSerializer.Deserialize(await mtdtlAsset.GetStreamable().GetStreamAsync());
            // stacAsset.ProjectionExtension().Epsg = int.Parse(mtdTile.Geometric_Info.Tile_Geocoding.HORIZONTAL_CS_CODE.Replace("EPSG:", ""));
            stacItem.ProjectionExtension().Epsg = null;
        }

so the harvested S2 does not have the epsg code set

Add jq and curl to the baseline tools

The use-case for jq and curl is to run

identifier=$( curl ${reference} | jq -r .id )

to get the identifier of a STAC Item and then use its value

Can jq and curl be added in the container?

With e.g.:

RUN apt-get update \
  && apt-get upgrade -y \
  && apt-get install -y hdf5-tools libssl1.1 libgssapi-krb5-2 ca-certificates curl jq \
  && rm -rf /var/lib/apt/lists/* /tmp/*

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.