Giter VIP home page Giter VIP logo

sat-process's Introduction

sat-process

https://travis-ci.org/sat-utils/sat-process.svg?branch=develop

Sat-process is a Python library for processing sensor specific geospatial raster data. Two sensor classes are provided here: landsat8 and sentinel2, The Landsat8Scene class is used to create a 'scene' from original landsat-8 pathrow images and metadata files, while the Sentinel2Scene class creates a 'scene' from sentinel-2 tiles and associated metadata. The core library can be used to easily build new sensor classes by using the Landsat8Scene and Sentinel2Scene classes as examples.

Using sat-process

The sat-process workflow involves creating a 'Scene' from existing data, which can then be used to generate a variety of 'Products', depending on what is defined for that sensor. More precisely, a Scene is a collection of Products covering the same spatial region for a single date/time. The Scene class (e.g., the Landsat8Scene class) determines what products may be generated from the data.

Generate a proach product is a function of the scene:

from satprocess.scene import Landsat8Scene

scene = Landsat8Scene(filenames, metadata=mtlfilename)

Products

There are several standard products available within sat-process, depending on specific sensor.

Products are generated by calling the function of the same name on that scene.

scene = Landsat8Scene(filenames, metadata=mtlfilename) ndvi = scene.ndvi()

The returned ndvi object is a Gippy GeoImage with one band, which can then be further used. Additional calls to .ndvi() will return the already processed GeoImage rather than reprocessing it. The Scene.available_products() function will return a dictionary of all the available products are their description.

The product functions accept a filename keyword, if provided the output product will be saved to that file. Otherwise, if the product produces an output (see virtual products) then it will be saved to the scene.outpath directory (deffaults to current working directory).

For a given Scene, see what products are available via

Below is a list of all the products that appear across the base Scene class, Landsat8Scene, and Sentinel2Scene.

Product Products Required Bands required Description
dc original files
Digital counts from the sensor, before conversion to radiance
pan original files
A panchromatic band (typically higher resolution)
rad dc
Apparent radiance, corrected for viewing geometry and date
toa rad or dc
Top of the atmosphere reflectance
color any any 3 bands A 3-band byte-scaled image (default: red, green, blue)
ndvi toa nir, red Normalized Difference Vegetation Index
evi toa nir, red, blue Enhanced Vegetation Index
pansharpen pan + dc/rad/toa red, green, blue Pansharpened visible bands

Band Names

The above products rely on specific bands in order to work, so sat-process uses general band names for common spectral bandpasses. The average ranges for spectral bandpasses are given in the table below, along with the band numbers for several sensors.

Band Name Band Ranges Landsat 5 Landsat 7 Landsat 8 Sentinel 2 MODIS
Coastal 0.40 - 0.45     1 1  
Blue 0.45 - 0.5 1 1 2 2 3
Green 0.5 - 0.6 2 2 3 3 4
Red 0.6 - 0.7 3 3 4 4 1
Pan 0.5 - 0.7   8 8    
NIR 0.77 - 1.00 4 4 5 8 2
Cirrus 1.35 - 1.40     9 10 26
SWIR1 1.55 - 1.75 5 5 6 11 6
SWIR2 2.1 - 2.3 7 7 7 12 7
LWIR 10.5 - 12.5 6 8      
LWIR1 10.5 - 11.5     10   31
LWIR2 11.5 - 12.5     11   32

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.