You are on page 1of 14

GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL.

115 39
SAGA PROGRAM STRUCTURE AND CURRENT STATE OF
IMPLEMENTATION

Olaf Conrad

Abteilung Physische Geographie Geographisches Institut der Georg-August-
Universitt Gttingen Goldschmidtstr. 5 37077 Gttingen

Abstract: SAGA is a Free Open Source Software (FOSS) for the analysis of spatial
data and provides all basic functions of desktop Geographical Information System
(GIS) software. A comprehensive object oriented Application Programming
Interface (API) makes it easy to implement new methods under the SAGA
environment. The easily approachable Graphical User Interface (GUI) offers
comprehensive functions for data handling and visualisation. The analytical and
operational capabilities cover geostatistics, terrain analysis, image processing and
various tools for vector and raster data manipulation. The open source philosophy
encourages scientists to proof and apply any of the existing methods as well as to
implement new methods within the system.

1 Introduction
The name of SAGA, which is the abbreviation for System for Automated
Geoscientific Analyses, describes already its main purpose, the automation of spatial
data analysis. The idea to develop this system evolved in the late 1990s during the
work on several projects at the Dept. of Physical Geography, Gttingen. A focus
was the analysis of raster data, particularly of Digital Elevation Models (DEM),
which were used e.g. to predict soil properties, process dynamics and climatic
parameters (BHNER et al. 1999, BHNER et al. 2002, BHNER et al. 2003). All of
theses researches required the implementation of several new methods and resulted
in the development of three major software solutions. SARA, System for Automated
Terrain Analysis, had been developed since the early 1990s with a strong focus on
geomorphometric classifications (KTHE & LEHMEIER 1993, KTHE et al. 1996).
SADO, System for the Analysis and Discretisation of Surfaces, provided special
statistical methods as well as a simple scripting language for raster calculations
(BHNER et al. 1997). DiGeM (Fig.1) complemented the other software mainly for
terrain parameters that are related to hydrology (CONRAD 1998). Besides these
further programs had to be used for the creation of maps, file conversions and
additional analyses. The usage of that many different specialised programs was from
the beginning an evident obstacle in the workflow. While DiGeM and SADO had
been programmed in C++ under Windows, SARA was coded in FORTRAN77 under
a UNIX environment. Due to this it came to the point, where the integration of new
methods, the data exchange between the programs and operating systems and the
presentation of final results became a major time consuming factor, and the decision
has been made to change to one single system, with the aim to simplify the process
from the development of scientific methods to their routine application.
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 40
With other words, a Geographic Information System (GIS) was looked for, which
offers an open and easily usable interface for the integration of new computational
methods. Different GIS had been investigated for their suitability. Most close to
fulfil the demands came GRASS (NETELER 2003), which had the advantage to have
a mature open source API, but also had the disadvantages to have a poor user
interface, to run only under UNIX conform operating systems, and to have been
programmed without object orientation in flat C. After it turned out that none of the
investigated GIS packages was suitable enough, DiGeM has been chosen as base for
a new system, called SAGA. Its development started in 2001. During the following
two years SAGA replaced increasingly the previous software solutions and could be
established as a common foundation in several projects (e.g. BHNER et al. 2004).


Fig.1: DiGeM 2.0 Fig.2: SAGA 1.2


Fig.3: SAGA 2.0 for Windows Fig.4: SAGA 2.0 for Linux

In February 2004 SAGA's source code was published under a public license. Reason
for the publication was the wish to gain feedback, support and participation from the
scientific community. Since then SAGA is distributed via SourceForge, a host for
many open source projects (OPEN SOURCE TECHNOLOGY GROUP 2006). Accompany-
ing a homepage has been set up to provide information around SAGA, including
download links, tutorials and a user forum (Fig.5). The growing interest in SAGA
can be seen in the download statistics provided by SourceForge (Fig.6). What the
download numbers do not show, is the active participation of the community.
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 41



Fig.5: SAGA homepage with user forum Fig.6: Download history

Amongst many other contributions a SAGA manual (OLAYA 2004) is perhaps the
most notable one. Since a comprehensive documentation guiding through the
software did not exist before, the manual increased SAGA's popularity, particularly
among users, who had no in depth GIS experiences before. Related to this is the
adaptation of SAGA for SEXTANTE, Sistema Extremeo de Anlisis Territorial
(OLAYA 2006), a GIS solution specially designed for public organisations in the
Extremadura, Spain. Due to user feedback and a coming presentation at the
information technology fair CeBIT Hannover (FUHRMANN-KOCH 2005) numerous
bug fixes and additional methods have been made and lead to the completion of
SAGA version 1.2 in spring 2005 (Fig.2). Already in summer 2004 the development
of a SAGA version 2.0 has been started. For this version the user interface has been
completely reprogrammed to overcome many restrictions that dated back to the
software architecture of DiGeM. A major change is the usage of the cross platform
GUI library wxWidgets (wxWIDGETS 2006), which enables operating system
independent software development and replaces the previously used Microsoft
Foundation Class Library (MFC). In spring 2005 a first version of SAGA 2.0 was
published for Windows as well as for Linux operating systems (Fig.3, Fig.4). With
the aim to promote a continuous, sustainable development, the SAGA User Group
Association has been established in January 2005. Tasks of the association are the
development coordination, the recruitment of sponsors, the organisation of user
meetings and the publication of SAGA related documents. This document outlines
the underlying basics and principles of GIS, programming techniques and license
issues and continues with an overview to SAGA 2.0.


Fig.7: Tasks of information systems
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 42
2 Geographic Information Systems
Though GIS are nowadays fundamental for the majority of spatial data related
works, no single clear definition can be given to describe, what a GIS is (BARTELME
1996). Dependent on the viewpoint definitions focus either on data or on software
aspects, and some take even hardware and personnel into account. Common to all
definitions is, that a GIS deals with spatial data. Therefore a frequent definition is,
that a GIS is a database for spatial data. Data collection, management, analysis and
presentation are generally the tasks of information systems (Fig.7).



Fig.8: Lines Fig.9: Polygon Fig.10: TIN Fig.11: Raster

GIS need to provide specialised methods for these tasks, which take into account the
spatial dimension of the data. The collection of geographical data can be done e.g.
by digitising of maps, scanning from a satellite, using Global Positioning Systems
(GPS), or simply by manual typing. Spatial analysis is highly linked to GIS and
offers methods for the investigation of the geometric properties of a data set as well
as for the combination of different data sets by their geographic position. The typical
presentation type for spatial data is the cartographic map. Two principal data
structure models are used in spatial data management. Vector data store point
coordinates. A sequence of points can then be combined to define more complex
vector objects like lines (Fig.8) and polygons (Fig.9). Additional to its geometric
data a vector object usually has a number of attributes associated with it. A special
vector data structure is the Triangular Irregular Network (TIN), which stores the
locations of points and connects them to their neighbours, so that a network of
triangles is formed (Fig.10). Raster or grid structures store the data values in the
columns and rows of a matrix (Fig.11). Which data structure the most suitable is,
depends very much on the kind of data, the analysis that shall be performed on it,
and the capabilities of the used GIS. Hybrid GIS support vector as well as raster data
structures. Apart from data management, a common categorisation of GIS software
bases on the software architecture. Desktop GIS run as standalone software and
usually use a file based data access. Other GIS front ends, e.g. Web GIS appli-
cations, connect as client to a data base server. Currently SAGA is a hybrid desktop
GIS and serves all previously mentioned tasks of an information system.





GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 43
3 Programming
Because SADO and DiGeM have been coded in C++, it was easy to choose this
programming language for SAGA too. C++ has been developed in the 1980s and did
not change fundamentally since the publication of its version 3.0 in 1991
(STROUSTRUP 1995). It is very widespread and numerous compilers exist for various
operating systems, many of them are free or open source. C++ can be viewed as
expansion of the procedural programming language C (KERNIGHAN & RITCHIE
1991). The most important additional feature is the class concept, which makes C++
to an Object Oriented Programming (OOP) language. Classes combine data
structures with data specific methods on a high abstraction level and allow a very
comfortable and transparent programming style compared to procedural
programming languages.
Because it is based on the C syntax, source code written in C can easily be
integrated in C++ programs. Many C/C++ source codes are free available covering a
wide range of computational algorithms. The most important C++ library used in
SAGA 2.0 is the portable GUI tool kit wxWidgets. wxWidgets provides GUI and
other facilities, so that the programmer does not have to access operating system
specific functions directly (SMART et al. 2005). wxWidgets replaces with its similar
class hierarchy the Microsoft Foundation Class (MFC) library used in earlier SAGA
versions. Two advantages of wxWidgets have to be mentioned. The library is
designed for an operating system independent software development and it has been
published under a GPL (s.b.) compatible open source license.

4 Software License
With the open source release of SAGA an appropriate license was needed to protect
the copyrights of the source code. Among the open source licenses the GNU General
Public License (GPL) is the most used and best known one (GRASSMUCK 2002) and
has been chosen for SAGA The following rights are granted by the GPL (FREE
SOFTWARE FOUNDATION 2006):
the freedom to run the program, for any purpose.
the freedom to study how the program works, and modify it.
the freedom to redistribute copies.
the freedom to improve the program, and release the improvements to the public.
Important is, that these rights have to be preserved in copies and derived works, a
mechanism that is known as copyleft (STALLMANN 2003). This means that
derivative works of GPL licensed programs have also to be licensed under the GPL
or a compatible one, what also implies their publication. Commercial use of the
software is explicitly not forbidden. An exception is the source code of the SAGA
API, which uses a less restrictive version of the GPL, the so-called Lesser General
Public License (LGPL). The different to the GPL is, that the LGPL does not include
the copyleft mechanism. Therefore SAGA modules, which always depend on the
API, have not automatically to be published as open source. Instead they may
remain unpublished or may even be distributed as proprietary software. This is a
fundamental point, if you need to make profit of your know how.
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 44
5 System Architecture
SAGA's system architecture is modular (Fig.12). Its foundation is the Application
Programming Interface (API), which provides data object models, basic definitions
for the programming of scientific modules and numerous helpful classes and
functions. Module libraries are containers for the scientific methods in form of so-
called modules. API as well as module libraries are not independently running
executables but Dynamic Link Libraries (DLL) and have to be accessed through a
front-end program. A Graphical User Interface (GUI) is one of the two SAGA front
ends. It allows the user to control the system, is responsible for module and data
management as well as for data visualisations. Alternatively modules can be
executed by using the second front end, the SAGA command line interpreter tool.


Fig.12: System architecture

6 Application Programming Interface
The heart of SAGA is its API. It comes with a comprehensive set of helpful classes
and functions. More general tools exist for file access, memory handling, character
string manipulation, colour sets and similar topics. A translation class object is
initialised automatically when the API library is loaded and is used for internationa-
lisation of the user interface. Communication with the front end is conducted
through callback functions, e.g. to give information about the progress of a calcu-
lation or to request user input through a dialogue box. A number of mathematical
and numerical definitions, functions and classes are provided for matrix operations,
value sorting, spline interpolation, regression analysis, formula parsing and other.
Geometrical functions calculate distances and intersections of lines. Special classes
create document files with graphical features and support currently the Portable
Document Format (PDF) and the Hyper Text Mark-up Language (HTML).
Of high importance are classes for the handling of the actual data. Four different
types of data objects can be addressed: tables, vector data, raster data and TIN. All
data object classes derive from the same base class, which defines basic properties
(name, description, data history, file path) and methods (load, save, copy, clear).
Each of the derived classes has specific methods for data access and manipulation.
Table objects are collections of data records, which hold the data itself in data fields.
Data fields can be of different type, e.g. character string or numerical value. Indices
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 45
can be created for each field to sort the data in alphanumerical order. File access is
supported for text and DBase formats. Vector data objects are collections of shapes,
which currently can be of type point, multi point, line or polygon. Associated with a
vector data object is a table object that stores the attribute data for each shape.
Dependent on the shape type, special methods are available, e.g. to request the area
covered by a polygon. The built-in file format is the ESRI Shape File format (ESRI
1998). TIN are a special data structure for point data, for which the neighbourhood
relations of the points are defined by a Delaunay Triangulation (LEE & SCHACHTER
1980). Similar to vector data objects TIN have a associated table object for the
storage of additional attribute data. TIN can be loaded and saved as points in the
ESRI Shape File format. Raster or grid data objects store a matrix of numerical
values. Possible data types are 1 bit, 1, 2, 4 byte integers, 4 and 8 byte floating-point
values. Raster specific methods include index creation, various interpolations,
resampling and arithmetic operations. The file access methods support the flexible
SAGA raster format, which uses a separate text file to provide information on how
to interpret the actual data file.
The API has a number of special classes related to the creation of modules,
which actually represent the methods of SAGA. A module library can own one or
more modules. A module library interface class does the management. Modules
must derive from one of the module base classes provided by the API. The standard
module base class is responsible for the initialisation and execution of a module and
offers various useful functions. Besides name and description, its most important
property is a list of parameters, which supplies the programmer with user settings for
the module execution, particularly with input and output data objects, but also with
different other parameter types, like numeric values or file paths. Special module
base classes have been implemented for the work with raster data and for modules
that shall react on special user input, e.g. a mouse click in a map view.

7 Graphical User Interface
The GUI allows the user to manage and visualise data as well as to perform data
analyses and manipulations by executing modules. Besides menu, tool and status
bars, which are typical for the majority of modern programs, SAGA interfaces the
user with three additional control elements (Fig.13, Fig.14).


Fig.13: GUI elements (screen shot) Fig.14: GUI elements (diagrammatic)
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 46

Fig.15: Workspace Fig.16: Parameters Fig.17: Description Fig.18: Legend

The workspace control has sub windows for the modules, data and maps
workspaces. Each workspace shows a tree view, through which associated
workspace objects can be accessed. Loaded module libraries are listed in the
modules workspace together with a list of their modules. Similarly created map
views will be listed in the maps workspace and data objects in the data workspace,
hierarchically sorted by their data type (Fig.15). Dependent on which object in a
workspace is selected, the object properties control shows an object specific set of
sub windows. Common to all objects are sub windows for settings (Fig.16) and
descriptions (Fig.17). In case a module is selected, the settings window is populated
with the module parameters. Here the user can choose data sets and other options for
the module execution. The description window gives information about the module
and its parameters, as supplied by the module programmer. In case a data object is
selected the settings window gives control to data specific properties, like data set
name, memory handling and display behaviour. The data object description is
complemented by a history that allows to reconstruct how a data set was created.
Other object windows allow editing the attributes of vector layers or display a
legend for a selected map (Fig.18). The message control contains three sub windows
for general, module specific and error notifications.
A module can be executed either by a button in its related settings window or via
a menu entry listed in the modules entry of the menu bar. The module programmer
has specified the exact location of the menu entry, so that a geostatistical procedure
like 'Universal Kriging' should be found in the sub category 'Geostatistics' (Fig.19).
Before a module executes, the mandatory input parameters, i.e. the data to be
analysed, have to be set. After calling a module via its menu entry, a dialogue box
pops up where this can be done (Fig.20). After confirming, that the parameters have
been set correctly, the actual module execution starts. Information about the progress
is given in the status bar and the message notification windows. The user can stop
the execution of the module by pressing the escape key or using the modules menu.
But not all modules start their calculation immediately. Interactive modules wait for
user input, usually for mouse clicks in a map window, to perform an action. To do
this the mouse mode must be adjusted, e.g. from zoom or pan mode to the
interactive mode. Most modules create new data sets as result of their calculation,
which will automatically be added to the data workspace, so that these can be saved,
used as input for further calculations, or displayed in a map.
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 47

Fig.19: Module execution via menu entry Fig.20: Parameter settings for a module


Fig.21: Digitis. vector data Fig.22: Symbols, charts Fig.23: Grid interpolation


Fig.24: Map view Fig.25: Print layout


Fig.26: 3d view Fig.27: Scatter plot
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 48
The standard way to visualise spatial data is the cartographic map (Fig.21). Each
spatial data set can be added to a map as thematic layer. Display orders of thematic
layers are changed in the maps workspace. In dependence of the data type various
display options are available for the creation of expressive maps. Attribute values of
vector data can be used as labels, to determine sizes of point symbols or line widths,
or to indicate display colours (Fig.22). Raster data are coloured according to their
data values, either by using a lookup table or a metric classification scheme. A trans-
parency value allows using raster data for shading effects. Smooth appearance when
zooming is achieved by optional value interpolation (Fig.23). 3d views can easily be
created for each map, as far as appropriate elevation data have been loaded (Fig.26).
Vector as well as raster data can be edited directly in map views (Fig.21). Further
possibilities for data visualisations are histograms and scatter plots. Scatter plots
have a built in regression function and can be applied to vector, raster and table data
(Fig.27). Besides simple table views with editing and sorting capabilities also
diagrams are available to display table data.

8 Command Line Interpreter
The SAGA command line interpreter tool (Fig.28) does not have any visualisation
or data management facilities, and is only able to execute modules. To do this the
file paths of the input and output data have to be specified. The advantage of this
tool is, that it enables the usage of batch script files, so that complex work flows can
be automated and easily applied to different data projects. Another possibility with
this tool is to call SAGA modules from other programs, e.g. from a web server
application. Figure 29 shows an example for a batch script.

9 Modules
Currently about 42 free module libraries with 234 modules are supplied with SAGA
most of them published under the GPL. Not all of these modules are highly
sophisticated analysis or modelling tools. Many of them just perform rather simple
data operations, but some of them represent the state of the art in geoscientific
analysis. This overview can only show the range of covered methods, but each
module provides a description, that is available through the SAGA GUI. Detailed
instructions for the work with most of the modules are given by OLAYA (2004).

@echo off

set SAGA_MLB = C:\SAGA\Modules
path = %path%;C:\SAGA

saga_cmd.exe shapes_grid 5 -INPUT .\dem.dgm -
CONTOUR .\contour.shp -ZSTEP 25.0

saga_cmd.exe ta_hydrology 0 -ELEVATION
.\dem.dgm -CAREA .\carea.dgm

saga_cmd.exe grid_discretisation 1 -INPUT
.\dem.dgm;.\slope.dgm;.\aspect.dgm;.\carea.dgm
-RESULT .\cluster.dgm -STATISTICS
.\cluster.txt -NORMALISE -NCLUSTER 10

pause

Fig.28: Command line interpreter Fig.29: Batch script
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 49

Fig.30: Projection Fig.31: Classification Fig.32: Skeletonisation


Fig.33: Multiple regression Fig.34: Semivariogram Fig.35: Universal Kriging


Fig.36: Hill shading Fig.37: Visibility Fig.38: Catchment areas


Fig.39: Down slope area Fig.40: Swath profile Fig.41: Cross sections


GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 50
Import and Export of Data: Fundamental for the work with spatial data are
interfaces to the countless data file formats. Particularly the data exchange between
different programs usually requires a suite of import and export filters. SAGA offers
several filters to common data formats, including various image and GPS formats.
Most flexible is a raster data import tool, that uses the Geospatial Data Abstraction
Library (GDAL), which alone supports about 40 different file formats
(WARMERDAM et al. 2006).
Projections: Once data have been imported, the next necessary step is in most
cases to georeference or to project it, so that all spatial data sets of a project belong
to one single coordinate system (Fig.30). Besides a georeferencing tool, SAGA
provides access to two alternative cartographic projection libraries, the GeoTrans
library developed by the National Imagery and Mapping Agency (NIMA, National
Geospatial Agency 2006), and the Proj.4 library initiated by the U.S. Geological
Survey (EVENDEN 2003). Both libraries work for raster and vector data and provide
various projections for free definable cartographic parameters.
Tools for Vector Data: Many modules exist for manipulation and analysis of
vector data, like merging of layers, querying of shapes, attribute table manipulation,
type conversion and automated document creation. Standard operations on vector
data are polygon layer intersections and vector data creation from raster data, e.g. of
contour lines.
Tools for Raster Data: Raster data can be created from point data using nearest
neighbour, triangulation and other interpolation techniques. Modules for the
construction and preparation of raster data, allow the resampling, closing of gaps
and the value manipulation with user defined rules. A number of filter algorithms
exist for smoothing, sharpening or edge detection. Classifications can be performed
using cluster analysis or a supervised procedure, like Maximum Likelihood
classification (Fig.31). Data analyses cover image, pattern and cost analysis. A very
flexible standard tool is the grid calculator, where a user-defined formula is used to
combine an arbitrary number of raster layers. Other standard operations are
skeletonisations (Fig.32) and bufferings.
Statistics: Statistical analyses for raster data include zonal statistics, residual and
variance analysis. Single and multiple regression analyses relate point data to raster
data and allow the extrapolation of values (Fig.33). Semivariograms (Fig.34) are
used to determine the autocorrelation of point data and serve then for the adjustment
of one of the Kriging procedures (Fig.35).
Terrain Analysis: Due to the origin of SAGA, there are many modules, that
focus on Digital Elevation Models and Terrain Analysis, like analytical hill shading
(Fig.36), visibility analysis (Fig.37), local geomorphometry and geomorphometric
classification, terrain parameters related to hydrology (Fig.38, Fig.39), channel
network and watershed basin extraction, and the creation of profiles (Fig.40) and
cross section diagrams (Fig.41).
Miscellaneous: Other modules are partly still in an experimental state or serve
for educational purposes, like cellular automates and fractal generators. Only very
few modules are related to TIN, mainly focusing on conversions from and to raster
and vector data. Dynamic models can be used to simulate hydrological processes
and to perform fire risk analyses.
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 51
10 Future Development
With the establishing of the User Group Association a continuous development of
SAGA seems to have become possible. But this depends very much on how the
system is accepted and supported by the user community. Currently the first aim is
the release of a stable and bug free version 2.0. This includes general user interface
improvements as well as enhanced cartographic features. A number of concrete
ideas wait already for their implementation in succeeding SAGA releases. A
topological vector data structure model shall complement the now used shape object
oriented approach, to achieve a better support for network analyses. The raster
structure shall be extended, so that volumes and multi spectral data can easily be
addressed. It is further planned to expose SAGA via a scripting language interface,
so that API elements and modules can be accessed from script programming
environments (e.g. Phyton, Perl, VBasic). Greater efforts have to be made to design
a general interface to different Data Base Management Systems (DBMS) and
different data base structures. Last but not least the hope is now, that a growing
number of scientists notice SAGA as a first choice system for the implementation of
new geoscientific algorithms and models.

References
BARTELME, N. (1995): Geoinformatik. 414 pp.
BHNER, J. (2004): Regionalisierung bodenrelevanter Klimaparameter fr das
Niederschsische Landesamt fr Bodenforschung (NLfB) und die Bundesanstalt fr
Geowissenschaften und Rohstoffe (BGR). Arbeitshefte Boden 04/4: 17-66.
BHNER, J., KTHE, R. CONRAD, O., GROSS, J., RINGELER, A. & SELIGE, T. (2002): Soil
Regionalisation by Means of Terrain Analysis and Process Parametrisation. In:
MICHELI, E., NACHTERGAELE, F., MONTANARELLA, L. [EDS.]: Soil Classification 2001.
European Soil Bureau, Research Report No. 7, pp. 213-222.
BHNER, J., KTHE, R., CONRAD, O. & RINGELER, A. (1999): Reliefanalyse, Klima-
regionalisierung, Prozessparametrisierung und Bodenregionalisierung. Research Report
to Bundesanstalt fr Geowissenschaften und Rohstoffe (BGR), 89 pp. [Geogr. Inst. Univ.
Gttingen, unpublished.]
BHNER, J., KTHE, R. & TRACHINOW, C. (1997): Weiterentwicklung der automatischen
Reliefanalyse auf der Basis von Digitalen Gelndemodellen. Gttinger Geographische
Abhandlungen 100: 3-21.
BHNER, J., SCHFER, W., CONRAD, O., GROSS, J. & RINGELER, A. (2003): The WEELS
Model: Methods, Results and Limitations. Catena 52: 289-308.
CONRAD, O. (1998): Die Ableitung hydrologisch relevanter Reliefparameter am Beispiel des
Einzugsgebiets Linnengrund. 89 pp. [Geogr. Inst. Univ. Gttingen, diploma thesis,
[http://www.geogr.uni-goettingen.de/pg/saga/digem/]
CONRAD, O. (2001): DiGeM A Program for Digital Terrain Analysis. [http://www.geogr.
uni-goettingen.de/pg/saga/digem/]
ESRI (1998): ESRI Shapefile Technical Description. 34pp. [http://www.esri.com/library/
whitepapers/pdfs/shapefile.pdf]
EVENDEN, G.I. (2003): Cartographic Projection Procedures. Release 4, 42 pp. [ftp://ftp.
remotesensing.org/proj/new_docs/proj.4.3.pdf]
FREE SOFTWARE FOUNDATION (2006): The GNU Project - Licenses. [http://www.gnu.org/
licenses/licenses.html]
GTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115 52
FUHRMANN-KOCH, M. (2005): Gttinger Wissenschaftler prsentieren IT-Neuentwicklungen
auf der CeBIT 2005. 2 pp. [http://www.gwdg.de/aktuell/presse/pi-cebit-2005.pdf]
GRASS (2006): GRASS Geographical Resources Analysis Support System. [http://
grass.itc.it/]
GRASSMUCK, V. (2002): Freie Software zwischen Privat- u. Gemeineigentum. 440 pp.
KERNIGHAN, B., RITCHIE, D. (1988): The C Programming Language. 274 pp.
KTHE, R., LEHMEIER, F. (1993): SARA Ein Programmsystem zur Automatischen Relief-
Analyse. Standort - Z. f. Angewandte Geographie 4/93: 11-21.
KTHE, R. GEHRT, E., BHNER, J. (1996): Automatische Reliefanalyse fr geowissen-
schaftliche Anwendungen derzeitiger Stand und Weiterentwicklung des Programms
SARA. Arbeitshefte Geologie 1/1996: 31-37.
LEE, D.T., SCHACHTER, B.J. (1980): Two Algorithms for Constructing a Delaunay Triangu-
lation. International Journal of Computer and Information Sciences 9/3: 219-242.
NATIONAL GEOSPATIAL AGENCY (2006): GEOTRANS Geographic Translator. [http://
earth-info.nga.mil/GandG/geotrans/]
NETELER, M. (2003): GRASS-Handbuch. Version 1.1. 266 pp. [http://www.gdf-
hannover.de/]
OLAYA, V. (2004): A Gentle Introduction to SAGA GIS. 216 pp. [http://sourceforge.net/
projects/saga-gis/]
OLAYA, V. (2006): SEXTANTE Sistema Extremeo de Anlisis Territorial. [http://
sextante. sourceforge.net/]
OPEN SOURCE TECHNOLOGY GROUP (2006): SourceForge. Open source development web site.
[http://sourceforge.net/]
SAGA (2006): SAGA System for Automated Geoscientific Analyses. [http://www.saga-
gis.org]
SMART, J., HOCK, K., CSOMOR, S. (2005): Cross-Platform GUI Programming with wxWidgets.
744p.
STALLMANN, R. (2003): Copyleft: Pragmatic Idealism. [http://www.gnu.org/ philosophy/
pragmatic.html]
STROUSTRUP, B. (1995): The C++ Programming Language. 699 pp.
WARMERDAM, F., KISELEV, A., MORISSETTE, D., BUTLER, H. (2006): GDAL Geospatial Data
Abstraction Library. [http://www.gdal.org/]
WXWIDGETS (2006): wxWidgets Cross-Platform GUI Library. [http://www.wxwidgets.org]

You might also like