-
-
Save maning/f1613f015fe5484be54d0e98e81a4aba to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash -ex | |
# Convert Landsat 8 GeoTIFF images into RGB pan-sharpened JPEGs. | |
# | |
# Requirements: | |
# * gdal http://www.mapbox.com/tilemill/docs/guides/gdal/ | |
# * Dan Stahlke's https://github.com/gina-alaska/dans-gdal-scripts | |
# * convert (image-magick) | |
# | |
# Reference info: | |
# http://www.mapbox.com/blog/putting-landsat-8-bands-to-work/ | |
# http://www.mapbox.com/tilemill/docs/guides/gdal/ | |
# http://www.mapbox.com/blog/processing-landsat-8/ | |
# http://earthexplorer.usgs.gov/ | |
if [[ -z "$1" ]]; then | |
echo "Landsat image processing" | |
echo "" | |
echo "Converts to 8-bit, merges RGB, pan-sharpens, colour corrects and converts to JPG" | |
echo "Example: process_landsat LC82010242013198LGN00" | |
echo "" | |
exit 0 | |
fi | |
if [ ! -f ./"$1"_B2.TIF ]; then | |
echo "File not found!" | |
exit 0 | |
fi | |
if [ ! -d "$DIRECTORY" ]; then | |
mkdir tmp | |
fi | |
# Convert 16-bit images into 8-bit and tweak levels | |
for BAND in {8,4,3,2}; do | |
gdalwarp "$1"_B"$BAND".TIF ./tmp/b"$BAND"-projected.tif; | |
gdal_contrast_stretch -ndv 0 -linear-stretch 70 30 ./tmp/b"$BAND"-projected.tif ./tmp/b"$BAND"-8bit.tif; | |
done | |
# Merge RGB bands into one image | |
gdal_merge_simple -in ./tmp/b4-8bit.tif -in ./tmp/b3-8bit.tif -in ./tmp/b2-8bit.tif -out ./tmp/rgb.tif | |
# Pan-sharpen RGB image | |
gdal_landsat_pansharp -rgb ./tmp/rgb.tif -lum ./tmp/rgb.tif 0.25 0.23 0.52 -pan ./tmp/b3-8bit.tif -ndv 0 -o "$1"_RGB.TIF | |
# Colour correct and convert to JPG | |
convert -verbose -channel B -gamma 0.8 -quality 95 "$1"_RGB.TIF "$1"_RGB.JPG | |
echo "Finished." | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment