Bounding-Box Hierarchies and R-Trees

Introduces minimum bounding rectangles (MBRs) as cheap pre-filters for polygon queries, the four-inequality MBR intersection test, and how R-trees organize MBRs hierarchically to answer spatial queries efficiently. Applies to air routing where flights must be tested against thousands of airspace polygons.

Step 1 of 157%

Tutorial

Minimum Bounding Rectangles

Aircraft routing systems must repeatedly check whether a flight path interacts with thousands of polygonal regions: restricted airspaces, weather cells, controlled sectors. Testing each polygon directly is expensive, so we use a cheap pre-filter built on minimum bounding rectangles.

The minimum bounding rectangle (MBR) of a polygon PP with vertices (x1,y1),(x2,y2),,(xn,yn)(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n) is the smallest axis-aligned rectangle containing every vertex:

MBR(P)=[xmin,xmax]×[ymin,ymax],\text{MBR}(P) = [x_{\min}, x_{\max}] \times [y_{\min}, y_{\max}],

where xmin=minixix_{\min} = \min_i x_i, xmax=maxixix_{\max} = \max_i x_i, ymin=miniyiy_{\min} = \min_i y_i, and ymax=maxiyiy_{\max} = \max_i y_i.

For example, the triangle with vertices (1,2)(1, 2), (4,5)(4, 5), (3,1)(3, 1) has

xmin=1,xmax=4,ymin=1,ymax=5,x_{\min} = 1, \quad x_{\max} = 4, \quad y_{\min} = 1, \quad y_{\max} = 5,

so its MBR is [1,4]×[1,5][1, 4] \times [1, 5].

Because the MBR contains the polygon, any query region that fails to touch the MBR cannot touch the polygon. We have replaced an expensive polygon test with four scalar comparisons.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle