## I/O-Efficient Contour Queries on Terrains

### BibTeX

@MISC{Agarwal_i/o-efficientcontour,

author = {Pankaj K. Agarwal and Thomas Mølhave and Bardia Sadri},

title = {I/O-Efficient Contour Queries on Terrains},

year = {}

}

### OpenURL

### Abstract

A terrain M can be represented as a triangulation of the plane along with a height function associated with the vertices (and linearly interpolated within the edges and triangles) of M. We investigate the problem of answering contour queries on M: Given a height ℓ and a triangle f of M that intersects the level set of M at height ℓ, report the list of the edges of the connected component of this level set that intersect f, sorted in clockwise or counterclockwise order. Contour queries are different from level-set queries in that only one contour (connected component of the level set) out of all those that may exist is expected to be reported. We present an I/Oefficient data structure of linear size that answers a contour query in O(log B N + T/B) I/Os, where N is the number of triangles in the terrain and T is the number of edges in the output contour. The data structure can be constructed using O(Sort(N)) I/Os.

### Citations

537 |
The input/output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...n the bottleneck in the efficiency of algorithms for processing these massive terrain models (see e.g. [12]). We are therefore interested in developing efficient algorithms in the two-level I/O-model =-=[4]-=-. The machine consists of a main memory of size M and an infinite-size disk. A block of B consecutive elements can be transferred between main memory and disk in one I/O-operation (or simply I/O). Com... |

320 | External Memory Algorithms and Data Structures: Dealing with Massive Data
- Vitter
- 1981
(Show Context)
Citation Context ...peration (or simply I/O). Computation can only take place on elements in main memory, and the complexity of an algorithm is measured in terms of the number of I/Os it performs. See the recent surveys =-=[5, 17]-=- for a comprehensive review of I/O-efficient algorithms. Here we mention ( N that sorting N elements takes Θ B logM/B N B and we denote this quantity by Sort(N). common to assume that M ≥ B2 . called ... |

172 | External-memory graph algorithms
- Chiang, Goodrich, et al.
- 1995
(Show Context)
Citation Context ...n ancestor of v0 and v1 in the contour tree of M. One can compute η(e) of all terrain edges e with nonmatching endpoint colors in O(Sort(N)) I/Os using the so-called time-forward processing technique =-=[10]-=-. We can compute one of v − (K) or v + (K) as follows: We preprocess the blue (resp. red) vertices of J (resp. S) in a persistent B-tree [6, 16] BJ (resp. BS), using their heights as the key. Algorith... |

131 | Computing contour trees in all dimensions
- Carr, Snoeyink, et al.
(Show Context)
Citation Context ... with height greater than (resp. smaller than) ℓ are red (resp. blue). Contour, join, and split trees. Finally, we define the contour tree, and its two relatives the join and split trees of a terrain =-=[8, 11]-=-, 3 which will play crucial roles in our algorithms. They respectively encode the topology of the level sets, sublevel sets, and superlevel sets of M at various heights. The (augmented) contour tree C... |

79 | External memory data structures
- Arge
- 2002
(Show Context)
Citation Context ...peration (or simply I/O). Computation can only take place on elements in main memory, and the complexity of an algorithm is measured in terms of the number of I/Os it performs. See the recent surveys =-=[5, 17]-=- for a comprehensive review of I/O-efficient algorithms. Here we mention ( N that sorting N elements takes Θ B logM/B N B and we denote this quantity by Sort(N). common to assume that M ≥ B2 . called ... |

73 | I/o optimal isosurface extraction
- Chiang, Silva
- 1997
(Show Context)
Citation Context ...nar triangulation [1, 15] only leads to an O(T/ log2 B) I/O solution. See [7] for improved bounds in some special cases. The known I/O-efficient algorithms for answering level-set queries on terrains =-=[2, 1, 9]-=- are not ideal for answering contour queries because the size of a level set to which a contour belongs can be much larger than the size of the contour. This is especially true for large global terrai... |

67 | An Efficient Multiversion Access Structure
- Varman, Verma
- 1999
(Show Context)
Citation Context ...I/Os using the so-called time-forward processing technique [10]. We can compute one of v − (K) or v + (K) as follows: We preprocess the blue (resp. red) vertices of J (resp. S) in a persistent B-tree =-=[6, 16]-=- BJ (resp. BS), using their heights as the key. Algorithm ComputeBJ (Figure 9 left) computes BJ. A similar algorithm is used to compute BS. The recorded step number τ(v) is later used to access the in... |

43 | Blocking for external graph searching
- Nodine, Goodrich, et al.
- 1996
(Show Context)
Citation Context ...tour efficiently in the I/O-model since a naive implementation requires O(T ), instead of O(T/B), I/Os to trace a contour of size T . Even the best-known algorithm for blocking a planar triangulation =-=[1, 15]-=- only leads to an O(T/ log2 B) I/O solution. See [7] for improved bounds in some special cases. The known I/O-efficient algorithms for answering level-set queries on terrains [2, 1, 9] are not ideal f... |

18 | I/O-efficient batched union-find and its applications to terrain analysis
- Agarwal, Arge, et al.
- 2006
(Show Context)
Citation Context ...ing the stretching Here we explain how the individual steps of the algorithm of Section 4 can be implemented using O(Sort(N)) I/Os. Computing the colored contour tree. The algorithm of Agarwal et al. =-=[3]-=- computes the augmented contour tree C of M in O(Sort(N)) I/Os. If C is rooted, i.e., if the parent of each vertex with respect to the root v∞ of C is determined, finding the colors of the edges of C ... |

14 | I/o-efficient point location using persistent b-trees
- Arge, Danner, et al.
- 2003
(Show Context)
Citation Context ...I/Os using the so-called time-forward processing technique [10]. We can compute one of v − (K) or v + (K) as follows: We preprocess the blue (resp. red) vertices of J (resp. S) in a persistent B-tree =-=[6, 16]-=- BJ (resp. BS), using their heights as the key. Algorithm ComputeBJ (Figure 9 left) computes BJ. A similar algorithm is used to compute BS. The recorded step number τ(v) is later used to access the in... |

13 |
I/O-Efficient Algorithms for Contour Line Extraction and Planar Graph Blocking
- Agarwal, Arge, et al.
- 1998
(Show Context)
Citation Context ...tour efficiently in the I/O-model since a naive implementation requires O(T ), instead of O(T/B), I/Os to trace a contour of size T . Even the best-known algorithm for blocking a planar triangulation =-=[1, 15]-=- only leads to an O(T/ log2 B) I/O solution. See [7] for improved bounds in some special cases. The known I/O-efficient algorithms for answering level-set queries on terrains [2, 1, 9] are not ideal f... |

11 | TerraStream: from elevation data to watershed hierarchies
- Danner, Mølhave, et al.
- 2007
(Show Context)
Citation Context ...it in main memory and thus reside on disks. Transfer of data between disk and main memory is often the bottleneck in the efficiency of algorithms for processing these massive terrain models (see e.g. =-=[12]-=-). We are therefore interested in developing efficient algorithms in the two-level I/O-model [4]. The machine consists of a main memory of size M and an infinite-size disk. A block of B consecutive el... |

3 | Planar Graph Blocking for External Searching
- Baswana, Sen
(Show Context)
Citation Context ...tation requires O(T ), instead of O(T/B), I/Os to trace a contour of size T . Even the best-known algorithm for blocking a planar triangulation [1, 15] only leads to an O(T/ log2 B) I/O solution. See =-=[7]-=- for improved bounds in some special cases. The known I/O-efficient algorithms for answering level-set queries on terrains [2, 1, 9] are not ideal for answering contour queries because the size of a l... |

1 | I/O-Efficient Algorithms for Computing Contours on a Terrain
- Agarwal, Arge, et al.
- 2008
(Show Context)
Citation Context ...nar triangulation [1, 15] only leads to an O(T/ log2 B) I/O solution. See [7] for improved bounds in some special cases. The known I/O-efficient algorithms for answering level-set queries on terrains =-=[2, 1, 9]-=- are not ideal for answering contour queries because the size of a level set to which a contour belongs can be much larger than the size of the contour. This is especially true for large global terrai... |

1 |
Afra Zomorodian. Hierarchical morse - smale complexes for piecewise linear 2-manifolds
- Edelsbrunner, Harer
(Show Context)
Citation Context ...d critical, and their heights are critical values of h. For simplicity, we assume that all saddles are simple, i.e., their upper (equivalently lower) links have exactly two connected components. (see =-=[13]-=- and Figure 3). Level sets and contours. For ℓ ∈ R, the level set, sublevel set, and superlevel set of a terrain M = (M, h) at height ℓ are subsets Mℓ, M<ℓ, and M>ℓ of R2 consisting of points x, respe... |

1 |
An account of the calculations made from the survey and measures taken at schehallien, in order to ascertain the mean density of the earth
- Hutton
(Show Context)
Citation Context ...mong other things, to compute the projected area of some feature of the terrain. In fact, computing the projected area of a hill or mountain was one of the earliest motivations for computing contours =-=[14]-=-. If h represents other measured quantities over a planar domain, e.g. the barometric pressure, then contour queries can be used to compute, e.g. the domain or area of a high-pressure system. These qu... |

1 |
I/O-efficient graph algorithms
- Zeh
(Show Context)
Citation Context ...y on a few standard I/O-efficient techniques such as list ranking, Euler tour computation of a tree, and time-forward processing. We do not describe these techniques in detail and refer the reader to =-=[18]-=-. 5.1 Algorithms for computing the stretching Here we explain how the individual steps of the algorithm of Section 4 can be implemented using O(Sort(N)) I/Os. Computing the colored contour tree. The a... |