GRASS GIS in the sky GRASS GIS as high- performance remote sensing - - PowerPoint PPT Presentation

grass gis in the sky
SMART_READER_LITE
LIVE PREVIEW

GRASS GIS in the sky GRASS GIS as high- performance remote sensing - - PowerPoint PPT Presentation

GRASS GIS in the sky GRASS GIS as high- performance remote sensing toolbox Markus Neteler, Markus Metz, Moritz Lennert https://grass.osgeo.org/ GRASS GIS Intro Geographic Resources Analysis Support System Open Source GIS developed


slide-1
SLIDE 1

GRASS GIS in the sky

GRASS GIS as high- performance remote sensing toolbox

Markus Neteler, Markus Metz, Moritz Lennert https://grass.osgeo.org/

slide-2
SLIDE 2

FOSDEM 2018 GRASS GIS in the sky 2/20

GRASS GIS Intro

r3.flow Skyview factor from LiDAR g.gui.tplot

  • Geographic Resources Analysis Support System
  • Open Source GIS
  • developed since 1984, since 1999 GNU GPL
  • Portable code (many operating systems, 32/64bit)
  • Your GIS backbone – linkable to:
slide-3
SLIDE 3

FOSDEM 2018 GRASS GIS in the sky 3/20

GRASS GIS and Python

Using GRASS GIS from “outside” through “grass-session”

pip install git+https://github.com/zarch/grass-session.git # in future, the stable "grass-session" release # will be available with: # pip install grass-session

Finally easy use of GRASS GIS as a processing backend in Python! Combine with GDAL, OTB, ...

slide-4
SLIDE 4

FOSDEM 2018 GRASS GIS in the sky 4/20

GRASS GIS 7.4 Release

  • New: Get demo data at start screen
  • GUI: data catalog improved
  • Most of ortho-rectification brought back
  • r.in.gdal + r.external: provide support for import of

raster maps exceeding 90N or 90S or with an EW extent larger than 360 degrees

  • r.out.gdal: possibility to create overviews which

enhances the compatibility with other GIS software packages

  • v.clip added for easy vector clipping
  • … (480 fixes and improvements with respect to

7.2.0)

https://trac.osgeo.org/grass/wiki/Grass7/NewFeatures74

slide-5
SLIDE 5

FOSDEM 2018 GRASS GIS in the sky 5/20

GRASS GIS 7.4 Release

  • Atmospheric correction updated with new

satellites

  • MODIS product processing made easy
slide-6
SLIDE 6

FOSDEM 2018 GRASS GIS in the sky 6/20

Remote sensing in GRASS GIS : a long history

  • Imagery submodule already

available for GRASS 1.1 in 1986

  • i.* modules fully integrated in

version 3.0 in 1988

  • Steady improvement and additions

ever since

  • From simple text terminal to X-

monitors to a modern GUI

  • Memory efficient modules
slide-7
SLIDE 7

FOSDEM 2018 GRASS GIS in the sky 7/20

Preprocessing

i.landsat.toar i.pansharpen

i.atcorr i.landsat.acca

i.topo.corr Classification i.maxlik i.smap r.learn.ml r.kappa g.gui.iclass

  • Pixel-based tools for satellite

and aerial imagery

  • Most state-of-the-art methods

implemented

  • Complete toolchain from pre-

processing to classification

  • Many highly specialized tools

Transformation, edge detection, index extraction i.pca i.fft i.cca i.oif i.tasscap i.wavelet i.zc i.edge i.cva

Remote sensing in GRASS GIS : pixel-based techniques

Specialized modules i.evapo.* i.biomass i.eb.* i.albedo i.gravity i.feotio2 i.water i.lswt

slide-8
SLIDE 8

FOSDEM 2018 GRASS GIS in the sky 8/20

  • Complete toolchain from segmentation

to classification

  • Including

– unsupervised segmentation

parameter optimization

– high performance object statistics

calculation

– module-level parallelization

  • Recently created module for SLIC

superpixel creation

source : http://dx.doi.org/10.3390/rs9040358

Remote sensing in GRASS GIS :

  • bject-based image analysis
slide-9
SLIDE 9

FOSDEM 2018 GRASS GIS in the sky 9/20

  • Suite of LiDAR data tools
  • Suite for creation of orthophotos
  • Current developments :

convolutional neural networks

cutlines for semantically sensitive tiling

etc, etc

  • Constantly growing list of extensions
  • Permanent work on performance

improvements

Remote sensing in GRASS GIS : plus so much more !

slide-10
SLIDE 10

FOSDEM 2018 GRASS GIS in the sky 10/20

High-performance computing

Example: NDVI time series

Harmonic Analysis of Time Series (HANTS)

slide-11
SLIDE 11

FOSDEM 2018 GRASS GIS in the sky 11/20

High-performance computing

Components

– master with job/queue manager – compute nodes

disk space per CPU core RAM per CPU core ideally one SSD per node

master (compute node) General HPC layout compute node compute node compute node Parallelization : several GRASS commands running at the same time

slide-12
SLIDE 12

FOSDEM 2018 GRASS GIS in the sky 12/20

High-performance computing

Chunks for parallel processing

Temporal processing

  • spatial chunks

need to be mosaiked at the end

  • r
  • temporal chunks

need overlap t 1 2 3 4 2 1

  • verlap
slide-13
SLIDE 13

FOSDEM 2018 GRASS GIS in the sky 13/20

High-performance computing

Spatial chunks

computational region

  • North, South, West, East
  • rows, columns

pre-defined regions,

  • ne for each chunk (tile)

Alternative

  • create X tiles from one raster map (r.tile)

1 2 3 4

slide-14
SLIDE 14

FOSDEM 2018 GRASS GIS in the sky 14/20

High-performance computing

Chunks for parallel processing

Spatial processing

  • each time step as one chunk
  • r
  • spatial chunks

not recommended → spatial discontinuities t

slide-15
SLIDE 15

FOSDEM 2018 GRASS GIS in the sky 15/20

High-performance computing

GRASS installation setup

environmental variables

paths

GRASS session setup

variable GISRC for rc file

  • GRASS database
  • location
  • mapset

script 1 GRASS commands script 2

  • 1. create unique GISRC, unique mapset
  • 2. run script 1
  • 3. copy results
  • 4. delete GISRC, mapset

script 3

job manager settings run script 2 always check return codes

slide-16
SLIDE 16

FOSDEM 2018 GRASS GIS in the sky 16/20

High-performance computing

temporary GRASS GIS session

GISRC: name of file with GRASS variables GISRC contents: GISDBASE: name LOCATION_NAME: name MAPSET: name LOCATION_NAME: sub-directory of GISDBASE MAPSET: sub-directory of LOCATION_NAME export GISRC=/path/to/tmpgisrc Ideally all on a SSD scratch disk

script 2

Arguments : first and last time step

  • 1. create temporary GISRC, mapset

with unique names, using a pre-defined mapset template

  • 2. run script 1 in temporary mapset
  • 3. copy results, one for each time step, from

temporary mapset to final mapset

  • 4. delete temporary GISRC, mapset

rm -rf $GISRC /path/to/temp_mapset directories

http://grass.osgeo.org/wiki

slide-17
SLIDE 17

FOSDEM 2018 GRASS GIS in the sky 17/20

High-performance computing

job/queue manager

– Select / create a queue – submit a job to a queue – start a job when hardware

resources are available

– redirect stdout and stderr to

unique files

job with task(s), here task = script 2 job 1 : running job 2 : running job 3 : running job 4 : running job 5 : waiting job 6 : waiting job 7 : waiting job 8 : waiting waiting : no hardware resources available

slide-18
SLIDE 18

FOSDEM 2018 GRASS GIS in the sky 18/20

High-performance computing

Collect results

– Copy results to one common

GRASS mapset → this is the I/O bottleneck try nice / ionice cluster file systems

job 1 results job 2 job 3 job 4 job 5 job 6 job 7 job 8 job 9 job 10 job 11 job 12 job 13 job 14

slide-19
SLIDE 19

FOSDEM 2018 GRASS GIS in the sky 19/20

High-performance computing

MODIS Land Surface Temperature

temporal + spatial processing

slide-20
SLIDE 20

FOSDEM 2018 GRASS GIS in the sky 20/20

High-performance computing

Most important

Have a good admin that fixes the system after you broke it

Neteler M, Metz M, 2011 – 2018, pers. com.