Code Monkey home page Code Monkey logo

geosentry / terrarium Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 0.0 461 KB

Terrarium is a Python Package for geospatial manipulation and raster/vector generation for the GeoSentry ๐ŸŒ Platform powered by Google Earth Engine and Google Maps Platform.

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

License: MIT License

Python 100.00%
google-earth-engine gis geospatial-analysis spectral-analysis scene-classification temporal-analysis topography sentinel-2 satellite-imagery python-package alos-2 geocoding google-maps-api

terrarium's Introduction

Terrarium

Banner

Terrarium is a Python Package that contains the Earth Engine and GIS related tooling for the GeoSentry ๐ŸŒ Platform.

Version: 0.4.1
Language: Python 3.9
License: MIT
Status: In Development

Overview

GeoSentry is a geospatial observation platform with spectral, topographical and comparative analytics along with a community-curated gallery of stunning satellite imagery powered by ESA's Sentinel-2 & Google Earth Engine.

Google Earth Engine

Terrarium uses the Earth Engine Python API for much of its geospatial manipulation functionality and satellite imagery datasources. Google Earth Engine is a planetary-scale platform for Earth science data & analysis that is powered by Google's Cloud Infrastructure and integrates well with Google Cloud Platform.

Satellite Sources

Terrarium is mostly confined to using the European Space Agency's Sentinel-2 MSI Level-2A dataset which is corrected for Surface Reflectance and available within the Earth Engine Data Catalog with the Collection ID COPERNICUS/S2_SR. The multi-spectral bands of the dataset are used for spectral index generation and false color compositions.

The Truecolor bands available to the L2A collection is also used for generation images, while the SCL band is used for rendering the Scene Classification Layer as part of GeoSentry's topographical analysis.

Cloudiness values are generated using Sentinel-2 Cloud Probability dataset which is also available on the Earth Engine Catalog with the Collection ID COPERNICUS/S2_CLOUD_PROBABILITY.

Terrarium also uses JAXA's ALOS DSM dataset for altitude based topographical analysis. The dataset is available with the Collection ID JAXA/ALOS/AW3D30/V3_2.

Installation

The package can be installed with pip using the following command.

pip install git+https://github.com/geosentry/terrarium#egg=terrarium

A specific version of the package can also be installed. The v0.3.0 tag can be installed using

pip install git+https://github.com/geosentry/[email protected]#egg=terrarium

Authentication

The package requires authentication setup to use services such as Google Earth Engine and Google Maps Platform.

Google Earth Engine

Authentication for the Google Earth Engine API is done using a IAM Service Account.

  1. A Service Account needs to be created and registered with Earth Engin. Refer to the guide on creating and registering service accounts for Earth Engine.
  2. Grant the Storage Object Admin IAM role to the Service Account. This allows it to perform exports to a Cloud Storage Bucket.
  3. Generate a key for the Service Account and store it somewhere safe.
  4. Set the path to this key file in the GOOGLE_APPLICATION_CREDENTIALS environment variable.
  5. Terrarium uses this environment variable to point to the credentials used to authenticate the Earth Engine Session.

Google Maps Platform

Authentication for the Google Maps APIs are done using an API Key. The Terrarium package currently uses the Geocoding API for reverse coding and address resolution. API Keys can be created with the steps specified in this guide.

  1. Create an API Key from the Google Cloud Platform Project
  2. Store the API Key in the environment variable MAPS_APIKEY.

Changelog

The package changelog is located in the CHANGELOG.md file in the root directory of the repository.

terrarium's People

Contributors

manishmeganathan avatar

Stargazers

 avatar

terrarium's Issues

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.