[This is a technical post.]
For a seminar at UEF I’m looking into ways to translate quantitative polygon data digitized in ArcGIS into qualitative data represented with the Region Connection Calculus (RCC). In a nutshell, an ArcGIS polygon described as a closed path of line segments each defined by two coordinates is translated to a symbol that represents an RCC region. For a model with at least two polygons, spatial relationships between polygon pairs (e.g. Disjoint or Overlaps) are computed and represented as RCC relations between regions.
The prototype – named Amber according to the feminine arabic name – is implemented as .Net application written in C# a design choice that is motivated by the idea of supporting at least a second Geographic Information System (GIS) beside ArcGIS, i.e. the open source MapWindow GIS. Though ArcGIS provides a Java API, as far as I know MapWindow GIS only provides a .Net API. The translation is compatible with Pellet Spatial which can, thus, be used for RCC spatial reasoning and querying (see also details on Pellet Spatial).
Currently, Amber comes with a command-line interface that reads an RDF assembly description for the input and output of the translation. The output is an RDF file that is compatible with the Pellet Spatial ontology. The input describes the source (ArcGIS) shapefiles that define the polygon and attribute data to be translated. Shapefile assembly descriptions contain a directive on where to locate the corresponding file and the description for a set of polygon attributes that are translated to RDF properties, e.g. the name, area, perimeter of a polygon. Amber uses dotNetRDF to read, write and query RDF and NetTopologySuite to test polygon pairs for spatial relationships. As far as I understand, in the current version NetTopologySuite does not fully support RCC-8 semantics which means that Pellet Spatial is currently more expressive.
Given that I contributed to the development of Pellet Spatial, one of the motivations for Amber is to bridge a GIS with Pellet Spatial. I’m not entirely sure yet whether this brings some enhanced spatial reasoning capabilities to the data or a computationally less expensive framework. The set of features provided by ArcGIS is quite large and even more is possible by chaining features so it is not straightforward to tell what exactly is supported and this is why I’m cautious here. However, representing qualitative spatial relations using the Pellet Spatial RDF/OWL ontology brings a range of new options to data that is otherwise more or less locked into ArcGIS, in particular SPARQL querying and a potential for easier integration of related data. It is perhaps also worth to note that exposing attribute data of (ArcGIS) features in RDF/OWL looks like a straightforward task and may be interesting for integration and reuse of geographic information.