The Simple Feature Access Specification is a common standard that is widely used in geoinformatics for exchanging spatial features. It defines a common storage and access model for spatial vector geometries used by geographic information systems. Efficient serialization of this spatial data is a vital requirement in Spatial Data Infrastructures and Geoprocessing applications.
The main goal of my GSoC 2017 project “Simple Features for protobuf and others” is to define and implement a serialization API for spatial vector data, which will transparently serialize geometries based on the Simple Feature specification using Protobuf into binary encoding. This serialization API not only works for binary encoding, but is also extensible to support other language specific geometric models such as JTS and others. In addition, Protocol Buffers will be utilized as the serialization framework because of their unique features, such as flexibility, efficiency and automated mechanism for serializing structured data. The serialization API will be integrated in common 52°North Open Source Software, e.g. the Sensor Observation Service or the Web Processing Service and should serve as a common framework for providing efficient encoding of spatial data.
The following major features will be implemented in the Serialization API.
- Reusable and easily extensible serialization API based on JTS using protobuf3 which supports simple feature access standard specification
- Capability to extend the model to support new features and other geospatial content such as raster data
- Pluggable architecture to support different serialization frameworks like Avro
More in-detail and comprehensive feature description will be available with the next blog post.
The main focus of this project is to support vector data and upon early completion of the primary tasks, we will consider serializing other geospatial content such as raster data as well. For that we consider GeoTIFF data format as raster data representation.
My name is Malith Withanage Don. I am currently reading M.Sc. Informatics at the Technical University of Munich. In addition, I am an open source enthusiastic focusing on Distributed Computing and Java. If you are interested in this GSoC project, please refer to the official project wiki page and upcoming blog posts.