Introduction to GRASS GIS Time Series Analysis of Remote Sensing Data

Introduction to GRASS GIS Time Series Analysis of Remote Sensing Data

Introduction to GRASS GIS Time Series Analysis of Remote Sensing Data Micha Silver Remote Sensing Laboratory Ben Gurion University, Sde Boker Campus 11/06/2018 email: [email protected] (Sde Boker - Remote Sensing Lab) 11/06/2018 1 / 22 Goals Some background Initial setup Examples of batch processing Define and analyze GRASS Spatial-Temporal Dataset (Sde Boker - Remote Sensing Lab) 11/06/2018 2 / 22 Overview Among the most experienced GIS in the world Actively developed, current stable version: 7.4.0 License: GPL About 350 modules - raster, vector, database, space-time Over 130 addons Topologically clean vector format 3D visualizations Fully script-able in bash or python GRASS Development Team, 2018. Geographic Resources Analysis Support System (GRASS) Software, Version 7.4. Open Source Geospatial Foundation. https://grass.osgeo.org (Sde Boker - Remote Sensing Lab) 11/06/2018 3 / 22 Flood hazards Shortest distance Landscape changes LIDAR point clouds Use cases Flooding simulation (Sde Boker - Remote Sensing Lab) 11/06/2018 4 / 22 Shortest distance Landscape changes LIDAR point clouds Use cases Flooding simulation Flood hazards (Sde Boker - Remote Sensing Lab) 11/06/2018 4 / 22 Landscape changes LIDAR point clouds Use cases Flooding simulation Flood hazards Shortest distance (Sde Boker - Remote Sensing Lab) 11/06/2018 4 / 22 LIDAR point clouds Use cases Flooding simulation Flood hazards Shortest distance Landscape changes (Sde Boker - Remote Sensing Lab) 11/06/2018 4 / 22 Use cases Flooding simulation Flood hazards Shortest distance Landscape changes LIDAR point clouds (Sde Boker - Remote Sensing Lab) 11/06/2018 4 / 22 Interaction with Open Source GIS Ecosystem (Sde Boker - Remote Sensing Lab) 11/06/2018 5 / 22 Interaction with Open Source GIS Ecosystem (Sde Boker - Remote Sensing Lab) 11/06/2018 5 / 22 Interaction with Open Source GIS Ecosystem (Sde Boker - Remote Sensing Lab) 11/06/2018 5 / 22 Online Documentation Tutorial: http://www.training.gismentors.eu/grass-gis-workshop-jena-2018/ units/01.html Wiki: https://grasswiki.osgeo.org/wiki/From_GRASS_GIS_novice_to_power_ user_(workshop_at_FOSS4G_Boston_2017) The GRASS book: https://grassbook.org/ User's maillist: http://lists.osgeo.org/mailman/listinfo/grass-user NCSU Lab: http: //ncsu-geoforall-lab.github.io/geospatial-modeling-course/grass/ Spatial-Temporal workshop: http://ncsu-geoforall-lab.github.io/grass-temporal-workshop/ (Sde Boker - Remote Sensing Lab) 11/06/2018 6 / 22 Getting help Built-in manuals and help (Sde Boker - Remote Sensing Lab) 11/06/2018 7 / 22 Getting help Built-in manuals and help (Sde Boker - Remote Sensing Lab) 11/06/2018 7 / 22 Two take-home messages: 1 Location = Coordinate System 2 Set GRASS region GRASS - Initial setup GRASS Database I Location defined by coordinate reference system I Mapset contains data for a project Always check and set computational region (Sde Boker - Remote Sensing Lab) 11/06/2018 8 / 22 Two take-home messages: 1 Location = Coordinate System 2 Set GRASS region GRASS - Initial setup GRASS Database I Location defined by coordinate reference system I Mapset contains data for a project Always check and set computational region (Sde Boker - Remote Sensing Lab) 11/06/2018 8 / 22 GRASS - Initial setup GRASS Database I Location defined by coordinate reference system I Mapset contains data for a project Always check and set computational region Two take-home messages: 1 Location = Coordinate System 2 Set GRASS region (Sde Boker - Remote Sensing Lab) 11/06/2018 8 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup Find EPSG codes here: http://epsg.io/ (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup Always set the computational region (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup Always set the computational region (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup Always set the computational region (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 GRASS - Initial setup (Sde Boker - Remote Sensing Lab) 11/06/2018 9 / 22 Batch Processing in GRASS (Sde Boker - Remote Sensing Lab) 11/06/2018 10 / 22 Language choices: Windows command prompt cmd.exe Linux bash shell script (also on MacOS) python (any OS) Batch Processing Time series analysis requires processing large batches of input (Sde Boker - Remote Sensing Lab) 11/06/2018 11 / 22 python (any OS) Batch Processing Language choices: Windows command prompt cmd.exe Linux bash shell script (also on MacOS) (Sde Boker - Remote Sensing Lab) 11/06/2018 11 / 22 Batch Processing Language choices: Windows command prompt cmd.exe Linux bash shell script (also on MacOS) python (any OS) (Sde Boker - Remote Sensing Lab) 11/06/2018 11 / 22 Batch Processing Language choices: Windows command prompt cmd.exe Linux bash shell script (also on MacOS) python (any OS) I Python scripting in GRASS session: import grass . script as gscript (Sde Boker - Remote Sensing Lab) 11/06/2018 11 / 22 GRASS - Batch import GRASS command names: general commands: g.∗ raster commands: r .∗ vector commands v.∗ temporal commands t .∗ Start GRASS pointing to the LOCATION/MAPSET that we created: # The location/mapset was already created GRASS DIR="$ fBASE DIRg/grassdata/UTM31N/camargue" cd $fTARGET DIRg # Start grass grass $GRASS DIR # All following commands are entered at GRASS terminal # Import NDVI rasters f o r f i n 20∗. t i f ; do r=`basename $f .tif ` r . i n .gdal input=$f output="ndvi $ f r g" band=1 done (Sde Boker - Remote Sensing Lab) 11/06/2018 12 / 22 GRASS - Set Computational Region # Geta list of all GRASS rasters RAST LIST=`g. list rast separator=comma pattern=ndvi ∗ ` # Set computational region g . r e g i o n −p r a s t=$fRAST LISTg # Apply color ramp to the whole list r. colors map=$fRAST LISTg c o l o r=n d v i (Sde Boker - Remote Sensing Lab) 11/06/2018 13 / 22 STRDS in GRASS Spatial-Temporal Raster Datasets (Sde Boker - Remote Sensing Lab) 11/06/2018 14 / 22 GRASS - Seasonal Difference in NDVI Use map calculator to get diff between NDVI from two dates # Compare Winter/Summer difference r . mapcalc"season d i f f= 1.0 ∗ (ndvi 20170702 − ndvi 20180123)" r.colors season diff color=$fCODE DIRg/ d i f f r a m p . t x t Note: multiply by 1.0 to force REAL number, otherwise an INTEGER raster is created (Sde Boker - Remote Sensing Lab) 11/06/2018 15 / 22 GRASS - Seasonal Difference in NDVI (Sde Boker - Remote Sensing Lab) 11/06/2018 15 / 22 GRASS - Spatial Temporal Raster DataSet Create a new, empty Spatial-Temporal Raster Dataset ( strds ) # Create and populate space −t i m e raster dataset t.create output=camargue ndvi type=s t r d s temporaltype=absolute title="camargue NDVI" n description="camargue NDVI time series" and populate with all NDVI rasters, using bash date manipulation to set start and end times f o r r i n `g.list rast pattern=ndvi ∗ ` ; do y=$f r : 5 : 4 g m=$f r : 9 : 2 g d=$f r : 1 1 : 2 g s d t=$y−$m−$d e d t =` date −d"$s d t+1 days"+"%Y −%m−%d"` t. register input=camargue ndvi maps=$r n s t a r t=$ s d t end=$ e d t −−o v e r w r i t e done (Sde Boker - Remote Sensing Lab) 11/06/2018 16 / 22 View the Timeline g.gui.timeline strds=camargue ndvi g.gui.animation strds=camargue ndvi GRASS - Check STRDS Set color ramp, and check info t.rast.colors camargue ndvi color=ndvi t.info camargue ndvi t.rast.list camargue ndvi colu=id ,start t i m e , end time (Sde Boker - Remote Sensing Lab) 11/06/2018 17 / 22 GRASS - Check STRDS Set color ramp, and check info t.rast.colors camargue ndvi color=ndvi t.info camargue ndvi t.rast.list camargue ndvi colu=id ,start t i m e , end time View the Timeline g.gui.timeline strds=camargue ndvi g.gui.animation strds=camargue ndvi (Sde Boker - Remote Sensing Lab) 11/06/2018 17 / 22 Add Animation Add STRDS to animation Choose the STRDS GRASS - STRDS Animation Show STRDS as animation (Sde Boker - Remote Sensing Lab) 11/06/2018 18 / 22 Show STRDS as animation Add STRDS to animation Choose the STRDS GRASS - STRDS Animation Add Animation (Sde Boker - Remote Sensing Lab) 11/06/2018 18 / 22 Show STRDS as animation Add Animation Choose the STRDS GRASS - STRDS Animation Add STRDS to animation (Sde Boker - Remote Sensing Lab) 11/06/2018 18 / 22 Show STRDS as animation Add STRDS to animation Add Animation GRASS - STRDS Animation Choose the STRDS (Sde Boker - Remote Sensing Lab) 11/06/2018 18 / 22 GRASS - Animation Result (Sde Boker - Remote Sensing Lab) 11/06/2018 19 / 22 GRASS - STRDS Aggregation Module: t.rast.series #t.rast.series example t.rast. series input=camargue ndvi@camargue method=slope n where="start t i m e >'2017−09−01 00:00' and n s t a r t t i m e <'2017−12−31" output=camargue n d v i s l o p e f a l l (Sde Boker - Remote Sensing Lab) 11/06/2018 20 / 22 GRASS - STRDS Aggregation (Sde Boker - Remote Sensing Lab) 11/06/2018 20 / 22 GRASS Interpolate Missing Time slots Linear interpolation between dates Module: t.rast.gapfill (Sde Boker - Remote Sensing Lab) 11/06/2018 21 / 22 GRASS Interpolate Missing Time slots Linear interpolation between dates Module: t.rast.gapfill (Sde Boker - Remote Sensing Lab) 11/06/2018 21 / 22 GRASS Interpolate Missing Time slots List of maps in STRDS, including interpolated (Sde Boker - Remote Sensing Lab) 11/06/2018 21 / 22 GRASS Interpolate Missing Time slots List of maps in STRDS, including interpolated (Sde Boker - Remote Sensing Lab) 11/06/2018 21 / 22 Thanks Thanks for your attention (Sde Boker - Remote Sensing Lab) 11/06/2018 22 / 22.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    52 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us