Code Monkey home page Code Monkey logo

geosentry / geocore Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 485 KB

Serverless Microservices for the GeoCore API, used internally for the core geospatial functionalities of the GeoSentry ๐ŸŒ Platform facilitated by the Terrarium package. The Services are built with Docker, stored on Artifact Registry, deployed on Cloud Run and discoverable with Service Directory.

Home Page: https://geosentry.web.app

License: MIT License

Dockerfile 9.75% Python 90.25%
google-cloud docker buildpacks artifact-registry cloud-run cloud-functions google-earth-engine flask-restful geospatial gis cloud-native serverless-api service-discovery

geocore's Introduction

geocore

Banner

Serverless Microservices for the GeoCore API, used internally for the core geospatial functionalities of the GeoSentry ๐ŸŒ Platform facilitated by the Terrarium package. The Services are built with Docker, stored on Artifact Registry, deployed on Cloud Run and discoverable with Service Directory.

The repository contains the server runtimes for a handful of microservices that are packaged as Docker containers. The containers are hosted on GCP's Artifact Registry. The individual microservices are stitched together and exposed as a single endpoint using API Gateway. The OpenAPI Swagger spec is implemented in the geosentry/cloud repository and deployed as part of its Terraform Manifest.

The repository contains a directory for each GeoCore service, each of which contain a Dockerfile, a main.py, a README.md and a requirements.txt file. These files define each service's build, server runtime, description and dependencies.

The 5 GeoCore Services are

  • chrono
  • spatio
  • raster
  • vector

The specs and details of each service is defined within its respective README file.

The geosentry/eventhandlers repository defines the serverless event-driven functions that operate around the GeoCore APIs and the entities it modifies. The geosenry/cloud repository defines the Terraform manifest for the cloud configuration. It also contains the metadata and resource configurations for the cloud services such as Service Directory and Artifact Registry as well as the individual Cloud Run services that make up the GeoCore API.

geocore's People

Contributors

manishmeganathan avatar

geocore's Issues

Document GeoCore Raster APIs

Fill documentation for geocore-spectral REST specs

  • REST Spec for /spectral
  • REST Spec for /truecolor
  • REST Spec for /falsecolor
  • REST Spec for /scl
  • REST Spec for /altitude

Develop Check API

  • Develop the /check endpoint of the geocore-chrono service

check runtime

Check if a new acquisition exists given the bounds and last acquisition date

Response Format

{
    "exists": <bool>
}

Request Format

{
    "bounds": [<float>,<float>,<float>,<float>],
    "timestamp": <isostr>
}

Develop Spectral API

Develop the /spectral endpoint of the geocore-raster service

Generate spectral images for indices and export them to the assets bucket and register them with the task clerk.

Request Format

{
    "bounds": [<float>,<float>,<float>,<float>],
    "timestamp": <isostr>,
    "prefix": <str>,
    "bucket": <str>,
    "index": <str>
}

Response Format

{
    "complete": <bool>,
   "export-task": <str>
}

Develop SCL API

  • Develop an /scl endpoint in geocore-raster
  • Service has to create the scene classification layer from the Sentinel-2 Image and add the correct color palette.

Develop Altitude API

  • Develop an /altitude endpoint for geocore-raster
  • Service must create an altitude contours image from the ALOS DSM dataset

Develop Select API

  • Develop the /select endpoint of the geocore-chrono service

select runtime

Select the latest tileimage for the bounds that completely covers the geometry.
Return the timestamps for the last 5 acquisitions on that cycle.

Response Format

{
    "timestamps": <list><isostr>
}

Request Format

{
    "bounds": [<float>, <float>, <float>, <float>],
    "count": <int>
}

Develop Truecolor API

Develop the /truecolor endpoint of the geocore-raster service

Generate truecolor image and export it to the assets bucket and register it with the task clerk.

Request Format

{
    "bounds": [<float>,<float>,<float>,<float>],
    "timestamp": <isostr>,
    "prefix": <str>,
    "bucket": <str>
}

Response Format

{
    "complete": <bool>,
   "export-tasks": <str>
}

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.