TerraHS: Integration of Functional Programming and Spatial Databases for GIS Application Development

  • Sérgio Souza Costa
  • Gilberto Câmara
  • Danilo Palomo


Recent, research in GIScience proposes to use functional programming for geospatial application development [1, 2, 3, 4, 5]. Their main argument is that many of theoretical problems in GIScience can be expressed as algebraic theories. For these problems, functional languages enable fast development of rigorous and testable solutions [2]. However, developing a GIS in a functional language is not feasible, since many parts needed for a GIS are already avaliable in imperative languages such as C++ and Java. This is especially true for spatial databases, where applications such as Post- GIS/PostgreSQL offer a basic support for spatial data management. It is unrealistic to develop such support using functional programming.


Multivalued Function Spatial Database Digital Terrain Model Functional Programming Functional Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Frank, A. Higher order functions necessary for spatial theory development. in Auto-Carto 13. 1997. Seattle, WA: ACSM/ASPRS.Google Scholar
  2. 2.
    Frank, A. and W. Kuhn, Specifying Open GIS with Functional Languages, in Advances in Spatial Databases—4th International Symposium, SSD’ 95, Portland, ME, M. Egenhofer and J. Herring, Editors. 1995, Springer-Verlag: Berlin. p. 184–195.Google Scholar
  3. 3.
    Frank, A. One Step up the Abstraction Ladder: Combining Algebras-From Functional Pieces to a Whole. in COSIT-Conference on Spatial Information Theory. 1999: Springer-Verlag.Google Scholar
  4. 4.
    Medak, D., Lifestyles-a new Paradigm in Spatio-Temporal Databases, in Department for Geoinformation. 1999, Technical University of Vienna: Vienna.CrossRefGoogle Scholar
  5. 5.
    Winter, S. and S. Nittel, Formal information modelling for standardisation in the spatial domain. International Journal of Geographical Information Science, 2003. 17: p. 721–741.CrossRefGoogle Scholar
  6. 6.
    Hudak, P., Conception, evolution, and application of functional programming languages. ACM Comput. Surv., 1989. 21(3): p. 359–411.CrossRefGoogle Scholar
  7. 7.
    Jones, S.P., Haskell 98 Language and Libraries The Revised Report. 2002.Google Scholar
  8. 8.
    Peyton Jones, S., J. Hughes, and L. Augustsson. Haskell 98: A Non-strict, Purely Functional Language. 1999 [cited; Available from: Scholar
  9. 9.
    Thompson, S., Haskell:The Craft of Functional Programming. 1999, Harlow, England: Pearson Education.Google Scholar
  10. 10.
    Chakravarty, M., The Haskell 98 foreign function interface 1.0: An addendum to the Haskell 98 report. 2003.Google Scholar
  11. 11.
    Wadler, P., Comprehending monads, in Proceedings of the 1990 ACM conference on LISP and functional programming 1990, ACM Press: Nice, France. p. 61–78.CrossRefGoogle Scholar
  12. 12.
    Jones, S.P., Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell. 2005.Google Scholar
  13. 13.
    Vinhas, L. and K.R. Ferreira, Descrição da TerraLib, in Bancos de Dados Geográficos, M. Casanova, et al., Editors. 2005, MundoGeo Editora: Curitiba. p. 397–439.Google Scholar
  14. 14.
    Chakravarty, A.P.a.M. Interfacing Haskell with Object-Oriented Language. in 15th International Workshop on the Implementation of Functional Languages. 2004. Lübeck, Germany: Springer-Verlag.Google Scholar
  15. 15.
    Shields, M. and S.L.P. Jones, Object-Oriented Style Overloading for Haskell. Electronic Notes in Theoretical Computer Science, 2001. 59(1).Google Scholar
  16. 16.
    Tomlin, C.D., A Map Algebra, in Harvard Computer Graphics Conference. 1983: Cambridge, MA.Google Scholar
  17. 17.
    Câmara, G., Representação computacional de dados geográficos, in Bancos de Dados Geográficos, M. Casanova, et al., Editors. 2005, MundoGeo Editora: Curitiba. p. 11–52.Google Scholar
  18. 18.
    OGC. Open GIS Consortium. Topic 6: the coverage type and its subtypes. 2000 [cited 2006 10/05/2006]; Available from: Scholar
  19. 19.
    Câmara, G., et al. Towards a generalized map algebra: principles and data types. in VII Workshop Brasileiro de Geoinformática. 2005. Campos do Jordão: SBC.Google Scholar
  20. 20.
    Câmara, G., et al., SPRING: Integrating Remote Sensing and GIS with Object-Oriented Data Modelling. Computers and Graphics, 1996. 15(6): p. 13–22.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Sérgio Souza Costa
    • 1
  • Gilberto Câmara
    • 1
  • Danilo Palomo
    • 1
  1. 1.Divisão de Processamento de ImagensInstituto Nacional de Pesquisas EspaciaisBrazil

Personalised recommendations