Skip to content

othmaneechc/gee-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Satellite Image Downloader

This repository contains a tool to download satellite images, located in imageExporter.py. The tool requires a .csv file with coordinates, the dataset to download images from (Sentinel, NAIP, Landsat, and more), the desired dimensions of the output images and bands, the output directory path, and an option to pansharpen images (only available for Landsat).

Usage Instructions

Basic Command

To run the code with default arguments:

python imageExporter.py -f FILEPATH [-h] [-f FILEPATH] [-d DATASET] [-s START_DATE] [-e END_DATE] [-he HEIGHT] [-w WIDTH] [-o OUTPUT_DIR] [-sh SHARPENED]

options:
  -h, --help            show this help message and exit
  -f FILEPATH, --filepath FILEPATH
                        path to coordinates csv file (assumptions: 2 columns only, top row: lon, lat)
  -d DATASET, --dataset DATASET
                        name of dataset to pull images from (sentinel, landsat, or naip)
  -s START_DATE, --start_date START_DATE
                        start date for getting images
  -e END_DATE, --end_date END_DATE
                        end date for getting images
  -he HEIGHT, --height HEIGHT
                        height of output images (in px)
  -w WIDTH, --width WIDTH
                        width of output images (in px)
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        path to output directory
  -sh SHARPENED, --sharpened SHARPENED
                        download pan-sharpened image (only available for Landsat)
  -b BAND, --band BAND
                        which group of bands (RGB, NIR, etc.)

Since all arguments are set by default, the most basic way of running the code would be:

python imageExporter.py -f FILEPATH

with FILEPATH replaced by the path to the desired coordinates csv file. We also provide cmd/run_image_exporter.sh and /coordinates/coordinates.csv that can be used to download images.

Pre-requisites

To run the tool, the user needs to have a personal or service account (we use a service account) to authenticate to Google Earth Engine, as well as a private JSON for that account. Instructions on how to create a service account can be found here: Create Service Account. This link provides instructions to create the private JSON key: Create JSON Key for Service Account.

Another requirement of the program is to install the Google Earth Engine. Instructions on how to do so can be found here: Earth Engine Installation.

To install the rest of the required packages, the user can create a conda environment similar to the one we use. Our environment file can be found in ee_env.yml. Installing a conda environment using a yml file is done through: conda env create -f YML_FILE_NAME

You might need to run the following command:

conda install -c conda-forge google-cloud-sdk

Credits

This repository was developed as part of the Data+ 2022 project. Special thanks to Saad Lahrichi, who wrote most of the code in this repository. For more details, visit the Data+ 2022 GitHub repository.

About

This repository contains the code used to download satellite data from Google Earth Explorer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 91.2%
  • Shell 8.8%