Skip to main content
Log in

SaIL: A Spatial Index Library for Efficient Application Integration

  • Published:
GeoInformatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. SaIL. http://spatialindexlib.sourceforge.net.

  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.

  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.

  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. J. L. Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM (CACM), Vol. 18(9):509–517, 1975.

    Article  Google Scholar 

  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.

  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.

    Article  Google Scholar 

  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.

  9. D. Comer. “The ubiquitous B-tree,” ACM Computing Surveys, Vol. 11(2):121–137, 1979.

    Article  Google Scholar 

  10. R. de la Briandais. “File searching using variable length keys,” in Proc. of the Western Joint Computer Conference, pp. 295–298, 1959.

  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.

  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.

  13. ESRI. ArcGIS. http://www.esri.com/software/arcgis/index.html.

  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.

    Article  Google Scholar 

  15. E. Fredkin. “Trie memory.” Communications of the ACM (CACM), Vol. 3(9):490–499, 1960.

    Article  Google Scholar 

  16. V. Gaede and O. Günther. “Multidimensional access methods.” ACM Computing Surveys, Vol. 30(2):170–231, 1998.

    Article  Google Scholar 

  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. A. Guttman. “R-trees: A dynamic index structure for spatial searching,” in Proc. Of ACM Management of Data (SIGMOD), pp. 47–57, 1984.

  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.

  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.

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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. 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. H. Samet. “The quadtree and related hierarchical data structures,” ACM Computing Surveys, Vol. 16(2):187–260, 1984.

    Article  Google Scholar 

  26. SDSS. SkyServer. http://skyserver.sdss.org/dr1/en/.

  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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vassilis J. Tsotras.

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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10707-005-4577-6

Keywords

Navigation