This is the User's Guide for a n-dimensional R-tree index based on the Informix/Illustra DataBlade technology. This originated as a class project for CS286 taught by Professor Joe Hellerstein. This extension consists of data types and functions to support the storage and retrievel of objects in n-dimensional Cartesian space. The routines have been verified to work with Illustra Server 3.2 Release and the Illustra Spatial DataBlade Release 1.3 Tue Sep 12 22:17:31 PDT 1995 on Sun Solaris 2.5 and compiled with SPARCcompiler 3.0.1.
The Illustra R-tree access method requires that the spatial objects be represented as n-dimensional boxes. N-dimensional boxes are represented as an Illustra arrayof(real) or equivalently a mi_varlena where the first half of the array represent the lower-left coordinates of the box and the second half of the array define the upper-right coordinates of the box. I have included a routine called NdPnt2NdBox which converts a point into a box representation by copying the lower-left coordinates to the upper-right coordinates.
For more information about the R-tree access method, please consult the original paper by Guttman R-Trees: A Dynamic Index Structure for Spatial Searching which can be found in Readings in Database Systems: Second Edition edited by Michael Stonebraker.
uncompress -c nd.tar.Z | tar -xvf -.make ndspatial.so.msql -v database < ndrtree.sql.If you have any questions about the implementation, found some bugs or done something interesting with the code, please let me know!