Functional Coverages

Gennadii Donchyts, Fedor Baart, H.R.A. (Bert) Jagers, Arthur van Dam

Abstract


A new Application Programming Interface (API) is presented which simplifies working with geospatial coverages as well as many other data structures of a multi-dimensional nature. The main idea extends the Common Data Model (CDM) developed at the University Corporation for Atmospheric Research (UCAR). The proposed function object model uses the mathematical definition of a vector-valued function. A geospatial coverage will be expressed as a vector-valued function whose dependent variables (the vector components) are fully defined by its independent variables (the coordinates).

Our goal is to provide an API using a terminology and an object model that is both appealing to computer scientists and numerical modelers and is flexible enough to enable defining data structures for a wide range of applications. Examples of such data structures can be: wind velocity as a continuous variable defined along the channels in a river network. Precipitation data defined as a time-dependent variable on a set of sub-catchments of a drainage basin, preserving association with sub-catchment features.

The new object model provides a basis for both continuous and discrete coverages including non-geospatial data structures such as time series. Different storage models for variables are implemented, based on the Network Common Data Format (NetCDF), the Geospatial Data Abstraction Library (GDAL) and memory.

The API is available as set of open source libraries developed in C# consisting of a multi-dimensional arrays library; a scientific data structures library defining variables, functions, units of measure; a geospatial extensions library built on top of GeoAPI.NET and NetTopologySuite, defining specialized coverages: network coverage, feature coverage, regular grid coverage, and unstructured grid coverage.

Keywords


geospatial; coverage; netcdf

Full Text:

PDF


Feedback

To send direct feedback or article ideas to the Editorial team, please use this form.

Contribute / Contact

If you are interested in joining the editorial team you are welcome to Join the Journal mailing list and introduce yourself, your interests and area of expertise.