JGrass: the Horton machine (FOSS4G2008)

Embed Size (px)

Citation preview

JGrass: The Horton machine

Andrea Antonello, Silvia Franceschi, Riccardo Rigon

Foss4G, Cape Town 01/10/2008

is a spatial analist, a morphologic analysis package

is a hydrologic analysis package

a thematic application subsystem, developed for decision making support

is the best part of JGrass

HortonMachine: what and where

to give some quantitative and qualitative instruments for knowing the morphology of catchments

to supply a modern environmental modelling framework implementing current standards of the scientific communityHortonMachine: the main purposes

At the beginning it was a package of stand alone routines operating system independently, written in C using the FluidTurtle libraries and their input/output defined formats. The visualization of the calculated matrices was made with other graphical programs or with Mathematica;

The second step was to integrate this routines in the GIS GRASS to have a direct graphical interface in TkTcl;

Nowadays with the JGrass development this routines are being rewritten in Java and completely integrated in the new GIS system with a new graphical interface.

HortonMachine: the history

The commands are divided in 7 categories:

DEM manipulation

HortonMachine:

marks the basin outlets

It lls the depression points contained in a DEM so that the drainage directions are dened in each point

Given the Strahler number of the channel network, the subbasins up to a selected order are labeled

Generates a watershed basin mask from a drainage direction map and a set of coordinates

The commands are divided in 7 categories:

DEM manipulation

Geomophology

HortonMachine:

draining area per length unit

inclination angle of the gradient

longitudinal, normal and planar curvatures

drainage directions minimizing the deviation from the real ow

drainage directions with the method of the maximal steepest descent slope

module of the gradient vector

slope in every site by employing the drainage directions

upslope catchment area

The commands are divided in 7 categories:

DEM manipulation

Geomophology

Network related measures

HortonMachine:

distance of each pixel from the outlet, measured along the drainage directions

extracts the channel network from the drainage directions

number of sources upriver

drainage density function for the basin upstream of each pixel

assign numbers to the networks links

Strahler order in a basin

The commands are divided in 7 categories:

DEM manipulation

Geomophology

Network related measures

Hillslope analyses

HortonMachine:

for each hillslope pixel its distance from the river networks, following the steepest descent

subdivides the sites of a basin in 11 topographic classes (9 from h.tc)

subdivides the sites of a basin in the 9 topographic classes identied by the longitudinal and transversal curvatures

The commands are divided in 7 categories:

DEM manipulation

Geomophology

Network related measures

Hillslope analyses

Basin attributes

HortonMachine: diameter of the basin subtended to a point

euclidean distance of each pixel from the outlet of the bigger basin which contains it

main moments of inertia of each subnet of a channel net

rescaled distance of each pixel from the outlet

topographic index of a basin

The commands are divided in 7 categories:

DEM manipulation

Geomophology

Network related measures

Hillslope analyses

Basin attributes

Statistics

HortonMachine:

sums the values of an assigned quantity from the point till the outlet

the histogram of a set of data contained in a matrix with respect to the set of data contained in another matrix

The commands are divided in 7 categories:

DEM manipulation

Geomophology

Network related measures

Hillslope analyses

Basin attributes

Statistics

Hydro-geomorphology

HortonMachine:

the Shalstab hillslope stability model

the Peakflow semidistributed model for discharge calculation

The representation on a regular rectangular grid of the data constitutes the most common and most efficient form in which the terrain digital data can be found.HYPOTHESIS ON DTM:

data are significant

regular squared grid

8 direction topology

The data in this raster form usually is made by reporting the vertical coordinate, z, for a subsequent series of points, along an assigned regular spacing profile.

Digital Terrain Model

definition the working regionpit detectiondefinition of the drainage directionsdefinition of the main networkextraction of the interesting catchmentD8 (maximum slope)D8 with correction (correction on the direction of the gradient)import in JGrass the starting DEM which we want to analyseindividuation of the existing sub basins

Example of basic geomorphologic analysis

The first operation to do is to fill the depression points present within a DTM so that the drainage directions can be defined in each point.Observations on this topic demonstrate that this calculation addresses lesser than the 1% of the data and that usually this depressions are given by wrong calculation in the DEM creation phase and that in fact they are not real depressions.The command used to fill the depressions is: h.pitfiller and is based on the Tarboton algorithm.First step: depitting the DTM

They define how water moves on the surface in relation to the topology of the study region. Flowdirection allow you to calculate the drainage directions.Hypothesis: each DEM cell drains only in one of its 8 neighbours, either adjacent or diagonal in the direction of the steepest downward slope.only 8 possible direction (see Figure for the numbering convention) in which direct the fluxthis is a limit of modelling the natural flow

Flowdirections

In the map each colour represents one of the 8 drainage directions. The map contains the convention number of this directions.

It represents the area that contributes to a particular point of the catchment basin.

It is a extremely important quantity in the geomorphologic and hydrologic study of a river basin: it is strictly related to the discharge flowing through the different points of the system in uniform precipitation conditions.

On this quantity are based all the more diffusive methods used to extract the stream network from the digital models.Total contributing area

TCA:Total Contributing Area

123456789

source pointWhere Wj is:

1 for pixels that drain into the i-est pixel;

0 in any other case for single flow directions.

Using the pure D8 method for the drainage direction estimation cause an effect of deviation from the real direction identified by the gradients.This algorithm calculates the drainage direction minimizing the deviation of the flow from the real flux direction. The deviation is calculated beginning from the pixel at highest elevation and going downstream.The deviation is calculated with a triangular construction and can be expressed as angular deviation (method D8-LAD) or as transversal distance (method D8-LTD)The parameter is used to assign a weight to the correction made to the drainage directions.This method has been developed by S. OrlandiniA correction to the pure D8 method: h.draindir

LAD method: angular deviationLTD method: transversal deviationThe deviation is cumulated from higher pixels down-hill and the D8 drainage direction is redirected to the real direction when the value is larger than an assigned threshold.If = 0 the deviation counter has no memory and the pixels up-hill do not affect the choice.

Log(TCA)Log (LAD-TCA)

In the figures are compared the total contributing areas calculated with the pure D8 method and with the corrected method (LAD-D8). In the second case the typical maximum steepest parallelisms are not present with a representation of the flow very near to reality.Results comparison

STANDARD METHOD

In flat areas or where there are manmade constructions, it can happen that the extracted channel network does not coincide with the real channel network.

Network assigned method

Network assigned method

Network assigned method

Network assigned method

Threshold on the tca1methodChannel network extraction

The threshold is on the parameter:which is proportional to the stress tangential to the bottom.2methodThreshold on the tca of the concave sites.3method

In the resulting raster map the network pixels have the 2 value and outside the network there are null values (the yellow background is kept for visualization purposes).example with threshold on the tcaChannel network extraction

Example of a network extracted with a high threshold value.Channel network extraction

First give the basin outlet:

insert known coordinates of a point

select a point directly on the map and verify that the point is on the net (has a value of 2) -> raster query tool

Extraction of the working basin

JGrass generates two maps:

the mask of the extracted basin

a chosen map cut on the mask

Extraction of the working basin

Many other modules...

Many other modules...

Many other modules...

Many other modules...

Many other modules...

The planar curvatures separate the concave parts from the convex onesThe longitudinal curvatures highlight valleys

Many other modules...

h.tc 9 classesh.tc 3 classes

Many other modules...

...didn't I say standards?

STOP!

OpenMi is a set of conceptual interfaces to do model linking and execution along a timeline chain

since it got an international standard and models like Sobek, Hec-ras joined the wave, the effort was done to adapt ALL the models of the Horton Machine to OpenMI

OpenMI is based on a pulling mechanism

DB

pit

flow

Trig

getValues

getValues

getValues

HortonMachine

OpenMI

Implementing standards: The Horton OpenMI Link

JGrass-Console the scripting engine

HortonMachine

OpenMI

JGrass-Console Engine

linking and executing such openmi based models was a bit tricky

also there was the need to save scenarios, create automatisms

a scripting engine was designed keeping in mind a commandline console and a visual console, a kind of atelier in which to easily play with model components

HortonMachine

OpenMI

J-Console Engine

JGrass

UIBuilder

GRASS

JGrass-Console the scripting engine

JGrass-Console the scripting engine

JGrass-Console the scripting engine

JGrass-Console the scripting engine

...behind the scenes of the GUI mode

- an xml file holds the gui definition and the command syntax

- the gui is automatically generated, and when ok is pressed, the console command is launched. Everything goes through the console!

...it is possible to construct complex (hybrid jgrass/grass/groovy/java) commands

JGrass is available at http://www.jgrass.org

Thanks for your attention

RELATED WORKSHOP:

Hydrological and Geomorphological Terrain Analysis with JGrass Friday, 3rd October 01:30 PM 05:00 PM

Building: UCT LabsRoom: Pilanesberg Room (UCT Environmental and Geographic Science Lab)

Click to edit the title text format

Autore/i

ydroloGIS

nvironmental

ngineering

HydroloGIS s.r.l. - Via Siemens, 19 39100 Bolzano

www.hydrologis.com

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

ydroloGIS

nvironmental

ngineering

HydroloGIS s.r.l. - Via Siemens, 19 39100 Bolzano

www.hydrologis.com