Subject | Re: [Firebird-Architect] Spatial extension |
---|---|
Author | Jim Starkey |
Post date | 2014-03-01T20:04:48Z |
Firebird index keys are heavily mulched
so they can be compressed and still compared bytewise. Spatial
indexes are generally based on enclosed rectangles. I doubt there
is any commonality, so you'd be pretty much starting from
scratch. The on-disk structure does provide for an open ended set
of index types (or did after I blew it the first time).
A likely hard problem with spatial indexes in Firebird is bucket splits, which are closer to re-organizations than simple B-tree bucket splits. Doing spatial index splits while preserving careful write would be very, very tricky, but probably not impossible.
Another part of the problem is support for spatial types usually engenders taking on a gigantic GIS standard and associated library. So while spatial types and indexes are nice and good, without full support for the standard, probably not all that useful.
A likely hard problem with spatial indexes in Firebird is bucket splits, which are closer to re-organizations than simple B-tree bucket splits. Doing spatial index splits while preserving careful write would be very, very tricky, but probably not impossible.
Another part of the problem is support for spatial types usually engenders taking on a gigantic GIS standard and associated library. So while spatial types and indexes are nice and good, without full support for the standard, probably not all that useful.
On 3/1/2014 2:49 PM, Godofredo Contreras wrote:
Hi,
I am interested in creating a spatial extension for Firebird and I would like to know how to extend the data types and how to create new index types.
I was looking for information about how to extend Firebird but I couldn´t find anything apart from extending it using UDFs. Could you please point to the correct sources of information?
Thank you,
Godofredo