Gilberto Câmara.
Session 1: June 11: 90 min. + 90 min. (afternoon)
GIS software development is undergoing substantial change, caused by the availability of database management systems (DBMS) that can handle spatio-temporal data types. Therefore, an important challenge for the GIS community is finding ways of taking advantage of spatially-enabled DBMS to build innovative applications. A second important challenge is incorporating recent advances from geographical information science into mainstream GIS. A number of important results have been produced in research areas such as spatio-temporal data models, geographical ontologies, spatial statistics and spatial econometrics, dynamic modelling and cellular automata, and environmental modelling. These results have largely been outside of the reach of the GIS user community, for lack of widely available tools and systems that support them.
One of the possible responses to this challenge would be to establish a co-operative development network based on open source technology. Similarly to Linux-based solutions, the availability of GIS open source software would allow researchers to share their results. With this motivation, the authors are developing TerraLib, an open source GIS software library that extends object-relational DBMS technology to handle spatio-temporal data types. As a research tool, the library aims at enabling the development of GIS prototypes that include recent advances in GIScience. On a practical side, it supports quick development of custom-built applications using spatial databases.
This teaching unit describes the TerraLib library, by giving an overview of the software and hints as to how interested programmers could use the library. The presentation will aim to motivate the students with general questions, such as:
- Why build a custom GIS instead of using a ready-made one?
- What is an open source GIS?
- How does an open source GIS library differ from a proprietary one?
- How does a distributed/entreprise GIS work?
- How are spatial data structures stored in an object-relational DBMS? Why do we need to do this?
- Are there certain paradigms for GIS libraries that are general enough not be vendor-specific?
- How much effort is involved in building a custom-made GIS?
- How does one design a GIS library to be extensible?
- How does one design a GIS to include space-time models?
-
The aim of the teaching unit is to build awareness on the students on the new generation of GIS appliances. Although the students may not be GIS programmers, they should be able to understand what is at stake when one aims at building a custom GIS instead of using a turn-key one. The emphasis will be on the balance between complexity of development x adaptability of the product. As a result, the students should emerge with a more informed picture about the process of GIS development.
General reference: The TerraLib website.
Useful material for this teaching unit:
TerraLib:An Open Source Library for GIS Applications, by G. Câmara et al (May 2004) .
The Architecture of TerraLib by G. Câmara et al. (May 2004).
Modeling
Spatial Relations by Generalized Proximity Matrices
Ana Aguiar, Gilberto Câmara, Ricardo Cartaxo,
V Brazilian Symposium in Geoinformatics, Campos do Jordão, 2003.
Image Data Handling in Spatial Databases
Lúbia Vinhas, Ricardo Cartaxo Modesto De Souza, Gilberto Câmara,
V Brazilian Symposium in Geoinformatics, Campos do Jordão, 2003.
TerraML – A Language to Support
Spatial Dynamical Modelling
B. Pedrosa, G. Câmara, F. Fonseca, R. Souza.
IV Brazilian Symposium in Geoinformatics, Caxambu, 2002.
Design Patterns in GIS Development: The Terralib Experience
G. Câmara, Lúbia Vinhas, R.Souza, J. Paiva, A. Monteiro, M.
Carvalho, B. Raoult.
III Brazilian Symposium
in Geoinformatics, Rio de Janeiro, 2001.
Additional teaching materials in Portuguese:
FreeGIS. Hundreds of links on open source GIS.
GeoDa. Software for Exploratory Spatial Data Analysis (Luc Anselin and co-workers - Free).
SPRING. Free GIS software by INPE, includes geostatistical tools and exploratory spatial data analysis.