Abstract: This repository contains the specifications and resources towards a language for spatial computing. 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 and implement an abstraction level higher than that of GIS commands and data formats, yet meaningful within and across application domains. The associated papers describe 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. For details, see references (Kuhn 2012; Kuhn & Ballatore 2015).
Keywords: spatial computing; domain-specific languages; geographic information science
Members & contributors:
- Prof. Werner Kuhn (home)
- Dr. Andrea Ballatore (home)
- Eric Ahlgren
- Marc Thiemann
- Michel Zimmer (home)
- Behzad Vahedi
- Thomas Hervey (home)
- Sara Lafia (home)
- Liangcun Jiang
- CoreConceptsHs: The Haskell specifications of the core concepts.
- CoreConceptsJs: A JavaScript implementation of the core concepts.
- CoreConceptsPy: A Python implementation of the core concepts.
- CoreConceptsRdf: An RDF(S) implementation of the core concepts.
Haskell: Locations, fields, networks, objects and events are specified. Only networks are implemented. No unit tests exist yet. Only networks have examples.
JavaScript: The development is ongoing. Currently fields and objects are implemented. But a couple of functions will be refactored.
Python: Versions leveraging ArcPy and GDAL processing are progressing separately. In each case, content and quality concepts have abstract classes, while object and field have concrete implementations. Unit tests exist for previous GDAL versions, but the tests for fields and objects should not be considered full unit tests and are more like examples. Several content concepts have examples under the example folder.
RDF: There are two thorough ontologies written in owl and one basic ontology written in RDFS for the event core concept. For every event ontology there are use cases including example RDF data and SPARQL queries. Apart from that, there is a basic, preliminary ontology written in RDFS for all core concepts. There are still thorough ontologies needed for the core concepts location, field, network and object.
- Allen, C., Hervey, T., Lafia, S., Phillips, D., Vahedi, B., Kuhn, W. (2016). Exploring the Notion of Spatial Data Lenses (accepted)
- Vahedi, B., Kuhn, W., Ballatore A. (2016). Question-Based Spatial Computing - A Case Study. In T. Sarjakoski, M. Y. Santos, & L. T. Sarjakoski (Eds.), Lecture Notes in Geoinformation and Cartography (AGILE 2016) (pp. 37 - 50). Berlin: Springer. <PDF>
- Kuhn, W. & Ballatore, A. (2015). Designing a Language for Spatial Computing. Lecture Notes in Geoinformation and Cartography 2015, AGILE, Lisbon, Portugal, pp 309-326. Best Paper Award. <PDF>
- Kuhn, W. (2012). Core concepts of spatial information for transdisciplinary research. International Journal of Geographical Information Science, 26(12), 2267-2276. <PDF>