Cõy tứ phõn matrix MX (MX-Quadtrees)

Một phần của tài liệu Một số vấn đề về lưu trữ và chỉ mục trong cơ sở dữ liệu không gian (Trang 44 - 45)

Trong cả hai trường hợp cõy 2-d và cõy tứ phõn điểm, hỡnh thự của cõy phụ thuộc vào thứ tự cỏc đối tượng được chốn vào cõy. Đặc biệt, thứ tự ảnh hưởng đến chiều cao của cõy, do đú ảnh hưởng đến độ phức tạp của cỏc thao tỏc tỡm kiếm và chốn. Mỗi nỳt N của cõy 2-d và cõy tứ phõn điểm biểu diễn vựng và phõn chia vựng thành 2 (trường hợp cõy 2-d) hoặc 4 (trường hợp cõy tứ phõn) vựng con. Việc phõn chia cú thể khụng đều vỡ nú phụ thuộc vào vị trớ điểm (N.XVAL, N.YVAL) trong vựng biểu diễn bởi N.

Ngược lại, mục tiờu của cõy MX-quadtree là để đảm bảo hỡnh dạng (và chiều cao) của cõy độc lập với số lượng cỏc nỳt của cõy, cũng như thứ tự chốn cỏc nỳt này. Thờm nữa, MX-quadtree tập trung vào việc đem lại cỏc giải thuật xoỏ và tỡm kiếm cú hiệu quả.

Một cỏch ngắn gọn, cõy MX-quadtree làm việc như sau: Đầu tiờn chỳng ta giả định rằng bản đồ đang được phõn thành một lưới kớch thước (2k

- 42 - NW SW NE SE a) A b) A B

phỏt triển ứng dụng tự do lựa chọn k và một khi nú được chọn thỡ nú phải cố định.

MX-quadtree cú cấu trỳc nỳt tương tự như cõy tứ phõn điểm, đú là chỳng cú kiểu newqtnodetype. Cú một sự khỏc biệt là gốc của MX-quadtree miờu tả vựng xỏc định bởi XLB = 0, XUB = 2k

, YLB = 0, YUB = 2k. Hơn nữa, khi một vựng được phõn chia, nú được chia ở giữa. Do vậy, nếu N là một nỳt, khi đú cỏc vựng thể hiện bởi bốn cành của N được mụ tả theo bảng dưới đõy. Trong bảng này, w ký hiệu chiều rộng của vựng được biểu diễn bởi N và được cho bởi w= N.XUB – N.XLB. Do tất cả cỏc vựng được biểu diễn bởi cỏc nỳt trong

MX- quadtree là cỏc vựng vuụng, nờn w = N.YUB – N.YLB.

Con XLB XUB YLB YUB

NW N.XLB N.XLB +w/2 N.YLB +w/2 N.YLB +w

SW N.XLB N.XLB +w/2 N.YLB N.YLB +w/2

NE N.XLB +w/2 N.XLB +w N.YLB +w/2 N.YLB +w

SE N.XLB +w/2 N.XLB +w N.YLB N.YLB +w/2

Bảng 2.2. Mụ tả bốn cành của nỳt N trong cõy tứ phõn MX

Một phần của tài liệu Một số vấn đề về lưu trữ và chỉ mục trong cơ sở dữ liệu không gian (Trang 44 - 45)