Data Access → Drivers

As stated in the Data Access Base Concepts section, the Data Access module provides the classes foundation for creating implementations that truly access data in a specific format or system. These implementations are called hereinafter as Data Access Drivers. We can classify the drivers in two categories as follows.

Native Drivers

Native drivers are built on top of low-level communication libraries and explore all the capabilities behind the underlying system.

PostgreSQL/PostGIS

The PostGIS native data access driver allows applications to access data stored in a PostgreSQL system with the the geo-spatial extension PostGIS enabled. You can have more details about this driver here.

SQLite

The SQLite native data access driver allows applications to access spatial data stored in a SQLite database. You can have more details about this driver here.

In-Memory

The In-Memory native data access driver allows applications to store spatial data in main memory. This driver can be used as a cache or even for temporary data processing when all the data fits in the system memory. You can have more details about this driver here.

Drivers over Multi-Access Library

TerraLib takes advantage of other data abstraction libraries to provide access for other systems not supported by the native drivers nor commonly used. Although TerraLib adds one more layer above these libraries we expect not to add a significant overhead because TerraLib API was designed to be as lightweight as possible. You can see this in the benchmarks provided at the end of this section.

GDAL

The GDAL data access driver allows applications to access several raster file formats through the GDAL. You can have more details about this driver here.

OGR

The OGR data access driver allows applications to access several vector formats through the OGR. You can have more details about this driver here.

ADO

The ADO data access driver allows applications to access several formats and systems through the Microsoft AciveX Data Objects. You can have more details about this driver here.

Summary

The table below shows a summary of the number of line codes of all data access drivers:



you can have a fine grainded statistic in each driver section.

Final Remarks

We need to add a benchmark comparing the access through multi drivers and the underlying library. It would be also interisting to test GDAL against native drivers.

References


QR Code
QR Code wiki:designimplementation:dataaccess:drivers (generated for current page)