SAGA GIS
Short Description
Descripción: SAGA GIS...
Description
SAGA – PROGRAM STRUCTURE AND CURRENT STATE OF IMPLEMENTATION
Olaf Conrad Abteilung Physische Geographie – Geographisches Institut der Georg-AugustUniversität Göttingen – Goldschmidtstr. 5 – 37077 Göttingen 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, Göttingen. 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 (BÖHNER et al. 1999, BÖHNER et al. 2002, BÖHNER 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 (KÖTHE & LEHMEIER 1993, KÖTHE 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 (BÖHNER 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.
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
39
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. BÖHNER 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). Accompanying 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. 40
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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 Extremeño de Análisis 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 GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
41
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 applications, 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.
42
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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. GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
43
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 socalled 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 internationalisation of the user interface. Communication with the front end is conducted through callback functions, e.g. to give information about the progress of a calculation 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 44
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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)
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
45
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. 46
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
47
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 transparency 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. @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
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). 48
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
49
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. 50
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
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. BÖHNER, J. (2004): Regionalisierung bodenrelevanter Klimaparameter für das Niedersächsische Landesamt für Bodenforschung (NLfB) und die Bundesanstalt für Geowissenschaften und Rohstoffe (BGR). – Arbeitshefte Boden 04/4: 17-66. BÖHNER, J., KÖTHE, 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. BÖHNER, J., KÖTHE, R., CONRAD, O. & RINGELER, A. (1999): Reliefanalyse, Klimaregionalisierung, Prozessparametrisierung und Bodenregionalisierung. – Research Report to Bundesanstalt für Geowissenschaften und Rohstoffe (BGR), 89 pp. [Geogr. Inst. Univ. Göttingen, unpublished.] BÖHNER, J., KÖTHE, R. & TRACHINOW, C. (1997): Weiterentwicklung der automatischen Reliefanalyse auf der Basis von Digitalen Geländemodellen. – Göttinger Geographische Abhandlungen 100: 3-21. BÖHNER, J., SCHÄFER, 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. Göttingen, 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] GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
51
FUHRMANN-KOCH, M. (2005): Göttinger Wissenschaftler präsentieren 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. KÖTHE, R., LEHMEIER, F. (1993): SARA – Ein Programmsystem zur Automatischen ReliefAnalyse. – Standort - Z. f. Angewandte Geographie 4/93: 11-21. KÖTHE, R. GEHRT, E., BÖHNER, J. (1996): Automatische Reliefanalyse für geowissenschaftliche 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 Triangulation. – 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.gdfhannover.de/] OLAYA, V. (2004): A Gentle Introduction to SAGA GIS. – 216 pp. [http://sourceforge.net/ projects/saga-gis/] OLAYA, V. (2006): SEXTANTE – Sistema Extremeño de Análisis 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.sagagis.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]
52
GÖTTINGER GEOGRAPHISCHE ABHANDLUNGEN VOL. 115
View more...
Comments