Download - JGrass: the Horton machine (FOSS4G2008)
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