The SPB-tree utilizes the two-stage mapping, i.e., the pivot mapping and the space-filling curve (SFC) mapping, to map objects into SFC values (i.e., integers) while (to some extent) maintaining spatial proximity. Then, a B+-tree is used to store the SFC values. Fig. 1 depicts an example of SPB-tree, where Fig. 1(b) illustrates the pivot mapping and Hilbert curve mapping. Each non-leaf entry e stores the SFC values min and max for ⟨ a1, a2, …, an⟩ and ⟨b1, b2, …, bn⟩ to represent the left-bottom and right-top points of its minimum bounding box e.MBB = {[ai,bi]| 1≤i≤n}.
(a) SPB-tree Structure |
(b) Pivot mapping and Hilbert curve mapping |
Fig. 1 Example of SPB-tree
Usage: [dataFile] [pname] [indexFile] [costFile] [maxDistance] [pivotNumber] [blockSize] [queryFile]
Example: LA.txt pivot_all_LA.txt spb-index-file spb-cost.txt 25000 5 4096 LA_query.txt