With the proliferation of spatial and spatio-temporal data that are produced everyday by a wide range of applications, Geographic Information Systems (GIS) have to cope with millions of objects with diverse spatial characteristics. Clearly, under these circumstances, substantial performance speed up can be achieved with the use of spatial, spatio-temporal and other multi-dimensional indexing techniques. Due to the increasing research effort on developing new indexing methods, the number of available alternatives is becoming overwhelming, making the task of selecting the most appropriate method for indexing the data according to application needs rather challenging. Therefore, developing a library that can combine a variety of indexing techniques under a common application programming interface can prove to be a valuable tool. In this paper we present SaIL (SpAtial Index Library), an extensible framework that enables easy integration of spatial and spatio-temporal index structures into existing applications. We focus on design issues and elaborate on techniques for making the framework generic enough, so that it can support user defined data types, customizable spatial queries, and a broad range of spatial (and spatio-temporal) index structures, in a way that does not compromise functionality, extensibility and, primarily, ease of use. SaIL is publicly available and has already been successfully utilized for research and commercial applications.
Similar content being viewed by others
References
P. M. Aoki, Generalizing “search” in generalized search trees (extended abstract), in Proc. of Internation Conference on Data Engineering (ICDE), pages 380–389, 1998.
W. G. Aref and I. F. Ilyas. “An extensible index for spatial databases,” in Proc. of Scientific and Statistical Database Management (SSDBM), pages 49–58, 2001.
B. Becker, S. Gschwind, T. Ohler, B. Seeger, and P. Widmayer. “An asymptotically optimal multiversion B-Tree.” The VLDB Journal, Vol. 5(4):264–275, 1996.
J. L. Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM (CACM), Vol. 18(9):509–517, 1975.
S. Berchtold, D. A. Keim and H. Kriegel. “The X-tree: An index structure for high-dimensional data,” in Proc. of Very Large Data Bases (VLDB), 28–39, 1996.
C. Böm, S. Berchtold and D. A. Keim. “Searching in high-dimensional spaces: Index structures for improving the performance of multimedia databases.” ACM Computing Surveys, Vol. 33(3):322–373, 2001.
M. J. Carey, D. J. DeWitt, M. J. Franklin, N. E. Hall, M. L. McAuliffe, J. F. Naughton, D. T. Schuh, M. H. Solomon, C. K. Tan, O. G. Tsatalos, S. J. White and M. J. Zwilling. “Shoring up persistent applications,” in Proc. Of ACM Management of Data (SIGMOD), pp. 383–394, 1994.
D. Comer. “The ubiquitous B-tree,” ACM Computing Surveys, Vol. 11(2):121–137, 1979.
R. de la Briandais. “File searching using variable length keys,” in Proc. of the Western Joint Computer Conference, pp. 295–298, 1959.
J. Van den Bercken, B. Blohsfeld, J. Dittrich, J. Krämer, T. Schäfer, M. Schneider, and B. Seeger. “XXL—a library approach to supporting efficient implementations of advanced database queries,” in Proc. of Very Large ata Bases (VLDB), 39–48, 2001.
J. Driscoll, N. Sarnak, D. Sleator, and R.E. Tarjan. “Making data structures persistent,” in Proc. of ACM Symposium on Theory of Computing (STOC), 1986.
ESRI. ArcGIS. http://www.esri.com/software/arcgis/index.html.
R. A. Finkel and J. L. Bentley. “Quad Trees, a data structure for retrieval on composite keys.” Acta Informatica, Vol. 4(1):1–9, 1974.
E. Fredkin. “Trie memory.” Communications of the ACM (CACM), Vol. 3(9):490–499, 1960.
V. Gaede and O. Günther. “Multidimensional access methods.” ACM Computing Surveys, Vol. 30(2):170–231, 1998.
E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley Publishing Company: New York, NY, 1995.
A. Guttman. “R-trees: A dynamic index structure for spatial searching,” in Proc. Of ACM Management of Data (SIGMOD), pp. 47–57, 1984.
M. Hadjieleftheriou, G. Kollios, V. J. Tsotras and D. Gunopulos. “Efficient indexing of spatiotemporal objects,” in Proc. of Extending Database Technology (EDBT), pp. 251–268, 2002.
J. M. Hellerstein, J. F. Naughton and A. Pfeffer. “Generalized search trees for database systems,” in Proc. of Very Large Data Bases (VLDB), pp. 562–573, 1995.
G. Kollios, V.J. Tsotras, D. Gunopulos,A. Delis and M. Hadjieleftheriou. “Indexing animated objects using spatiotemporal access methods,” IEEE Transactions on Knowledge and Data Engineering (TKDE), Vol. 13(5):758–777, 2001.
A. Kumar, V. J. Tsotras and C. Faloutsos. “Designing access methods for bitemporal databases,” IEEE Transactions on Knowledge and Data Engineering (TKDE), Vol. 10(1):1–20, 1998.
S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez. “Indexing the positions of continuously moving objects,” SIGMOD Record, Vol. 29(2):331–342, 2000.
B. Salzberg and V. J. Tsotras. “Comparison of access methods for time-evolving data,” Communications of the ACM (CACM), Vol. 31(2):158–221, 1999.
H. Samet. “The quadtree and related hierarchical data structures,” ACM Computing Surveys, Vol. 16(2):187–260, 1984.
SDSS. SkyServer. http://skyserver.sdss.org/dr1/en/.
Y. Tao and D. Papadias. “MV3R-Tree: A spatio-temporal access method for timestamp and interval queries,” in Proc. of Very Large Data Bases (VLDB), pp. 431–440, 2001.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was conducted while the first author was visiting ESRI and was partially supported by ESRI, NSF grants IIS-9907477, EIA-9983445, and IIS-0220148.
Rights and permissions
About this article
Cite this article
Hadjieleftheriou, M., Hoel, E. & Tsotras, V.J. SaIL: A Spatial Index Library for Efficient Application Integration. Geoinformatica 9, 367–389 (2005). https://doi.org/10.1007/s10707-005-4577-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10707-005-4577-6