R+ tree

An R+ tree is a method for looking up data using a location, often (x, y) coordinates, and often for locations on the surface of the earth. Searching on one number is a solved problem; searching on two or more, and asking for locations that are nearby in both x and y directions, requires craftier algorithms.

Fundamentally, an R+ tree is a tree data structure, a variant of the R tree, used for indexing spatial information.

Difference between R+ trees and R trees

R+ trees are a compromise between R-trees and kd-trees: they avoid overlapping of internal nodes by inserting an object into multiple leaves if necessary. Coverage is the entire area to cover all related rectangles. Overlap is the entire area which is contained in two or more nodes.[1] Minimal coverage reduces the amount of "dead space" (empty area) which is covered by the nodes of the R-tree. Minimal overlap reduces the set of search paths to the leaves (even more critical for the access time than minimal coverage). Efficient search requires minimal coverage and overlap.

R+ trees differ from R trees in that: nodes are not guaranteed to be at least half filled, the entries of any internal node do not overlap, and an object ID may be stored in more than one leaf node.

Advantages

Because nodes are not overlapped with each other, point query performance benefits since all spatial regions are covered by at most one node. A single path is followed and fewer nodes are visited than with the R-tree.

Disadvantages

Since rectangles are duplicated, an R+ tree can be larger than an R tree built on same data set. Construction and maintenance of R+ trees is more complex than the construction and maintenance of R trees and other variants of the R tree.

Notes

  1. Härder, Rahm, Theo, Erhard (2007). Datenbanksysteme (2., überarb. Aufl. ed.). Berlin [etc.]: Gardners Books. pp. 285, 286. ISBN 978-3-540-42133-7.
gollark: Generally, I think my things should do what I want and not enforce artificial lockouts on things, randomly break unrepairably, report data back to whoever, run unauditable proprietary software, or do weird stuff in the background.
gollark: Oh, and if I remember right all Teslas are constantly connected over the mobile network to Tesla and can refuse to work if you don't do software updates.
gollark: * one model of car, I mean
gollark: They also had a perfect* and flawless** design where in one car, their console or something had a flash chip in it which could not be replaced and which their terrible software wore out really fast.
gollark: I have very powerful and general disliking capabilities.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.