Designing a Language for Spatial Computing
We present the design rationale underlying a language for spatial computing and sketch a prototypical implementation in Python. The goal of this work is to provide a high-level language for spatial computing that is executable on existing commercial and open source spatial computing platforms, particularly Geographic Information Systems (GIS). The key idea of the approach is to target an abstraction level higher than that of GIS commands and data formats, yet meaningful within and across application domains. The paper describes the underlying theory of spatial information and shows its evolving formal specification. An embedding in Python exemplifies access to commonly available implementations of spatial computations.
KeywordsSpatial computing Domain-specific language Core concepts
We gratefully acknowledge contributions to the Python embedding and testing from Michel Zimmer, Marc Tim Thiemann, and Eric Ahlgren as well as funding from the UCSB Center for Spatial Studies.
- Albrecht, J. (1998). Universal analytical GIS operations: A task-oriented systematization of data structure-independent GIS functionality. In H. Onsrud & M. Craglia (Eds.), Geographic information research: Transatlantic perspectives (pp. 577–591). London: Taylor & Francis.Google Scholar
- Burrough, P. A., & Frank, A. U. (1996). Geographic objects with indeterminate boundaries. London: Taylor & Francis.Google Scholar
- Burrough, P. A., & McDonnell, R. (1998). Principles of geographical information systems. Oxford, UK: Oxford University Press.Google Scholar
- Camara, G., Egenhofer, M. J., Ferreira, K., Andrade, P., Queiroz, G., Sanchez, A., et al. (2014). Fields as a generic data type for big spatial data. In Geographic Information Science (pp. 159–172). Berlin: Springer.Google Scholar
- Degbelo, A., & Kuhn, W. (2012). A Conceptual Analysis of Resolution. In GeoInfo—XIII Brazilian Symposium on GeoInformatics, November 25–28 2012, Campos do Jordão, Brasil (pp. 11–22).Google Scholar
- Donnelly, M. (2005). Relative Places. Applied Ontology, 1, 55–75.Google Scholar
- Egenhofer, M. J., & Kuhn, W. (1999). Interacting with Geographic Information Systems. In M. F. Goodchild, D. J. Maguire, D. W. Rhind, & P. Longley (Eds.), Geographical Information Systems: Principles, techniques, applications, and management (2nd ed., Vol. 1, pp. 401–412). New York: Wiley.Google Scholar
- Golledge, R. G. (1995). Primitives of spatial knowledge. In T. L. Nyerges, D. M. Mark, R. Laurini, & M. J. Egenhofer (Eds.), Cognitive aspects of human-computer interaction for geographic information systems (pp. 29–44). Berlin: Springer.Google Scholar
- Kuhn, W. (2012). Core concepts of spatial information for transdisciplinary research. International Journal of Geographical Information Science, 26(12), 2267–2276 (Special Issue in honor of Michael Goodchild).Google Scholar
- Newman, M. E. J. (2010). Networks. Oxford: Oxford University Press.Google Scholar
- Norman, D. A. (1986). Cognitive Engineering. In D. Norman & S. Draper (Eds.), User centered system design (pp. 31–61). Hillsdale, NJ: Lawrence Erlbaum Associates.Google Scholar