GithubHelp home page GithubHelp logo

pranavmyname / dw-analytics Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.44 MB

Analytics based on Dynamic World LULC derived from Sentinel - 2 images

Python 3.28% HTML 1.03% Jupyter Notebook 95.69%
change-detection earth-engine filtering google-earth-engine python sentinel-2 time-series lulc lulc-changes

dw-analytics's Introduction

Credits: https://github.com/google/dynamicworld

Overview

This repo contains filtering modules for dynamic world data available on google earth engine. The filtering functions have been written to aid in time-series analysis and solve problems such as poor predictions due to cloudy or unforseen weather conditions through the utilisation previous trust-worthy values. It can also be used for the Sentinel-2 data catalogue. It also contains example codes on change detection post filtering the data with the modules available in this repo. The data thus generated can be visualized with a flask application that can be run with the main.py file in the app folder.

Important files:

  • ge_cd.ipynb: Example notebook that filters the images from dynamic world and saves aggregate data in the form a json file that can be imported to a dataframe or for visualization. An example of visualizing the data is also present in the notebook
  • main.py: A flask application that visualises the data stored in json format

Description

The filtering modules available in this repo are:

  1. mosaicSamedayImage: In the google earth image collection, you will get multiple images for the same day which originates from multiple tiles where the original image was captured from the satellite. Post mosaic, you get a new image collection with composites of all such images as a single image with a timstamp that removes the time of capture and only retains day, month and year in the metadata. For eg:, in the Bangalore urban region, we have two images shown below both of which are captured on 2016-01-11:
Tile 1 - 2016-01-11 Tile 2 - 2016-01-11
GOOGLE/DYNAMICWORLD/V1/20160110T051202_20160110T052202_T43PHQ GOOGLE/DYNAMICWORLD/V1/20160110T051202_20160110T052202_T43PGQ
  1. computeMonthlyMedians: It takes an image collection and returns another image collection where each image is the median of all images that were captured in that particular month

  2. forward_fill: This is an important filtering function that comes with this repo. One of the major issues with time-series analysis is that values for a particular pixels may be missing in subsequent images after creating masks on cloudy regions. Therefore, when generating aggregate statistics such as total vegetation cover, total croplands, rate of increase of construction etc for a region our analysis are greatly affected by the null values present for a period of month. The approach that has been taken in this repo says that if for a certain period of time, I am not able to analyze the some of the pixels on a particular site because it is covered by cloud, I will assume the last known data for that particular pixel as current knowledge until and unless clouds have cleared and I can see what is happening. This has been achieved by recording all the known values for all pixels for a time stamp and carrying it forward to the next image in the image collection if that pixel is masked by clouds.

Cloudy tiles Post forward_fill

dw-analytics's People

Contributors

pranavmyname avatar

Watchers

 avatar

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.