AdaBase 3.1 - includes Spatial data / Geographic object support
2016-06-16 Filed in: Library
I had intended that release 3.1 of AdaBase be a quick improvement that would add three new native data types:
- Bit type (like bit flags)
- UTF8 encoded strings
- Spatial data types / OpenGIS Geometry
From John R. Marino
The first two were relatively straight-forward.
Bits were sort of already supported but inconsistently and sometimes as strings. Now they are an array of bits for easy manipulation.
AdaBase tries to be smart with regard to encoding.
It forces the server to send text strings encoded as UTF8 and stores it natively and decodes them to strings/w/ws/ as necesary.
The support for MySQL spatial data types and the PostGIS extension for PostgreSQL took far longer than I anticipated. The result is pretty good,
I think, it allows AdaBase to directly query geometry fields without the use of database server-side functions to convert and extract. It reads the
internal format of MySQL and PostGIS directly and converts them to Well Known Binary (WKB) which can be used to construct AdaBase Geometry objects and
also into Well Known Text. This eliminates a lot of overhead as point data can be directly used immediately after a simple query that pulls
raw column data.
I wrote a pretty log documentation
page with two separate test cases to show geometry data extraction and the geometry data construction and
insertion. I don't know if anybody needs this feature, but I have a feeling there aren't a lot of database API packages that can handle GIS
data like this.