, Volume 9, Issue 4, pp 367–389 | Cite as

SaIL: A Spatial Index Library for Efficient Application Integration

  • Marios Hadjieleftheriou
  • Erik Hoel
  • Vassilis J. TsotrasEmail author

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.


Geographic Information System Geographic Information System Index Structure Application Programming Interface Indexing Method 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    P. M. Aoki, Generalizing “search” in generalized search trees (extended abstract), in Proc. of Internation Conference on Data Engineering (ICDE), pages 380–389, 1998.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    J. L. Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM (CACM), Vol. 18(9):509–517, 1975.CrossRefGoogle Scholar
  6. 6.
    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.Google Scholar
  7. 7.
    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.CrossRefGoogle Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    D. Comer. “The ubiquitous B-tree,” ACM Computing Surveys, Vol. 11(2):121–137, 1979.CrossRefGoogle Scholar
  10. 10.
    R. de la Briandais. “File searching using variable length keys,” in Proc. of the Western Joint Computer Conference, pp. 295–298, 1959.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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.Google Scholar
  13. 13.
  14. 14.
    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.CrossRefGoogle Scholar
  15. 15.
    E. Fredkin. “Trie memory.” Communications of the ACM (CACM), Vol. 3(9):490–499, 1960.CrossRefGoogle Scholar
  16. 16.
    V. Gaede and O. Günther. “Multidimensional access methods.” ACM Computing Surveys, Vol. 30(2):170–231, 1998.CrossRefGoogle Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    A. Guttman. “R-trees: A dynamic index structure for spatial searching,” in Proc. Of ACM Management of Data (SIGMOD), pp. 47–57, 1984.Google Scholar
  19. 19.
    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.Google Scholar
  20. 20.
    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.Google Scholar
  21. 21.
    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.CrossRefGoogle Scholar
  22. 22.
    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.CrossRefGoogle Scholar
  23. 23.
    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.Google Scholar
  24. 24.
    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.Google Scholar
  25. 25.
    H. Samet. “The quadtree and related hierarchical data structures,” ACM Computing Surveys, Vol. 16(2):187–260, 1984.CrossRefGoogle Scholar
  26. 26.
  27. 27.
    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.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  • Marios Hadjieleftheriou
    • 1
  • Erik Hoel
    • 2
  • Vassilis J. Tsotras
    • 3
    Email author
  1. 1.Computer Science DepartmentBoston UniversityBostonUSA
  2. 2.Research and DevelopmentEnvironmental Systems Research InstituteRedlandsUSA
  3. 3.Computer Science DepartmentUniversity of CaliforniaRiversideUSA

Personalised recommendations