Skip to content

Instantly share code, notes, and snippets.


ashaw/ Secret

Last active December 16, 2020 20:38
Show Gist options
  • Save ashaw/0862ec044c45b9aa3c76 to your computer and use it in GitHub Desktop.
Save ashaw/0862ec044c45b9aa3c76 to your computer and use it in GitHub Desktop.
SRCCON 2014 Raster Data

Telling Stories with Raster Data

SRCCON 2014 | Al Shaw | @A_L |

This file:

Announcement: SimpleTiles/SimplerTiles raster

  • Shameless plug: SimpleTiles + SimplerTiles now support raster data.

  • SimplerTiles slippy map example:

      map = do |m|
        m.slippy params[:x].to_i, params[:y].to_i, params[:z].to_i
        m.raster_layer "path/to/geo.tif"
  • SimplerTiles Raster DEMO <--- Image is scene LC80130322014100LGN00 available on the thumb drive, hastily pansharpened in Photoshop

Vector maps are everywhere, thanks to Google Maps and Census data


Raster data is images associated with geographic data

When reporting ruins a good story: Georeferencing FEMA's paper flood maps after Weld County, Colo. flooding

Our Bands Could Be Your Life

  • Three kinds of resolution: spatial, temporal, wavelength
  • Comparisons:


  • Landsat 7/8 bands compared

Where do I get it?

How do I use it?

  • Georeference in QGIS

  • Check the geo headers of a file with gdalinfo

      Driver: GTiff/GeoTIFF
      Files: LC80130322014100LGN00_B1.TIF
      Size is 7661, 7791
      Coordinate System is:
      PROJCS["WGS 84 / UTM zone 18N",
          GEOGCS["WGS 84",
                  SPHEROID["WGS 84",6378137,298.257223563,
      Origin = (524085.000000000000000,4582215.000000000000000)
      Pixel Size = (30.000000000000000,-30.000000000000000)
      Image Structure Metadata:
      Corner Coordinates:
      Upper Left  (  524085.000, 4582215.000) ( 74d42'42.88"W, 41d23'27.98"N)
      Lower Left  (  524085.000, 4348485.000) ( 74d43'14.63"W, 39d17' 7.42"N)
      Upper Right (  753915.000, 4582215.000) ( 71d57'53.48"W, 41d21' 5.12"N)
      Lower Right (  753915.000, 4348485.000) ( 72d 3'27.41"W, 39d14'54.75"N)
      Center      (  639000.000, 4465350.000) ( 73d21'49.68"W, 40d19'37.63"N)
      Band 1 Block=7661x1 Type=UInt16, ColorInterp=Gray
  • Hint: find the EPSG SRS code from Proj string with prj2epsg

  • Hint: reproject coordinates together with cs2cs, also available online

  • Reproject images with gdalwarp

      for band in {4,3,2}
        gdalwarp -t_srs EPSG:3857 img_$band.tif img_$band_projected.tif
  • Stitch scenes together with gdalwarp

      for scenes in $(ls)
        gdalwarp --config GDAL_CACHEMAX 3000 -wm 3000 $scenes stitched.tif
  • Merge bands together with

      # preserve nodata -n 0 -a_nodata 0 -o out.tiff image1_band1.tiff image1_band2.tif
  • Add geographic headers to any TIF with -a_srs EPSG:3857 scene.tif
  • Manipulate and combine images using convert, then put geo headers back in with listgeo

       # generate a tfw file
       listgeo -tfw scene.tif
  • Do calculations between bands with

  • Putting it all together: charlie-loyd.rake based on Charlie Loyd's post.

  • Mapbox guide to processing satellite imagery

  • The old fashioned way: Rob Simmon's "How to Make a True-Color Landsat 8 Image"

  • GDAL cheat sheet from Derek Watkins

  • GDAL scripts from Dan Stahlke

What we're working on

  • True color (4,3,2) Landsat 8 image of southeast Louisiana

  • False color (7,5,3) image of southeast Louisiana to accentuate coastal erosion

  • Land loss in Lafitte, La. since 1956

Big problems/discussion

  • How to acquire and process data programmatically, to create "real time" raster apps?
  • How do we stitch and blend together large amounts of data, especially with cloud cover?
  • How can we store and serve massive GeoTIFFs?
  • Design/presentation issues: How do we show false color images to readers without being misleading?
  • Deciding between vector and raster maps
  • Processing your own imagery vs. using Google or Mapbox imagery
  • The future of raster - privacy concerns with increased spatial and temporal resolution
  • The uncanny valley of sharpening and post-processing: when does an image become an illustration?

On the thumb drive

  • Landsat 8 scenes LC80130322014100LGN00 and LC80140322014187LGN00 (NYC meets Philly <3 <3 <3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment