
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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages52 Page
-
File Size-