Skip to main content

External-memory algorithms with applications in GIS

  • Chapter
  • First Online:
Algorithmic Foundations of Geographic Information Systems (CISM School 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1340))

Abstract

As GIS systems frequently handle huge amounts of data it is getting increasingly important to design algorithms with good I/O performance for problems arising in such systems. Many important computational geometry problems are abstractions of important GIS operations, and in recent years a number of basic techniques for designing I/O-efficient algorithms for such problems have been developed. In this chapter we have surveyed these techniques and the algorithms developed using them. However, the young field of I/O-efficient computation is to a large extend still wide open. Even though the experimental results reported so far are encouraging, a major future goal is to investigate the practical merits of the developed I/O algorithms.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. K. Agarwal, L. Arge, T. M. Murali, K. Varadarajan, and J. S. Vitter. 1/0efficient algorithms for contour line extraction and planar graph blocking. In Proc. ACM-SIAM Symp. on Discrete Algorithms, 1998.

    Google Scholar 

  2. A. Aggarwal, B. Alpern, A. K. Chandra, and M. Snir. A model for hierarchical memory. In Proc. ACM Symp. on Theory of Computation, pages 305–314, 1987.

    Google Scholar 

  3. A. Aggarwal and A. K. Chandra. Virtual memory algorithms. In Proc. ACM Symp. on Theory of Computation, pages 173–185, 1988.

    Google Scholar 

  4. A. Aggarwal, A. K. Chandra, and M. Suir. Hierarchical memory with block transfer. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 204–216, 1987.

    Google Scholar 

  5. A. Aggarwal and G. Plaxton. Optimal parallel sorting in multi-level storage. Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 659–668, 1994.

    Google Scholar 

  6. A. Aggarwal and J. S. Vitter. The Input/Output complexity of sorting and related problems. Communications of the ACM, 31(9):1116–1127, 1988.

    Google Scholar 

  7. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA, 1974.

    Google Scholar 

  8. B. Alpern, L. Carter, and E. Feig. Uniform memory hierarchies. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 600–608, 1990.

    Google Scholar 

  9. R. J. Anderson and G. L. Miller. A simple randomized parallel algorithm for list-ranking. Information Processing Letters, 33:269–273, 1990.

    Google Scholar 

  10. D. S. Andrews, J. Snoeyink, J. Boritz, T. Chan, G. Denham, J. Harrison, and C. Zhu. Further comparisons of algorithms for geometric intersection problems. In Proc. 6th Int'l. Symp. on Spatial Data Handling, 1994.

    Google Scholar 

  11. ARC/INFO. Understanding GIS-the ARC/INFO method. ARC/INFO, 1993. Rev. 6 for workstations.

    Google Scholar 

  12. L. Arge. The buffer tree: A new technique for optimal I/O-algorithms. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 334–345, 1995. A complete version appears as BRIGS technical report RS-96-28, University of Aarhus.

    Google Scholar 

  13. L. Arge. The I/O-complexity of ordered binary-decision diagram manipulation. In Proc. Int. Symp. on Algorithms and Computation, LNCS 1004, pages 82–91, 1995. A complete version appears as BRIGS technical report RS-96-29, University of Aarhus.

    Google Scholar 

  14. L. Arge. Efficient External-Memory Data Structures and Applications. PhD thesis, University of Aarhus, February/August 1996.

    Google Scholar 

  15. L. Arge, P. Ferragina, R. Grossi, and J. Vitter. On sorting strings in external memory. In Proc. ACM Symp. on Theory of Computation, pages 540–548, 1997.

    Google Scholar 

  16. L. Arge, M. Knudsen, and K. Larsen. A general lower bound on the I/O-complexity of comparison-based algorithms. In Proc. Workshop on Algorithms and Data Structures, LNCS 709, pages 83–94, 1993.

    Google Scholar 

  17. L. Arge and P. B, Miltersen. On showing lower bounds for external-memory computational geometry. In preparation.

    Google Scholar 

  18. L. Arge, O. Procopiuc, S. Ramaswamy, T. Suel, and J. S. Vitter. Theory and practice of I/O-efficient algorithms for multidimensional batched searching problems. In Proc. ACM-SIAM Symp. on Discrete Algorithms, 1998.

    Google Scholar 

  19. L. Arge, D. E. Vengroff, and J. S. Vitter. External-memory algorithms for processing line segments in geographic information systems. In Proc. Annual European Symposium on Algorithms, LNCS 979, pages 295–310, 1995. A complete version (to appear in special issue of Algorithmica) appears as BRIGS technical report RS-96-12, University of Aarhus.

    Google Scholar 

  20. L. Arge and J. S. Vitter. Optimal dynamic interval management in external memory. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 560–569, 1996.

    Google Scholar 

  21. R. D. Barve, E. F. Grove, and J. S. Vitter. Simple randomized mergesort on parallel disks. In Proc. ACM Symp. on Parallel Algorithms and Architectures, 1996.

    Google Scholar 

  22. R. Bayer and E. McCreight. Organization and maintenance of large ordered indizes. Acta Informatioa, 1:173–189, 1972.

    Google Scholar 

  23. J. L. Bentley. Algorithms for klee's rectangle problems. Dept. of Computer Science, Carnegie Mellon Univ., unpublished notes, 1977.

    Google Scholar 

  24. J. L. Bentley and D. Wood. An optimal worst case algorithm for reporting intersections of rectangles. IEEE Transactions on Computers, 29:571–577, 1980.

    Google Scholar 

  25. G. Blankenagel and R. H. Güting. XP-trees-External priority search trees. Technical report, FernUniversitiit Hagen, Informatik-Bericht Nr. 92, 1990.

    Google Scholar 

  26. M. Blum, R. W. Floyd, V. Pratt, R. L. Rievest, and R. E. Tarjan. Time bounds for selection. Journal of Computer and System Sciences, 7:448–461, 1973.

    Google Scholar 

  27. P. Callahan, M. T. Goodrich, and K. Ramaiyer. Topology B-trees and their applications. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 381–392, 1995.

    Google Scholar 

  28. T. M. Chan. A simple trapezoid sweep algorithm for reporting red/blue segment intersections. In Proc. of 6th Canadian Conference on Computational Geometry, 1994.

    Google Scholar 

  29. B. Chazelle and H. Edelsbrunner. An optimal algorithm for intersecting line segments in the plane. Journal of the ACM, 39:1–54, 1992.

    Google Scholar 

  30. B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir. Algorithms for bichromatic line-segment problems and polyhedral terrains. Algorithmica, 11:116–132, 1994.

    Google Scholar 

  31. B. Chazelle and L. J. Guibas. Fractional cascading: I. A data structuring technique. Algorithmica, 1:133–162, 1986.

    Google Scholar 

  32. Y.-J. Chiang. Experiments on the practical I/O efficiency of geometric algorithms: Distribution sweep vs. plane sweep. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 346–357, 1995.

    Google Scholar 

  33. Y.-J. Chiang, M. T. Goodrich, E. F. Grove, R. Tamassia, D. E. Vengroff, and J. S. Vitter. External-memory graph algorithms. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 139–149, 1995.

    Google Scholar 

  34. Yi-Jen Chiang. Dynamic and I/O-Efficient Algorithms for Computational Geometry and Graph Problems: Theoretical and Experimental Results. PhD thesis, Brown University, August 1995.

    Google Scholar 

  35. D. R. Clark and J. I. Munro. Efficient suffix trees on secondary storage. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 383–391, 1996.

    Google Scholar 

  36. A. Cockcroft. Sun Performance and Tuning. SPARC & Solaris. Sun Microsystems Inc., 1995.

    Google Scholar 

  37. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

  38. Thomas H. Cormen. Virtual Memory for Data Parallel Computing. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1992.

    Google Scholar 

  39. Thomas H. Cormen. Fast permuting in disk arrays. Journal of Parallel and Distributed Computing, 17(1-2):41–57, 1993.

    Google Scholar 

  40. Thomas H. Cormen and Leonard F. Wisniewski. Asymptotically tight bounds for performing BMMC permutations on parallel disk systems. In Proc. ACM Symp. on Parallel Algorithms and Architectures, pages 130–139, 1993.

    Google Scholar 

  41. D. Cormer. The ubiquitous B-tree. ACM Computing Surveys, 11(2):121–137, 1979.

    Google Scholar 

  42. R. F. Cromp. An intellegent information fusion system for handling the archiving and querying of terabyte-sized spatial databases. In S. R. Tate ed., Report on the Workshop on Data and Image Compression Needs and Uses in the Scientific Community, CESDIS Technical Report Series, TR-93–99, pages 75–84, 1993.

    Google Scholar 

  43. M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational Geometry-Algorithms and Applications. Springer Verlag, Berlin, 1997.

    Google Scholar 

  44. H. Edelsbrunner and M. Overmars. Batched dynamic solutions to decomposable searching problems. Journal of Algorithms, 6:515–542, 1985.

    Google Scholar 

  45. P. Ferragina and R. Grossi. A fully-dynamic data structure for external substring search. In Proc. ACM Symp. on Theory of Computation, pages 693–702, 1995.

    Google Scholar 

  46. P. Ferragina and R. Grossi. Fast string searching in secondary storage: Theoretical developments and experimental results. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 373–382, 1996.

    Google Scholar 

  47. R. W. Floyd. Permuting information in idealized two-level storage. In Complexity of Computer Calculations, pages 105–109, 1972. R. Miller and J. Thatcher, Eds. Plenum, New York.

    Google Scholar 

  48. A. Fournier and D. Y. Montuno. Triangulating simple polygons and equivalent problems. ACM Trans. on Graphics, 3(2):153–174, 1984.

    Google Scholar 

  49. P. G. Franciosa and M. Talamo. Orders, implicit k-sets representation and fast halfplane searching. In Proc. Workshop on Orders, Algorithms and Applications (ORDAL'9/4), pages 117–127, 1994.

    Google Scholar 

  50. G. R. Ganger, B. L. Worthington, R. Y. Hou, and Y. N. Patt. Disk arrays. Highperformance, high-reliability storage subsystems. IEEE Computer, 27(3):30–46, 1994.

    Google Scholar 

  51. D. Gifford and A. Spector. The TWA reservation system. Communications of the ACM 27:650–665, 1984.

    Google Scholar 

  52. M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter. External-memory computational geometry. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 714–723, 1993.

    Google Scholar 

  53. R. L. Graham. An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters, 1:132–133, 1972.

    Google Scholar 

  54. L. J. Guibas and J. Stolfi. Primitives for the manipulation of general subdivisions and the computation of voronoi diagrams. ACM Trans. on Graphics, 4:74–123, 1985.

    Google Scholar 

  55. Laura M. Haas and William F. Cody. Exploiting extensible dbms in integrated geographic information systems. In Proc. of Advances in Spatial Databases, LNCS 525, 1991.

    Google Scholar 

  56. J. W. Hong and H. T. Kung. I/'O complexity: The red-blue pebble game. In Proc. ACM Symp. on Theory of Computation, pages 326–333, 1981.

    Google Scholar 

  57. S. Huddleston and K. Mehlhorn. A. new data structure for representing sorted lists. Acta Informatica, 17:157–184, 1982.

    Google Scholar 

  58. Ch. Icking, R. Klein, and Th. Ottmann. Priority search trees in secondary memory. In Proc. Graph-Theoretic Concepts in Computer Science, LNCS 314, pages 84–93, 1987.

    Google Scholar 

  59. B. H. H. Juurlink and H. A. G. Wijshoff. The parallel hierarchical memory model. In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 824, pages 240–251, 1993.

    Google Scholar 

  60. P. C. Kanellakis, S. Ramaswamy, D. E. Vengroff, and J. S. Vitter. Indexing for data models with constraints and classes, In Proc. ACM Symp. Principles of Database Systems, 1993. A complete version (to appear in special issue of JCSS on principles of database systems) appears as technical report 90–31, Brown University.

    Google Scholar 

  61. D. G. Kirkpatrick and R. Seidel. The ultimate planar convex hull algorithm? SIAM Journal of Computing, 15:287–299, 1986.

    Google Scholar 

  62. M. Knudsen and K, Larsen. I/O-complexity of comparison and permutation problems. Master's thesis, University of Aarhus, November 1992.

    Google Scholar 

  63. M. Knudsen and K. Larsen. Simulating I/O-algorithms. Master student project, University of Aarhus, August 1993.

    Google Scholar 

  64. D. Knuth. The Art of Computer Programming, Vol. 3 Sorting and Searching. Addison-Wesley, 1973.

    Google Scholar 

  65. V. Kumar and E. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In Proc. IEEE Symp. on Parallel and Distributed Processing, 1996.

    Google Scholar 

  66. R. Laurini and A. D. Thompson. Fundamentals of Spatial Information Systems. A.P.I.C. Series, Academic Press; New York, NY, 1992.

    Google Scholar 

  67. H. G. Mairson and J. Stolfi. Reporting and counting intersections between two sets of line segments. In R. Earnshaw (ed.), Theoretical Foundation of Computer Graphics and CAD, NATO ASI Series, Vol. F40, pages 307–326, 1988.

    Google Scholar 

  68. K. Mulmuley. Computational Geometry. An introduction through randomized algorithms. Prentice-Hall, 1994.

    Google Scholar 

  69. M. H. Nodine, M. T. Goodrich, and J. S. Vitter. Blocking for external graph searching. Algorithmica, 16(2):181–214, 1996.

    Google Scholar 

  70. M. H. Nodine and J. S. Vitter. Deterministic distribution sort in shared and distributed memory multiprocessors. In Proc. ACM Symp. on Parallel Algorithms and Architectures, pages 120–129, 1993.

    Google Scholar 

  71. M. H. Nodine and J. S. Vitter. Paradigms for optimal sorting with multiple disks. In Proc. of the 26th Hawaii Int. Conf. on Systems Sciences, 1993.

    Google Scholar 

  72. M. H. Nodine and J. S. Vitter. Greed sort: An optimal sorting algorithm for multiple disks. Journal of the ACM, pages 919–933, 1995.

    Google Scholar 

  73. M. Overmars, M. Smid, M. de Berg, and M. van Kreveld. Maintaining range trees in secundary memory. Part I: Partitions. Acta Informatica, 27:423–452, 1990.

    Google Scholar 

  74. L. Palazzi and J. Snoeyink. Counting and reporting red/blue segment intersections. In Proc. Workshop on Algorithms and Data Structures, LNCS 709, pages 530–540, 1993.

    Google Scholar 

  75. Yale N. Patt. The I/O subsystem-a candidate for improvement. Guest Editor's Introduction in IEEE Computer, 27(3):15–16, 1994.

    Google Scholar 

  76. F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, 1985.

    Google Scholar 

  77. S. Ramaswamy and S. Subramanian. Path caching: A technique for optimal external searching. In Proc. ACM Symp. Principles of Database Systems, 1994.

    Google Scholar 

  78. Chris Ruemmler and John Wilkes. An introduction to disk drive modeling. IEEE Computer, 27(3):17–28, 1994.

    Google Scholar 

  79. H. Samet. Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison Wesley, MA, 1989.

    Google Scholar 

  80. J. E. Savage. Space-time tradeoffs in memory hierarchies. Technical Report CS93-08, Brown University, 1993.

    Google Scholar 

  81. M. Smid. Dynamic Data Structures on Multiple Storage Media. PhD thesis, University of Amsterdam, 1989.

    Google Scholar 

  82. M. Smid and M. Overmars. Maintaining range trees in secundary memory. Part II: Lower bounds. Acta Informatica, 27:453–480, 1990.

    Google Scholar 

  83. S. Subramanian and S. Ramaswamy. The p-range tree: A new data structure for range searching in secondary memory. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 378–387, 1995.

    Google Scholar 

  84. R. E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6(2):306–318, 1985.

    Google Scholar 

  85. V. K. Vaishnavi and D. Wood. Rectilinear line segment intersection, layered segment trees, and dynamization. Journal of Algorithms, 3:160–176, 1982.

    Google Scholar 

  86. M. van Kreveld. Geographic information systems. Utrecht University, INF/DOC95-01, 1995.

    Google Scholar 

  87. J. van Leeuwen. Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity. Elsevier, 1990.

    Google Scholar 

  88. D. E. Vengroff. A transparent parallel I/O environment. In Proc. 1994 DAGS Symposium on Parallel Computation, 1994.

    Google Scholar 

  89. D. E. Vengroff. Private communication, 1995.

    Google Scholar 

  90. D. E. Vengroff. TPIE User Manual and Reference. Duke University, 1995. Available via WWW at http://www.cs.duke.edu/~dev.

    Google Scholar 

  91. D. E. Vengroff and J. S. Vitter. Supporting I/O-efficient scientific computation in TPIE. In Proc. IEEE Symp. on Parallel and Distributed Computing, 1995. Appears also as Duke University Dept. of Computer Science technical report CS-1995-18.

    Google Scholar 

  92. D. E. Vengroff and J. S. Vitter. Efficient 3-d range searching in external memory. In Proc. ACM Symp. on Theory of Computation, pages 192–201, 1996.

    Google Scholar 

  93. D. E. Vengroff and J. S. Vitter. I/O-efficient computation: The TPIE approach. In Proceedings of the Goddard Conference on Mass Storage Systems and Technologies, NASA Conference Publication 3340, Volume II, pages 553–570, College Park, MD, September 1996.

    Google Scholar 

  94. J. S. Vitter. Efficient memory access in large-scale computation (invited paper). In Symposium on Theoretical Aspects of Computer Science, LNCS 480, pages 26–41, 1991.

    Google Scholar 

  95. J. S. Vitter and M. H. Nodine. Large-scale sorting in uniform memory hierarchies. Journal of Parallel and Distributed Computing, 17:107–114, 1993.

    Google Scholar 

  96. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory, I: Two-level memories. Algorithmica, 12(2-3):110–147, 1994.

    Google Scholar 

  97. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory, II: Hierarchical multilevel memories. Algorithmica, 12(2-3):148–169, 1994.

    Google Scholar 

  98. B. Zhu. Further computational geometry in secondary memory. In Proc. Int. Symp. on Algorithms and Computation, pages 514–522, 994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Marc van Kreveld Jürg Nievergelt Thomas Roos Peter Widmayer

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Arge, L. (1997). External-memory algorithms with applications in GIS. In: van Kreveld, M., Nievergelt, J., Roos, T., Widmayer, P. (eds) Algorithmic Foundations of Geographic Information Systems. CISM School 1996. Lecture Notes in Computer Science, vol 1340. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63818-0_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-63818-0_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63818-6

  • Online ISBN: 978-3-540-69653-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics