Tổng sỏ miễn bị giao bởi dường biện của phạm vị truy vẫn hình chữ nhật cũng được giới hạn bởi 2 vin, dpem Phan tắch thời gian truy vận, chúng tá đã đưa ra ở trên thì khá bắ quan: chúng t
Trang 2LOI CAM ON
Em xin trần trọng cảm ơn quý Thầy cô trong Khoa Toán - Tin trường Đại học Sư Phạm Thành Phố Hồ Chi Minh da tan tình giảng dạy truyền
đạt những kiện thức vả kinh nghiệm quý bảu cho em
Đồ án của em sé rat khó hồn thành nếu khơng có sự truyền đạt kiến thức
quỷ báu vả sự hưởng dẫn tận tình của thầy Ngõ Quốc Việt Em xin chân
thành cam on dén thay
Xin chin thanh cam ơn sự giúp đỡ, động viên và chỉ báo rất nhiệt tỉnh của cúc anh chy di trước vả tất cả bạn hè trong suốt quá trình học tập
Mặc dù đã có găng nỗ lực hết sức mình nhưng do thời gian thực hiện bảo cáo nảy rất ngắn nên chắc chắn không tránh khỏi những thiểu sót Em rat mong nhan được sự thông cảm vả chỉ bao tan tinh cua quy Thay
có va các bạn
Trang 3Muc luc
Ls GA NN 222220422 cà, l0 00G ca doc ba a2 605i S640)22xA S00 2
2 Khái niệm chung của hệ thống cơ sở dữ liệu không gian 4
2.4 Những kiệu dữ liệu không gian eo seieeeiree 4
2 2 Moi quan he hinh học topo (083640060 X4001822x01A06L1041//042046264á0A62/A5A6616kE 10)
23.3 Loe truy van bang x tưới hạn hình chữ nhật nho nhát, BS
Se RDB IRE scsi Satish 0662022264 20
31 Cape Wess heen 3025222009026 ti xáỪ gi đớn 20
3.2 KD-Tree Ses ata sa aaa lad me canada snes 3.3 Phat sinh tip hợp diém giá 0ả0 0109 W16Ax002i06600401sa000i6% 33 4á R-Treevd Biến thể 22A0 2n ke 36
ATs: ỘCea Shetas Retreescsoes sera acssctecestaiectsias aceciiinasasbanabauamaianeneiedệ
Be PEPSI v:a0yis40004)5210029/8)aGG2A2 0 MENGQGRSBbto6ieStpi\otiygsudxad 43
43 Toma sd thuật t td0ảán,cơ Bản của RE Ưgác 2222 4?
415i YOU Ni G CC ceotccenoaergiioadtiee 537
Baise Nà Y|MẾY cáyccebeooooeoernoiezrogtieossiiickoccovdCtsCayybzestiesese 7
+12 7 CN OA acs cccccacaveceesysecavenseveeiens m5 Ợ 48
SAE, TNR(NHUHDE aoenseisosoeeeredkeboesoroeeeeoeouaoeremessoe ee ỷ8
+35 2 AUjUSEÍTCE o e.e e.ooc: I9GBS00002215002/0000033901-5000/0404/34E MA GNEEB-S061602090u5Ề 48
4.3.6 I0vleuon ậ(082Y0/95400014042y0414//354801614601y0xfyyy06)803900 9915) 60/989 "9
43.7 limdl caf, ecscsằààS.S SĂSS22S2S<cSSSSE nh nhheckec 49
43.8 Condense tr (cỀầẦầđắđiầắđdáắááầầdẳảăẳăẳăẳăẳảẮẮ #9
44 Andung R[rec vào thuật toán xây đựng lưới TIN x22 222055253 Ỉ1g5pee=ses2eseesezE M)
44.1 Cáu trúc dữ liệu đẻ thê hiện đổi tượng : dữ liệu 50
Trang 41 Giới thiệu
Mục đắch của phương pháp truy cập không gian là tỏ chức dữ liệu không gian trong
hưởng mà sẽ cho phép phục hỏi hiệu qủa những đối tượng liên quan theo những thuộc tắnh hình học tôpô của những thuộc tắnh không gian của chúng
Chỉ mục không gian là cấu trúc dữ liều được thiết kế đẻ lưu trữ tô chức dữ liệu hình
học thực tế, như định nghĩa bởi nhiều phương pháp truy cập khác nhau Được biẻt
hiện tại chỉ mục không gian được phân loại thành 2 loại: chỉ mục điểm kich thước nhiều chiều và chắ mục hình chữ nhật
Những điểm trong 1 không gian kắch thước nhiều chiều (hoặc điểm kắch thước nhiều chiều) nhìn chung được tô chức bởi những câu trúc mà phân chia không gian cơ bản thành những miền con rời nhau được gọi là những ô, Những điểm nam bén
trong 6 những 6 xa hơn được ảnh xạ vào trone những thing (bucket) ma co the truy
cập và tìm kiếm nhanh chóng Những cầu trúc chỉ mục quan trọng nhất loại này là
hệ thống các lưởi điện (grid Iile) [Niew84] và kd-tree với các biến thể của nó kdh-
tree {Robi8i | và Isd-tree [Henr89],
Trong trường hợp của những mỏ hình không gian phức tạp hơn, những cấu trúc chi mục phải được tê chức khỏng chỉ duy nhất những điểm, nhưng cũng có thẻ là vác hình nhiều đường vả các da giác Điều này có thể làm giảm bớt điều khiển những hình chữ nhật như việc xắp xi đối tượng không gian thực tế Trong trường hợp nảy không gian không thẻ được phân chia đơn giản thành những ô rời nhau vì có thể luôn luôn có những hình chữ nhật phủ lên vài ô Hiện tại những giải pháp tô chức hình chữ nhật gồm có biến đòi những hình chữ nhật thành những điểm trong khong gian 4 chiêu sử dụng miền chòng lấp như là thùng (bueket) để lưu trừ những hình chữ nhật, và cắt những hình: chữ nhật thành vài mành, mỗi mành này xác định duy nhất trong | õ
Phép biến đỏi tiếp cận sư dụng câu trúc chỉ mục cho những điểm kắch thước niệu
chiều Phần 2 và 4 tiếp can su dung cau tric chi muc cu thé dura trén R-tree va bien
Trang 5the cua nd: R*-tree Nhimg cấu trúc đừ liệu đang vậy nảy tô chức Ì khơng gian
nhiều chiều thành những hình chữ nhật chồng lắp hoảc rời nhau mà có thê tìm kiếm
nhanh chóng bởi những thuật toán cụ thẻ
IBM's Informix dang sir dung rong lon chỉ mục nhu vay bén trong Geodetic ESRI và ahing module MapInfo SpatialWare Da |InloDB InfoR], cing nhu Postgres | Postgres] xuyén sudt thực hiện GiST [GiST| Giỏng như, hệ thông thông tin địa lỉ được phát triên trong dự án Paradise [DeW¡94| sử dụng những R*-tree
Trang 62 Khái niệm chung của hệ thống cơ sở đữ liệu không gian
Hè thống thông tắn địa li (GIS) va su hé tro cơ bản cua chúng hệ thông cơ sở dữ
liêu không gian đẻ cập tới đữ liệu liên quan tới không gian địa lắ Không gian quan
tâm thật sự là sự trừu tượng kắch thước 2 chiều của bẻ mặt trải đất có nghĩa là hệ
thủng phải được cung cấp khả năng lưu trữ phục hỏi xư lý truy vấn và phân tắch
dử Hệu hình học
[heo [Guti94{, he thông đữ liệu không gian phải cung cap những kiểu dữ liệu không gian (SDTs) trong mô hình dữ liệu của chủng và ngôn ngừ truy vẫn vả phải
hò trợ những kiêu dữ liệu không gian trong việc thực thi cua chúng cung cấp tôi
thicu chỉ mục không gian vả hiệu qúa thuật toản trong việc phép không gian
Mục dịch chương này cung cấp lời giới thiệu chung những cách tiếp cận quan trọng nhất trong lình vực của những kiểu dừ liệu không gian vả sự xắp si-dựa trên sự xứ
lý truy vận không gian Mục 2.1 đề cập với những kiẻu mỏ hình dữ liệu khác nhau
mục 2.2 dành cho những mỗi quan hệ hình học tôpỏ trong khắ mục 2.3 giới thiệu vẻ
những hình chữ nhật dường biến nhỏ nhất (MBRs) và kẻ hoạch khai thác MBRs trong việc tắnh toán những mỗi quan hệ hình học tôno
2.! Những kiểu đữ liệu không gian
Trang 7Để cung cấp tới người đọc ý tưởng về những loại đối tượng R-tree thường là chi mục quan trọng nhát chương này sẽ giới thiệu tom tat 2 khái niệm quan trọng nhất đẻ cắp đến định nghĩa những kiều đữ liệu không gian: Realm Based STDs [Ciuti93a, Guti93b, Guti95] va Simlicial Complexes [Egen89] Tuy nhiên, những lời giới thiệu
về SIXTs sẽ không được giải thắch như bắt buộc hiểu về những R-tree Cau trúc chi
số không gian sẽ nhìn như I thực thể riêng biệt, độc lập với những lớp thì hành (implementation) cua đôi tượng không gian
Một trong những vận để quan trọng nhất liên quan đến thiết kế và sự thắ hành
(implementation) của những kiểu đữ liệu không gian là máy tắnh chỉ cung cấp có giới hạn số thực trong khi hình học phân tắch đựa trên không gian Euclidian liên
tục thừa nhản | su chắnh xúc võ hạn của những cặp tọa độ [Egen89 Guu94,
Guu93a] Sự khác nhau này đòi hỏi người lập trình phải giải quyết vải vẫn để có thẻ nảy sinh |Í:gen89|
Vị dụ thang tt lệ tọa độ có thẻ dẫn đến những lỗi hình học tôpõ (vi dụ | điểm có thể di cư từ ! cạnh cua Ì đường tới những cái khác) giao điểm cua 2 đường có thể
được tìm thảy không nắm trên cá 2 đường hoặc 2 thao tác hình học ngược nhau có
thế phát sinh | hình học khác với gốc ban dầu
Realm-based SITs [Guti93a, Guti93b]} dé nghi | giải pháp đây du và nhất quán cho
vấn đẻ ở trên bơi sự bao đám sau cho những tỉnh chất:
Tắnh nhất quán hình học (consistency): khung chung của 3 miền thì xác định
cho cá 2 min
Tinh chat dong kin của việc thực hiện số học không gian: giao hợp/khác
cua 2 Realm-hased SDTs la | Realm-based SDT
Sự tỉnh toán hình học trong việc xử lý truy vẫn lả tư do (Irec) của những vần
đẻ chắnh xác só học vả sức mạnh (robustness)
Sự thực hiện dựa vào nhóm bạ lớp (layer) chủng được xây dựng bén dưới Mục
Trang 8cắp tọa độ sẽ được gọi là diém lưới Điều nảy giải quyết vần đẻ tỉnh toán số học vi
mỗi điểm trong không gian được ảnh xạ tới điểm lưới đồng Ì đoạn thăng trên lưới này là được xác định như là l cặp điểm lưới Một realm R thì là l tập con cua
những điểm lưới và các đoạn thăng mà bắt kắ điểm kết thúc của L đoạn tháng là I
điêm của realm không có những diễm năm bên trong bất kì đoạn thăng vả không có những những đoạn thắng giao cũng không có bắt ki chong lap nào Những điểm xả
đoạn thăng của realm được gọi lần lượt là những điểm R và đoạn thăng R
lớn này cũng chứa I tập hợp dịnh nghĩa cơ bản nhị phân khắp những điểm và đoạn thăng R Những điều này gồm có thuộc tắnh đại số Boolean sự gặp giao, phụ
hoặc thuộc tắnh giao mả tỉnh toản điểm R là giao của 2 đoạn thăng R
Lớp thứ 2 định nghĩa vải cau trúc và thuộc tắnh mà xây dựng những khỏi của SIIs thật sự 1 R-cycle (chư kỉ) thỉnh |) la | tập các đoạn thẳng R mà bất ki doan thang si gap chi la doan thang s(i- Limod m với m là yêu tô của tập hợp,
| R-face (mặt) vẻ cơ bàn là Í RỀcvcle mà không chứa gì hoặc nhiều R-cycle nó sẽ được xem như ỳ miễn với lò thung bẻn trong nó: đầu tiên là chủ kỉ R có đường biẻn
bao quanh miễn, trong đó chứa nhiều lỗ thủng, 1 R-unit (đơn vị) la 1 R-face nho
nhất Có Ì sự chuyên dõi kắch thước 2 chiều từ tập các cạnh rời nhau R-facc thành tập các miền rời nhau R-unit Hệ quả là bất kì miễn nảo có thẻ có 2 sự trình bảy
tương tự: 1 tập của các R-Iace hoặc | tập của các R-unit Việc thảo luận chỉ tiết có
thể tìm trong [Guti93a|
Cấu trúc cuối củng trong lớp thứ 3, R-block (khối) là sự liên thông tập hợp cuu các
đoạn thăng R [Guti93al| nó sẽ được quan tâm như 1 hình nhiều nét (polyline) Những cơ ban quan trọng nhát được định nghĩa trong các R-Face R-unit, R-cvcle
và R-block bao vom việc Xúc định mién/eanhỔtoadé/dinh - bẻn trone và
miền/cạnh/dịnh - rời nhau Erong hình T vắ dụ c2 là vùng năm trong cÍ (trường hợp 1 2 3) cạnh bén trong cl (trương hợp 3 3) và định hẻn trong cÍ (trường hợp ì¡
Trang 9
Ca
C1
Hình 1: vùng/cạnh/đắnh quan hệ bên trong giữa 2 chu kì R
Lớp thử 3 và cuỗi cùng của realm dựa trên mô hình dữ liệu không gian là định nghĩa các kiểu đữ liệu không gian Đó là những điểm đường và miền và chúng đóng dưới các phép hình học hợp giao và khác
Vắ dụ cho 1 realm R ! giá trị của kiêu những điểm là 1 tập hợp những điểm R, I giả trị kiêu đường là 1 tập hợp của cặp (pairwise) các R-block rời nhau và giả trị
miền lả ¡ tập hợp của cặp các canh rời nhau của R-Fàcc
Thuộc tắnh không gian và thao tác định nghĩa ở lop nay, cing voi SDTs bién soan ROSE (Robust Spatial Extension) dai sỏ không gian {Gut93a] Với mỗi thuốc tắnh vả thực hiện đại số không gian có | sự tương ửng chức năng như ngữ nghĩa hoại
động bơi việc sử dụng thuộc tỉnh từ mức cơ ban cua thir bac realm
Thuộc tắnh không gian bieu thi moi quan he hinh hoc topo (xem muc 2.2) gitta 2 pia
tri khong gian Quan trong nhat la: : rời nhau bên trong, vùng rời nhau, vùng
bẻn trong, giao gấp gân kẻ dóng trên khung (on border of) khung chung
Trang 10Phần còn lại của các thao tác trả lại những giả trị nguyên tử SDT (giao đường nét,
cong, tit ) so (dist chiêu đài, miễn, chủ vị ) hoặc cúc tập giá trị SDT (phân tắch-
decompose chong lap hgp nhat )
Mỏ hình dừ liệu không gian thứ 2 [Egen89| được trình bảy trong đò án nảy đi theo
| cách tiếp cận khác Mục đắch của nó là ghi lại mỗi quan hệ hình học tôpô giữa những đỏi tượng hình học vả cho phép người sử dụng truy vần vẻ vùng lân cận và bao gom xử lắ không cần tỉnh toán số học (vì vậy tránh được vẫn đè liên quan tới vô
củng cua tọa độ không gian)
lan thản mỏ hình cũng bị chắa thành các lớp Đầu tiên là lớp hình học cung cấp
khung lắm việc cho các thao tác hình học Tắt cả đối tượng được gọi là celi (ô) và
chỉ sư dụng như việc xây dựng những khỏi cho các đói tượng của lớp thứ 2 Lớp thứ 3 định nghĩa những đối tượng không gian đủ nghĩa bơi việc két hợp những bộ phận hinh học của lớp đầu tiên cùng với những thuộc tắnh phì không gian Phản trung tâm của mô hình nảy là l khái niệm don hinh (simplex) va 1 khai niệm simphicial complex [Egen89|
| simplex lá Ẩ đôi tượng nhỏ nhất cho 1 kắch thước không gian nảo đó, 1 0-simplex
là Í nut/điểm., | I-simplex là 1 canh, | 2-simplex 1a 1 tam giac, | 3-simplex 1a |
Khoi 4 mat Bat ki d-simplex duge bao g6m (d+! )-simplice eta kich thuée d-1
Vi du, | tam giac | 2-simplex thi g6m 3 simplice (cae doan thang)
Những thành phần sử dụng cho việc xây dựng L simplex được gọi là các face (mặt) cua nỏ Vị dụ Ì tam giác, các mặt của nó là các dịnh và cạnh Một sưnplex kắch thước n có:
mat co kich p (vi du, n+] mat của kắch thước ()}
| simplicial comlex (hình 2) la tap hop vo tan cua cae simplice va các face cua
chung No có the xae dinh mien phic tap vai lo thung tuomg ty 1a | realm dura yao
Trang 11simplex ma la | mat ct ca 2 simplice [Egen89] Kich thuce ca | simplex ằ 1a kich thược lớn nhat cua bat ki simples trong c
Hinh 2: 2 simplical complexes
Những thuốc tình chắnh được định nghĩa trên các cầu trúc simplice là đường biển và
co-houndarx Dương biến cua một n-simplex s, xác dịnh tắt ca cúc mặt của kắch
thước n-Ì cuu s, co-boundary cua một n-simplex sẤ là tập tắt cá các simplice của
kắch thước n- | giới hạn bơi s, co-boundary cua | comples cụ là hop cua các có-
boundary cua n-simplice cua cy
Không gian ximplice thoa mãn những nguyên lý bộ sung sau |Ì-penR9|:
[Linh chất bỏ sung của sự tác động: giao của 2 n-simplice hoặc lá ròng hoặc là
1 mat cua ca 2 simplice Với kết qua nguyễn lý nảy không có 2 đôi tượng hình
hye ton tai trong cling | vi tri
Linh chát hỏ sung gôm có: mỗi n-simplex 1a | mat cua | (n+ 1 )-simplen
Cae thao tac cua không gian simplice bảo đảm tắnh nhất quản mer thao tác sẻ duy trì | cảu trúc xinplice hợp lẻ mà thỏa mãn nguyễn ly bd sung [hae tie cor ban cua | dai so simplice ka chén mới -, l-, (n-ỳ) và nềcell trong Ì khơng gian kắch thước n Những xiéc chén này là dòng duới cầu trúc simplice Mói quan hé hình học tôpô giữa các đúi tương hình học như là sự liên kẻ dược xuất phát tự các thao tác đường
Trang 12cho một vai thao tac hinh hoc topo của đại so simplice (nút-node trên cạnh nút-trẻn
đa giác ) có thẻ được tìm thảy trong [Egen89]
2.2 Mối quan hệ hình học tôpô
Bây giờ giới thiệu vẻ khái niệm cơ bán đăng sau những kiểu dữ liệu không gian mục nảy sẽ tiếp tục tóm tất trình bảy 1 hình thức hóa của những mỗi quan hẻ hình
học topỏ Mặc dù những tấp con của những kiểu quan hệ này được giới thiệu bơi
mỗi mô hình đữ liệu sử dụng thuộc tắnh của đại số không gian tương ửng của nó,
ching ta sé thay | cach tiếp cản mà tập trung vào cung cap } pham vi day du cho tập hợp những quan hẻ hình học tỏpo
Quan hệ hình học tỏnỏ mỏ ta những thuộc tỉnh định lượng thuận tuý má mô ta vị trắ
liên quan của các đổi tượng khỏng gian và được duy trì đưởi sự bién dang liên tục
như lả tịnh tiên quay t lệ [Behr], Vắ dụ vẻ môi quan hệ hình học tôpỏ là gap
(meet) rời nhau, chòng lắp bẻn trong Một trong những mô hình quan trong nhất
cho quan hệ như vậy là dựa trên điểm-tập hợp hình học topo [Egen9 1 }
Mỏ hình dịnh nghĩa một cách tiếp cận rất chung bắt đầu từ những tập hợp l topology trén tập X là 1 tận hợp A của những tập con của X mà thỏa mãn 3 điều kiện:
Tập hợp rồng và X thuộc A
A là dóng dưới nhitng hop (union) tập hợp bắt kì
Á là dóng dưới những sự giao nhau hữu hạn
Mot khong gtan hinh hoe topo (topological space) la | tap hyp X với | topoloex A trên X Khái niệm này căn thiết dé định nghĩa quan hệ hình hoe t6pé o bén trong, đường biến và bén ngoài của T tập
Trang 13kim nhat chita trong Y, Bén trong X la chinh no X rd rang, néu | tap LÍ là mở thi
=U) [Egen9 1]
Đóng kin (closure) cua Y, ki higu ầ [a giao cua tit ca tập đóng mà chứa Y tức là
dong kin của Y là tập đóng nhỏ nhất chứa Y
Lường biên của Y, kỉ hiệu ÊY là giao cua đóng kắn của Y vả đóng kắn của phản bù của Y tức là: âY =Ýể.V - Ý Đường biên lâ ! tập dóng [Egen 91]
Bén ngoai cua Y ki higu } lả phản bù cua đóng kắn của Y, tức là Ƒ =.YỞƑ, bên
ngoài là | tap mo
{linh thức, cho l cặp tập hợp con A B của khong gian hình học tôpô X một quan
hẻ không gian hình học tôn giữa Á và B được mô tả bởi chắn bộ dữ liệu giả trị của tắnh bat hiến hình học tôpỏ (vắ dụ rằng hoặc không rồng) được két hợp lân lượt tới
môi trong 9 phản tử của mũ trận giao sau:
sp 4dồ.ằB AB |
(4B) =|lf4 0B 4ồ 6B AB 4B ềeB A OB |
Cho | tap ầc NV 1 separation cua Y la | cap A B của các tập con cua X thoa 3
dicu kién sau:
A #lB và B ặ ử AUB Y,va
AMB=OandAN s&s Ể
Nẻu có sự tốn tai | separation cua Y thi Y duge noi la disconnected (khong lien thong) Ngược lại Y được nói là liên thong
Trang 14miền không gian trong X là không rỗng đắch thực là tập con A của X mà 4ồ được liẻn thong va 4Ở 4" [Egen91] Nó rõ rằng rằng 1 tập hợp của những miễn không
gian như vậy hình thành 1 vùng phức hợp, cũng như những thứ được định nghĩa bởi
mỏ hình dữ hiệu được trình bảy trong mục 2.1 [Behar0Ẩ |
Kết qua mỗi giao nhau trong ma trận giao 9 hoặc lả rồng hoặc là không rỗng Do đó có 3ồ =ỌI2 ma trận có thẻ có mỗi trong chúng xác định 1 môi quan hệ có thẻ có
Iuy nhiên chi | vai trong chúng là môi quan hệ không gian hình học tôpõ hợp lệ
[xẻ xác định tập hợp đầy đủ của mỗi quan hệ hình học tôpỏ loại trừ lẫn nhau giữa 2
mièn phức tạp [Berh01| xác định 1 tập hợp của 8 rảng buộc mà thỏa tiêu chuẩn loại trừ cho tất ca cầu hình không thể được
Két qua chỉ có 33 cầu hình được tìm thấy có môi quan hệ hình học tôpô hợp lẽ
Chiến lược lọc truy vấn được bản luận tiếp theo chương nảy sẽ chỉ dé cập đến 8 mỗi
quan hệ má áp dụng tới những miễn không co 16 thung: disjoint, meet overlap,
cqual contains, inside, covers va coveredBy (xem bang 1) Tuy nhién ching c6 thé
Trang 15Z mR i fy | e 6 XS - | | ow ty ¡1 1 1: i] 0 0 Ấ1 U 0y 9 01 100 ot 0| (0 0 1! Ổhao tọ @ 1Ì | contains inside equal j vo 1, (1 11) ¡1 0 0 D11; | ụ |1 { 0 1 1 U19 es, | Lor ou 10 0 1 T1 1 I1 1!
nee! covers | coveredBy overlap
Bang 1: 8 trong số 33 quan hệ hình học tôpô giữa 2 miền [Clem94, Behr01|
Phản còn lại của những mới quan hệ là có thẻ chi trong trong hep mien phic tạp
Trang 16Để mình họa cho việc sử dụng dừ liệu không gian và mỏi quan hệ hình học tòpô trong L hệ thông cơ sở dữ liệu không gian thực tẻ Việc này là sự xét đoạn dẻ tiến
hành làm thể nào chúng có thẻ được định nghĩa vả áp dụng trong Í ngơn ngữ truy van
Những vi du tiép theo tin dung SQL khong gian [Egen94| ma được thiết kẻ cho những cơ sở dữ liệu quan hẻ vả được dựa trên SỌI Tắnh năng quan trọng nhảt của
nó là nó hoàn toàn tách rời phục hỏi vả hiển thị những chỉ thị lệnh Phan phuc hoi
thỉ tương tự như SỌQI trong khi việc hiển thị dược điều khiến bởi ngôn ngữ biểu dién do hoa (GPL) Một giản dò cơ sở dữ liệu đơn giản có thể được định nghia trong SQL khong gian giỏng như: create table City ( name char{ 20) zipcode integer, population IILCĐCT area spatial 2), create table River ( name char( 20) route spatial 1);
SOL khong gian dịnh nghĩa 4 miền cho kiểu dữ liệu không gian: khong gian 0 (tương ứng dỏi tượng kắch thước Ú chiều giỏng như là điểm) khỏng gian 1 (kich
thước Ì chiều, tức là đường) không gian 2 (kắch thước 2 chiều tức là miễn) và
không giản 3 (kịch thước 3 chiều tức là các đối tượng có thẻ tắch)
Một vỉ dụ den gu của một truy vấn chọn không gián là cô găng phục hỏi đôi
tương ở trong quan hé hình học tôpõ nảo đó (vị dụ giao) với Í đổi tương tham chiều
có thẻ dược phái biểu như là
Trang 17-H-Ộlim tất cả con sông giao với đổi tượng truy vấnỢ Kicu SOL khong gian sau đó sẽ la:
select name from River where route intersects pick;
Thude tinh giao khong gian trong tmz quan hé hinh hoc topo giao Như vậy những thuộc tỉnh không gian có thê tắch hợp với | hé thỏng cơ sử dữ liệu như những thao tác người dùng định nghĩa (trường hợp của SQL không gian) Mặt khác chúng có
thẻ tắch hợp chức năng người dùng định nghĩa và cú pháp thay đổi nhỏ trong chức năng gọi:
select name from River where intersects(route, pick);
Pick ur hạn định (qualifier) cho phép người dùng chọn các đối tượng không gian
hoặc miền nao dé ma nhin thay được trên màn hình Thú tục chọn yêu cầu co mat
cua) GUI
Nhicu truy van phite tap sé noi 2 quan hé trên các thuộc tắnh không gian của chúng
su dung | diéu kiện hình học tôpỏ:
"Xúc dịnh những con sông nào tạo thành đường biển không gian của thanh pho va liệt kẻ tên của chúng vả dường khung chung của chúngỢ
[Điêu này chuyên qua SỌI không gian lả:
select r.namec c.naimc intersection( boundary(r.routc), boundary(c.area)) as
common boundary from River r Cities ằ where C.area meet r.route
Trang 182.3 Lọc truy vẫn bằng giới hạn hình chữ nhật nhỏ nhất
Lữ liệu không gian có thẻ là đôi tượng cua ký thuật chỉ mục Truy vấn không gian
và nói không gian dưa trên chỉ mục R-tree sử dụng:
Sự xắp xắ cho việc trình bảy của giá trị SUE vả Chiến lược lọc và tỉnh lọc
Một sự xấp xỉ là một ước lượng của hình học thực tế của | gia tri SDT Thông thường đây lả giới hạn hình chữ nhật nhỏ nhất (khung bao nhỏ nhất-MBR): những
trục song song hình chữ nhật nhỏ nhát mà báo toàn bộ hình học của đối tượng
khong gian [Clem94] Cau trúc chắ mục không gian nắm giữ bên trong các khung bao nhỏ nhất (MBR) các nút lá của chúng vả các con trỏ tới giả trị SDT mà chúng
xắp xi Điêu này hữu ắch cho chiến lược lọc vả tỉnh lọc [Guti94]:
Bước lọc trước hết trả về danh sách các yeu tỏ là Ì tap (superset) cua các doi tượng
đáp ửng các thuộc tắnh không gian Điều này dược thực hiện hởi việc gứi xấp xỉ
(MBRs) như là các tham số cho các thuộc tắnh Bước tắnh lọc kiểm tra chắnh xác
hình học của mỗi yếu tổ được trá vẻ bơi bước lọc như vậy một chiến luợc lớn cải
thiện tốc độ xử lý truy vấn bởi giới hạn, trong bước lọc, số lượng các yếu tô mà
được sử dụng cho việc tắnh toán hình học xa hoa (expensive) ya phức tạp (complex)
Một loại quan trọng của các truy vấn không gian là sự cân thiết xác định các mỗi quan hệ hình học tỏpô giữa 2 đỗi tượng Buớc lọc của việc xử lý truy van dau tién
sẽ xác định mỗi quan hệ giữa các MI3R cua 2 đỏi tượng Sau đó nó sẽ sử dụng ánh
xa trong bang 2 va sé tiét kiệm thời gian bơi không phải kiếm tra sự chắnh xác của
các quan hệ hình học đó mà chắc chắn là sui, Vắ dụ nêu 2 MBRs meet có nghĩa 1a
giá trị thực tẻ hoặc là rời nhau hoặc chủng meet,
Trang 19MHR Relation l xvac( Geometry Kelation dispount disjoint =
meet disjomt v meet
overlap disjoint v meet v overlap
inside disyount v meet v overlap v inside v coveredBy coveredBy disjount v meer v overlap Ừ coveredBy
contains disjoint v mee! v overlap v contams v covers
covers dissount v meer v overlap v contains v covers equal | _equal v overlap v coveredBy Ề covers v meet
Bang 2: MBR- anh xa hinh hoc chinh xac
Với việc để ý tới ánh xạ trong bang 2, Clementini et all [|Clem94] khang dinh điều
là | quan hé MBR ỘcoveredByỢ cé thé anh xa téi | quan hé hinh hoc chinh xac
ỘinsideỢ, Tuy nhién, ching ta tìm thấy điều mả ảnh xạ đó không thẻ năm giữ
Thật vậy Nếu ! MBR A là covered bởi ! MBR B (tức a | coverdBy B), thi tir bang
| sẽ có: 24⁄ểđ8 =1 Diều này có nghĩa là có sự tòn tai | canh | cua A ma hoàn toàn trong | ! cạnh của B (từ định nghĩa tất cả MBR có cúc cạnh của chúng song song
với các trục) Nếu Ủ là đối tượng được giới hạn bởi A # là dối tượng được giới
han boi B va @ trong # thi tir bang | có: â1ểsđử <0 Trong khi các MBR là kắn, có nghĩa là 45 =1 Cho p là | điểm thỏa: péÊ2 và e2 Vị Lử ưong L, sẽ có
pel Cong co pea va a Gtrong /ử vivậy pne /
Néu peep thi pe A" Nhung pel, cho nén BOB =} thi mau thuan véi việc B la MBR cua ặ Do do pees Nhung peda cho nén A408 =}, thi mau thuan
với gia thiết a@ atrong ử
Trang 20Hinh 4: cac MBR bang nhau và các đối tượng không gian meet
Mội kiêu khác cúu truy vấn yeu cầu đối tượng thỏa 1 quan hệ hình học topo nao đó
đổi với | đói tượng tham chiều cho trước Bước lọc bảy giờ sẽ sư dụng đảo ngược
ảnh xạ ở trên (bảng 3) như là 1 cách lọc, để xác định | tap hep yêu tỏ cua các đối
tương mà thoa các ràng buộc
Vi du | truy vẫn có thẻ yêu cầu các đôi tượng đó chứa đựng miện người dùng định nghĩa Cho I chỉ mục không gian như R-tree, các MBR của các dỏi tượng được lưu
trữ tronw cúc entry ở trong các nút lá của cây Những cntry ơ trong núi không là lá lưu trừ các MHR mà bao trùm vừa sit cac entry trong các con cua chúng (Xem
chương 4 moe ta chi tiết) Với cầu trúc chỉ số như vay vice xu ly cua cúc truy van
được cho có thẻ gòm 4 bước xử lý sau [Pape9S]:
Linh toán MR của dỏi tượng tham chiều
Tim các quan hè hình học tôpô ma các MBR của các đối tượng điều kiện có
the thoa man đôi với MBR được tắnh toán trong bước Ì Vị dụ: nẻu thuộc tỉnh
chon Li covers thắ các điều kiện MBR sẽ hoặc lả contain cover hoặc 14 equal
von MBR cua buae | (xem bang 3)
l3ắt đâu từ nút trên cùng của cấu trúc chỉ số Loại ra các nút trung gian mà khòng lưu trừ các cntry với các MBR má thoa mãn quan hé hinh hoe topo được xúc định trong bước 2 Đề quy tìm kiêm những nút còn lại,
Sau cùng là bước tắnh lọc cho việc phục hỏi các MIR
Trang 21Exact XMIRR Relation (?eometr*x Relation clisjount disjoint Ừ meet y overlap v inside v coveredBy v contains v covers _ ineet meet overlap v equal v inside v coveredBy contains v covers overlap overlap v equal v inside v coveredBy -: contains v covers inside mside
coveredBy side v coveredBy v equal _
contains | contains v covers covers "ể contains v covers v equal
equal equal
Bang 3: chinh xac hinh hoc Ở cac anh xa MBR
Trang 223 KD-TREE 3.1 Giới thiệu
Đàu tiên chúng ta xem cơ sở đữ liệu lắm việc cùng với hình học Tuy nhiên, nhiều
loại câu hỏi từ bảy giờ chúng ta gọi là truy vắn vẻ dữ liệu trong L cơ sở đữ liệu cỏ
thẻ được thông dịch vẻ phương điện hình học Đề lảm điều này chúng ta ảnh xạ các mau tin trong 1 cơ sở dữ liệu thành những điểm trong | không gian nhiều chiều vả chúng ta ánh xạ các truy vẫn vẻ các mẫu tin thảnh các truy vấn trên tập hợp những
điểm, Dẻ mình hoạ cho điều nảy chúng ta đến với vắ dụ sau
Xem ! cơ sở đữ liệu quản lý con người [rong | co sở dữ liệu như vậy gom: tên, địa chắ ngày sinh, tiên lương vả vân vân là thông tin của mỗi nhân viên được lưu trữ
Một truy vẫn tiêu biểu có thẻ muốn thực hiện đề bảo cáo tất cả các nhân viên được
sinh ra từ năm 1950 đến năm 1955 ma co thu nhập từ $3,000 dén $4,000 trong !
tháng Đẻ lảm thành công thức day 1a | van để hình học chúng ta hình dung môi
nhân viên là l điểm trong mat phang [va độ đầu tiên của điểm là ngày sinh được
cho hơi số nguyên như sau:
10,000 ề pear + 100% month + day
và tọa độ thứ 2 là tiên lương hàng thủng, Với điểm này chúng ta cũng có thẻ lưu trữ
thông tin khác mả chúng ta có vẻ nhân viên như là tên và địa chắ Mội truy van cơ
sở dữ liệu yêu câu thông tin của tất củ nhân viên sinh từ năm 1950 dến 1955 và có
thu nhap tir $3,000 dén $4,000 anh xa thanh truy vẫn hình học như sau: báo cáo tat cả các điểm mà có toa do dau tiện năm trong doan tir 19,500,000 dén 19,559,999 va
cé toa dé thir 2 nam trong doan tu 3.000) đến 4.000, Nói cách khác, chúng ta muon
bảo cáo tất cả những dicm o hẻn trong | hinh chữ nhật truy vấn song song với trục
xem hình Ã
Trang 23Tiên lrơng ẹ G Ometer ồ * 19/08/1954 $3,500 xi L ệ _ i ệ e 1s ⁄ a = ồ 3000 | Ợ -'+ e |} Ộ ' ' Ừệ ệ ee ' @ '! : ẹ a = he ; \ ; Ngày sinh 19,500,000 19,559,999
Hình 5: phiên dịch 1 truy vấn cơ sở đữ liệu về phương diện hình học
Nếu chủng ta cũng muốn có thông tin vẻ xó lượng con cái của mỗi nhân viên, và
chủng ta muốn yêu cầu truy văn tương tự như: Ộbáo cáo tất cả nhân viên được sinh
tir nam 1950 đến năm 1955 có thu nhap tir $3,000 dén $4,000 trong 1 thắng và cỏ từ 2 đến 4 conỢ? [rong trường hợp nảy chúng ta hình dung môi nhãn viên là l điểm
trong không gian 3 chiều: tọa độ đâu tiên tương trưng cho ngảy sinh tọa độ thứ 2 là
Trang 24Nhin chung néu chúng ta quan tâm trả lời truy vấn trên d trường của các mau tin
trong cơ xơ đữ liệu, chúng ta ánh xạ các mẫu tin thành những diễm trong không gian d chiều Một truy vẫn yêu câu báo cáo tất ca các mẫu tin ma các trường của nỏ
nam trong khoang các giá trị cụ thẻ thì sau đỏ ảnh xạ thánh truy vấn yêu cầu báo
cáo tắt ca những điểm bền trong 1 hộp song song trục cỏ kắch thước d chiều Như
vay | truy san được gọi là | truy vẫn phạm vi hình chữ nhật hoặc l truy van nhạm vỉ trực giao trong hình học tỉnh toản Trong phản này chúng ta sẻ nghiên cứu vẻ cầu
trúc dữ liệu cho việc truy vẫn nay, 3.2 KD-Tree
Bây giờ chúng ta xem xét bài toán tìm kiểm phạm vì hình chữ nhật 2 chiều Cho P
là L tập hợp n điểm trong mặt phăng Trong phần còn lại của mục nảy chúng ta gia
thiết rằng: không có 2 điểm ở trong P mà có cùng hoành đỏ-x và không có 2 điểm
có củng tung độ-y, Giới hạn này thì rất không thực tẻ đặc biệt không thực te neu những diễm này đại diện cho các nhân viên vả các tọa độ lũ những thi giỏng như
tiền lương hoặc số lượng con cái Tuy nhiên giới hạn này có thẻ được khắc phục với | thụ thuật dễ chịu mả chúng tà sẽ mô tả trong mục sau
Mỗi truy vàn phạm vắ hình chữ nhật kắch thước 2 chiều trên P yẻu cầu những điểm
từ Í" năm bẻn trong hình chữ nhật truy vẫn: [x:x']x[x- x'} Một điểm p-=(p,.p,
năm bên trong hình chữ nhật nảy nếu và chỉ nều:
p,e[x:x'] và p, e[r:ry]
Chúng ta có thẻ nói: một truy vấn phạm vì hình chữ nhật 2 chiều thì gêm có 2 truy
Trang 25fỞ Py ._ _ỞỞ P y i * * x p X Hình 7:
Trong trường hợp cảu trúc dữ liệu cho truy vẫn phạm vi kắch thước Ì chiều Để xây dựng cây tìm kiểm nhị phản, chúng ta xem xét định nghĩa đệ quy cho cây tim kiếm nhị phân sau: tập hợp (kắch thước 1 chiều) của các điểm được chia thành 2 tập con
dai thé bang nhau: | tập chứa những điểm nhỏ hơn hoặc bằng gia tri chia, tap kia
chứa những điêm lớn hơn giá trị chia Giá trị chia được lưu trữ ơ nút góc vả 2 tập con được lưu trữ đẻ qux trong 2 cảy con
Trong trường hợp 3 chiêu mỗi điểm có 2 giá trị quan trọng: toạ độ x vả 9 của nó
Do đó đầu tién ching ta chia trên tọa độ x, tiếp theo trên tọa độ y sau do thi lp lai trên tọa độ x và vân ván Chắnh xác hơn, qúa trình xử lý như sau: ơ nút góc chúng ta chia tap P bảng dường tháng đứng Ì thành 2 tập con đại thẻ kắch thước bảng nhau Đường chia được lưu trữ ở nút gốc Pa là tập con chứa những điểm ề bén trải hoặc
ở trên dường chia, dược lưu trữ trong cây con bẻn trái và PẤ;ẤẤ là tập con ở bèn phải
của nó, dược lưu trữ trong cây con bên phải Ở nút con bên trải của góc chúng ta chia PạẤ thành 2 tập con với đường năm ngang: những điểm ở phắa dưới hoặc trên đường chia được lưu trữ trong cây con bên trái của con hên trái cua óc và những điểm ứ trên nó được lưu trữ trong cây con bên phải, Con bén trái của nó lưu trừ đường chia lương tự, tập PẤẤẤ được chia băng đường nắm ngang thánh 2 tập con được lưu trừ trong cảy con bên trải vả bên phải của con bên phái O nut chau cua góc chủng ta chia lắp lai với đường thăng đứng Nhìn chung chúng ta chịa bằng đường thăng dựng o nat có chiếu sâu là chan va ching ta chia báng đường nam
Trang 26ngang ở nủt co chiều sảu lá le Hinh & hình 9, mình họa việc chia được thực hiện
như thẻ nảo và cây nhị phản tương ứng nởi nó Một cây giống như vậy thì được gọi la kd-tree ệ a e ệ e ệ ệ Pụn Re ệ Ấ # mw IỢ ề 2 | Hinh 9:
Khoi dau, tén viet uit cua cay kắch thước k chiều: cây chúng ta mò tạ ơ trên là 2d- trec Ngày nay, nghĩa góc khong còn nữa và những gì sử dụng được gọi là 2d-tree
thì bảy giờ được gọi là kd-tree kắch thước 2 chiều
Trang 27để quy gọi để xây dung Tham sé chiéu sau [a sero (0) & lan gọi đầu tiên Chiều sâu
thi quan trọng bởi vì như giải thắch ở trên nó xác dịnh điều chúng ta phải chia bằng
dường thăng đứng hay năm ngang Thủ tục trả vẻ gốc của kd-tree Thuật toán: BUILDKBTREE(P, depth)
Nhập: 1 tập P các điểm và chiều sâu hiện tai depth Xuất: gốc của kd-tree lưu trữ P
if P chỉ chứa l điểm then
else
return nit lá lưu trữ điểm này
if nêu depth la chin then
Chia P thanh 2 tap con bang | đường thắng đứng | xuyên qua tọa độ
x trung tâm của các điệm trong P P, là tập hợp các điểm bên trải
hoặc ở trên Ì và PỈ là tập hợp các điểm bên phải của |
else
Chia P thanh 2 tap con bing 1 dudmg nam ngang | xuyén qua toa do y trung tâm cua cae diém trong P P; la tập hợp các điểm bên dưới
hoặc ở trên l và PỈ là tập hợp các diễm ở phắa trên |
Vựa = BUÍLDKDTREE(P, depth* 1) VagẤ BUILDKDTREI(PỌ depth: 1)
Tạo l nút v lưu trữ l lắm cho Vụ là con bên trái của v và làm cho Vụ,
la con bén phải của v
return v
Thuật toán sử dụng quy ước: diém nam trên đường chiaỞỞlà điểm xác định tọa dé x
hoặc v trung tâm thuộc vẻ tập con hẻn trai hoặc ben dưới dường chìa Điều nảy làm
Trang 28thir | 2} Picu nay co nghia la trung tâm của 2 giá trị là | giá trị nhỏ hơn ma bao dam răng thuật toán két thúc
[rước khi chúng ta dẻn với thuật toán truy ván hãy phản tắch thời gian xây dựng
một kd-tree kắch thước 2 chiều Bước đất nhất là bước thực hiện ở mỗi làn đệ quy
gọi đẻ tìm dường chắa Đây là yêu cầu xác định trung bình tọa độ x hoặc y phụ
thuộc váo chiều sâu hoặc là chăn hoặc là lẻ Việc tim giá trị trung bình có thể được
thực hiện trong thời gian tuyến tắnh, Thuật toán tìm trung bình trong thời gian tuyên
tỉnh tuy nhiên nó thì khá phức tạp Một cách tiếp cân tốt hơn là sắp xếp trước tập
hợp cúc điểm cả trên tọa độ x và v lây giờ tham SỐ tap hựp P được truyền cho thu
tue o dang 2 danh sach da sap xép, | dang sắp xép trên tọa dộ x và 1 trên y 2 danh
sách sắp xép đã cho, nó thi dé dé tìm trung bình tọa độ x (khi chiều sâu là chẵn)
hoặc trung bình tọa độ y (khi chiều sảu là lẻ) trong thời gian tuy ến tắnh Nó thì cũng để đề xảy dựng đẻ lưu trữ các danh sách cho 2 lần gọi dẻ quy trong thời gian tuyến tình từ các danh sách đã cho, Đo đó, thời gian xây dựng 1(n) thỏa mãn truy hỏi:
tần (1) final
me On+37([n/3 || n>I
ma giai ra duge O(nlogn) Gidi han này da gop thoi gian ma chung ta tieu phắ cho việc sắp xép trước những điểm theo tọa độ x vả y
Đẻ giới hạn lượng lưu trữ chúng ta chủ ý điều môi nút lá trong kd-tree lưu trữ |
điểm riêng biệt của P Do đỏ có n nút lá Bởi vi | kd-tree là 1 cây nhị phân vả mỗi
nut li va nat bên trong sử đụng O(1) lưu trừ, điều nàv ám chỉ tông lượng lưu trữ là (Cn) Dicu nay dan dén bé dé sau
Ba de 1:
Trang 29Bay giờ chúng ta quay trở lại thuật toán truy vẫn Đường chia được lưu trio nit
gốc chia mặt phẳng thành 2 nưa mặt phẩng, Những điểm ơ trong nưa mặt pháng bền
trải được lưu trữ trong cây con bẻn trái và những điểm trong nửa mặt pháng bên phai dược lưu trong cáy con bén phải Trong cảm giác con bên trải của pốc tương ứng với nưa mặt phang bén trai va con bén phải tương ứng với nữa mắt phang ben
phai (quy ước được sư dụng trong BUILDKDTREE là điểm ở trên dường chia
thuộc vẻ cảy con bẻn trải điều nảy ngụ ý nửa mặt phăng trai la dong ứ bén phải và nứa mat phang phai là mơ ở bên trải) Những nút khác trong một kd-tree tương ứng với Í miền cua mặt phàng cũng giống như vậy Con bên trái của con bền trái cua gốc vắ dụ vẻ sự tương ứng miền được giới hạn bên phải bởi đường chỉa được lưu trữ ở nút góc và bị giới hạn ở phắa trên bởi đường chia được lưu trừ ứ nút con bền trái của góc Nhắn chung miền tương ứng 1 nút v là ! hình chữ nhật mà có thẻ
không hị giới hạn trên Ì hoặc nhiều cạnh Miễn bị gigi han boi các dường chia được
luutrirato tien cuas sem hinh sau Ừ i @ = m h - ` ểỞ ẹ da e J * 3 a 6 ` Lá - + + * Ấ+ -Ã -
Hình HH: tương ứng giữa các nut trong kd-tree va cac mien trong mat phang Chúng ta kắ hiệu miền tương tng voi | nút v là region(y) Mien cua nut oe cua |
kd-tree thi dom gián là toàn bộ mặt phẳng Quan sát | điểm dược lưu trừ trong góc cud cay cone nuts neu va chi acu ne nam trong region(s) Vi due cay con cua nut trong hình T0 lưu trứ những diểm là các chăm đen [3o đó chúng Ge phat tim go cua
Trang 30cay con o nut v với điều kiện là hình chữ nhật truy vấn giao voi region(v) Quan sat
nảy dẫn đến thuật toán đệ quy sau: chúng ta dì ngang qua kd-tree nhưng chị việng thăm những nút mã cỏ miễn giao với hình chữ nhật truy vẫn Khi Ì miền được chứa
hoàn toàn trong hình chữ nhật truy ván chúng ta có thể báo cáo tất cả những diễm
được lưu trữ trong cây con cua nó Khi chúng ta chạm đến L nút lá, chúng ta phái
kiêm tra xem diém được lưu trừ ơ nút lá có được chứa trong miễn truy vấn hay
khong? Nếu cỏ thì báo cáo nó Hình II mình họa thuật toán truy vấn (chú ý rằng
kd-tree trong hình I1 không thẻ dược xây dựng từ thuật toán BUI.DKDTREI:: giá trị trung bình không luôn luôn được chọn là giá trị chia) Các nút màu xám được việng thăm khi chúng ta truy văn hẳng hình chữ nhật xám Nút được đánh dâu bằng
đầu sao (*) tương ứng với | miền má hoàn toàn được chứa trong hình chữ nhật truy vấn: thê hiện trong hình, miền hình chữ nhật này được tô đen l2o đó góc của cấy con mảu đen ở nút nảy được đi ngang qua vả tắt cả những diém được lưu trữ trong nó được báo cáo, Những nút lá khác được việng thăm tương ứng với các miện má chỉ có l phản bên trong hình chừ nhật truy vấn, Do đó những diém được lưu trữ
trong chúng phải được kiểm tra có chứa trong phạm vắ truy vẫn hay không: Két qua
Trang 31Hình 11: mét truy van trén | kd-tree
(huật toán truy vẫn được mô tả ở trên hởi thu tục đẻ quy sau thủ tục nảy có 2 đối sở là: pốc của l kd-tree vả phạm vì truy vấn R No str dụng thủ tục con
RI:I*RTSUBTREI(v) khi đi ngang gốc của qua cây con ở nút v và báo cáo tất cả nhừng điểm được lưu trữ torng nút lá của nó Lời gọi le(v) và rc(v) lần lượt kắ hiệu
cho nút con bên trái và bên phải của | núi v Thuật toán: SEARCHKDTREE(v, R)
Nhập: góc của l kd-tree (hoặc góc của 1 cay con) va 1 pham vi R
Xuất: Tát cả những điểm ở nút lá phắa dưới v mà năm trong phạm vì R if v la nut la then Báo cáo điểm được lưu trữ ở v nêu nó năm trong R else if region(Ic(v)) hoàn toàn được chứa trong R then REPORTSUBTREE(Ie(v)) else if region(Ic(v)) giao voi R then SEARCHKDTREE(le(v) R) if region(re(v)) hoàn toàn dược chứa trong R then REPORTSUBRTREE(rc(v)) else if region(Ic(v)) giao voi R then SEARCHKDTRI:E(lc(Ề ) R)
Phan chinh kiém tra thực hiện của thuật toán truv vẫn là phạm vắ truy vẫn R giao
Trang 32tương ứng nút con bên trái của nút v ở chiêu sâu chăn có thẻ được tỉnh toán từ
rc#ion(x } như sau: region(Ic(v)) = region(v)al{y er Trong đó l(v) lá đường chia được lưu trữ ở nút v và l(v)Ỳ" là nưa mặt phãng bên trái vả bao gôm va l(v) lé) lv) region(v) Hình 12:
Quan sát thuật toán truy vẫn ở trên, chúng ta không giá thiết phạm vắ truy vẫn R là
hình chữ nhật Thật sự, nó làm việc với bất kì phạm vị truy van nảo khác cũng
được
Bảy giờ chúng ta phân tắch thời gian l truy vấn với phạm vi hình chữ nhật
Bồ đẻ 2:
Mot truy van với 1 hình chữ nhật song song trục trong 1 kđd-tree lưu trữ n điểm có thẻ dược thực hiện trong thời gian O|Ýn +k với k là só điểm dược bảo cáo
Chưng mình:
| rước tien chung ta chú ý thời gian đề di ngang qua | cây con và báo cáo những điểm được lưu trữ trong nút lá của nó là tuyến tỉnh với số lượng điểm được bảo cáo
lo đó tổng thời gian yêu câu để đdắ ngang qua các cay con trong bước
Trang 33-REPORTSUBTREE la (4), vei k la tong sé diém duge bao cdo, No con gidi han
so emg nut bi vieng tham bai thudt toan truy van không là các cảy con được di ngang qua (Đây hi cae nut mau xam trong hinh 7) Vor mỗi nút v phạm vắ truy vẫn giau thắch hợp region(y) do 1a region(v) bi giao nhưng không hoàn toàn chưa trong phạm vị truy vấn, Nói cách khác đường biên giới của phạm vi truy vẫn giao
region(v) Để phân tắch số lượng nút như vậy chúng ta sẽ giới hạn sỏ lượng các
miễn bị giao bởi đường tháng đứng Điều này sẽ cho chúng ta l giới hạn trên vẻ số lượng các miền bị giao bơi cạnh bên trái và cạnh bên phải của hình chữ nhật truy
vấn, Số lượng các miễn bị giao bởi cạnh dưới và cạnh trên của phạm vỉ truy vẫn có
thẻ được giới hạn cùng cách đó
Cho l là đường thăng đứng vả T [a 1 kd-tree /(reor(7)) là đường chỉa lưu trữ ở nút gốc cua kd-tree Đường thắng | giao hoặc là miền bên trái của /(rụụr(7)} hoặc là miền hẻn phải cua /(roor(7)) nhưng khong 1a ca 2 Quan sat nay dua dén O(n) la
số lượng miễn hị giao trong kd-tree lưu trữ Ì tập n điểm thoa mắn công thức truy
hoi: V(r) =1+ O(nỔ 2) Nhung điều nảy thi không dúng bởi vì dương chia nắm ở nút con cua gốc Điều này có nghĩa là nếu đường thăng | giao (vi dụ)
reggton[c(reor(f))| thì nó sẻ luôn luôn giao các miễn tương ứng là tat ca các con
của fe(reor(7)) Do đó trạng thái đệ quy nảy chúng ta sẽ không giỏng như tỉnh
huong ban dầu và phép truy hỏi ở trên thì không chắnh xác Đẻ vượt qua vẫn đẻ nảy chủng ta phải chắc chắn trạng thái để quy này đúng giống như trạng thai ban dau: gốc cua cấy còn phái chứa đường chắa thắng đứng Diệu nảy dẫn dắt chúng ta định nghĩa lại 02 là só lượng các miền bị giao trong Ì kd-tree lưu trừ n điễm mà nút
góc cuu nó chứa dường chắa thắng đứng Đề viết công thức truy hỏi (XỪ) bảy giờ chúng tà phút đi xuong 3 bậc trong cây Mỗi nút trong 4 nút ơ chiều sảu Đ trong cây tương ưng | miện chứa n$ điểm (chắnh xác là: ỳ miền có thẻ chữa tôi da
i[m?3|/3| =[sr/4 | điềm nhưng tiệm cận nay thi không anh hưởng dến kết qua của
Trang 34chúng ta phải đếm so Iugng mién hj giao Tuy nhién | giao mién của gốc va | trong
cae con cua nd Do dé Vr) thou man công thức truy hồi:
(1) ifn=l
Yin)-
O(n) 2+20(n/4) ifa>l
Hinh 13:
Công thức truy hỏi này giải ra dược O(n)=O(vn \ Nói cách khác bất kì dường
thăng đứng nào giao @2{ VÌ} miền trong | kd-tree Trong cùng hưởng tương tự này
có thẻ chứng minh rang tông sỏ các miền bị giao bởi đường năm ngang là đ{ ýỪ |
Tổng sỏ miễn bị giao bởi dường biện của phạm vị truy vẫn hình chữ nhật cũng được
giới hạn bởi (2 vin),
(dpem) Phan tắch thời gian truy vận, chúng tá đã đưa ra ở trên thì khá bắ quan: chúng ta đã
giới hạn số miền giao | cạnh cua hình chữ nhật truy vẫn bởi số miễn giao dường
thăng xuyên qua nó [rong nhiều tỉnh huông thực tế phạm vỉ sẽ nhỏ Kết quá là các
cạnh thì ngắn vá sẽ giao với vài miền Vắ dụ khắ chúng ta tìm kiểm với Ì pham vì [x :v|*Í[c: vÌ truy van này thực tế hoi điểm (X.Y) có ở trong tập hợp không thời gian truy van bi gidi han boi CuoreỪ)
+ * re
Trang 35Một kd-tree của } tập P gồm n điểm trong mặt phẳng sư dụng @(z) lưu trữ và có thể được xây dựng trong thời gian @(mlogỪ} Phạm vi hình chữ nhật truy vấn trên kd-
tree trong thời gian ẹ( ý + &} với k là số điểm được báo cáo
Các kd-tree có thẻ được sử dụng cho tập hợp những điểm trong không gian 3 chiều
hoặc cao hơn Thuật toán xây dựng thì cũng rất giống như trường hợp của mat
phiing (2 chiều); ở nút gốc, chúng ta chia tập hợp điểm thành 2 tap con dai thé cùng, kich thước bởi l siêu phăng vuông góc với trục x, Nói cách khác ở nút gốc tập hợp điểm được chia đựa trên tọa độ đầu tiền của các điểm Ở nứt con của gốc việc
chia dựa trên tọa độ thứ 2 ở nút có chiều sâu 2 dựa trên toa độ thử 3 vả vân vân
cho tới chiêu sâu d-1 chủng ta chia trên tọa độ đứng cuối củng Ở chiều sâu d chủng ta sẽ quay lại chia trên tọa độ dâu tiên Việc đệ quy đừng khi chỉ có Ì điểm ở bên
trái mà sau đó được lưu trữ ở nút lá Bơi vì ! kd-tree 2 chiều cho Ì tập gồm n điểm
là | cây nhị phân với n nút lá, nó sử dụng (2{Ừ} lưu trừ Thời gian xây dựng 1a
(0(srog n) (như thường lệ chúng ta giá thiết ở là hãng số)
Cúc nút trong Ì kd-tree đd chiều tương ứng là các miễn giống như trong mặt phăng thuật toán truy vấn viễng thăm những nút mà có miễn của nó giao thắch hợp bởi
phạm vắ truy vẫn và đi ngang qua các cây con (để báo cáo những điểm được lưu trữ trong nút lá) mả có gốc ở nút có miền được chứa hoản toản trong phạm vi truy vấn
Nó có thẻ thực hiện trong thời gian truy vẫn giới hạn bởi @{ụ ỢỘ +#}
3.3 Phát sinh tập hợp điểm
loi bay gid ching ta da ap dat giới hạn không có 2 điểm có củng tọa độ x hoặc y điều này rất không thực tế May mắn thay điều nảy có thẻ dễ dàng sửa chữa Điều nhàn thấy cốt yếu là chúng ta không hao giờ gắa thiết các giả trị tọa độ là các số
Trang 36Ching ta thay thẻ các tọa độ là các số thực bởi các phân tử cua không gian SỐ phức
Các phần tử của không gian nảy là các cặp cúa các số thực Só phức của 2 số thực a
và b được kắ hiệu là (z|ệ) Chúng ta xác định thử tự trên không gian số phức băng việc sư đụng thử tự từ điển học cho nên, với 2 số phức (Ưl#) vả (ụ \h ) chung ta có:
{alb)<(a[b) Ủ a<a or (a=a undhỀh]}
Bây giờ chúng ta giả thiết, chúng ta có tập P gồm n điểm trong mặt phăng Những
điểm này là rời nhau, nhưng có nhiều điểm có thể có cùng tọa độ x hoặc y Chúng ta thay the môi điểm ụ:=(p,.p, } bởi 1 điểm mới p:={(p, 1 Ì-|ụ, |p, )} có các số
phức là cúc giá trị tọa độ Với hướng này chúng ta thu được 1 tập hợp mới P của n
điển Toạ độ đầu tiên của bất kì 2 điểm trong Z' là khác nhau: điều này cũng đúng
với toa độ thứ 2 Sử dụng thứ tự được định nghĩa ơ trên bây giờ chủng ta có thể xây dựng cúc kd-trec
Gia sự bấy giờ chúng ta muốn báo cáo những diễm những diễm của P nằm trong pham vi Re= [x oy }ề{ y: y | Đẻ thực hiện việc nảy chúng ta phải truy vẫn cây mả
chúng ta xây dựng trên tập P Điều này có nghĩa là chúng ta phải thay đổi phạm vắ
truy xản thành phạm vì truy vẫn mới trên không gian phức phạm vắ thay dôi P
được xúc định như sau:
R =[ (| -o) :(x | +00) ]{ ("| -s):(v | củ
No vin chime to cach tiép can của chúng ta la ding: nhiing diem cua P ma ching tạ búo cáo khi chúng ta truy vấn với # tương ứng chắnh xác như những điểm của P
Trang 37Cho p là 1 điểm và R là phạm vị hình chữ nhật thì:
p< = peR
Chirng minh:
Cho R= [x: t ]ỘÍr: ' ] va p:={(p,.p,} Từ định nghĩa: p nằm trone R nẻu và chỉ neu; oxsp.sv và ysp sy Điều này thì tương dương với (xI=z}<Íp, |Ợ, }<{t | +0) va (xI-s)<Íp,Lp,]<(y I+=} dây chắnh là tương đương với p nắm trong #
(dpem)
Chúng ta có thẻ két luận cách tiếp cận của chúng ta thật sự là đúng: chúng ta sẻ có trả lời đúng cho l truy vận Quan sát thay khong that su cản thiết lưu trữ những
điểm biến đôi: chúng tà có thẻ lưu trữ điểm ban đầu được cung cắn cho chung ta so
sánh giữa 2 tụa dò x hoặc 2 tọa dộ y trong không gian phức
Tiếp cận nảy sư dụng không gian phức cũng có thẻ được sử dụng trong khỏng gian
Trang 384 R-Tree va Bién thé R*-tree
Chi mục không gian mong đợi cung cấp phương pháp hiệu qúa cho việc thao tác như là chọn không gian và nói không gian kỳ thuật chắ mục truyền thông thường
được thiết kẻ cho đữ liệu kắch thước một chiều [2o đó chúng thì khó thắch ửng mỏ
hình dữ liệu tương tự được mô ta trong chương 2 Bởi vậy có I nhú cầu vẻ những cau trúc chỉ mục đặc biệt mà có thẻ điều tiết dữ liệu không gian bởi việc cho phép
thứ tự kắch thước nhiều chiều (tức là vị trắ không gian của các đối tượng trong mật
phăng 2 chiều)
Những vị dụ mô hình dữ liệu khong gian trong chương 2 gôm có một dãy cua các
lớp Tắnh toản thuốc tắnh dại số không gian dòi hỏi phân tắch đệ quy của những thuộc tắnh này bên trong những thuộc tắnh ở mức thấp hơn mà cuỗi cùng két qua
tắnh toán dắt (expensive) Do do trong trường hợp lượng lớn dữ liệu việc tìm kiểm hết mọi khắa cạnh ma vieng thăm mọi đổi tượng của không gian là hoản tồn khơng hiệu qua Cách mả trong do thao tác không gian giúp ắch từ sự có mật cua chỉ mục không gian mà chắ những vùng nho của không gian cần được quyết cho những dỏi
tượng mà thực hiện thuộc tỉnh của thao tác,
Chương này sẽ giới thiệu mô tả vẻ R-tree là cau trúc dừ liệu quan trọng nhảt cho
những hình chữ nhật chỉ mục Mục 34.1 được dành cho kiểu của R-tree mả được
thiết kế bởi Antonin Guttman [Gut84] Những mục tiếp theo sẽ tiếp tục với trình bay | cải tiến kiểu cầu trúc dữ liệu nảy: R*-tree trong mục 4.2
4.1 Cau tric R-tree
R-tree [Gutt84] là cau trie di ligu dang cay tuong ty B-tree Myc dich chinh cua | R-trec là tò chức dữ liệu không gian theo cách mả sự tìm kiểm sẻ đến thâm vai doi tượng không gian có thê trước khi tra vẻ kết quá Việc quyết định trên những núi nào dé đến thâm dựa trên sự tắnh toán thuộc tỉnh không gian vì vậy cây phai giữ
một số loại dữ liệu trén tat ca các núi
Trang 39Nút lá chứa đựng những record cntry chỉ mục ứ dạng:
(f.Ủiđ)
Trong đó I là MBR (xem mục 3.3) của đôi tượng không gian chắ mục và oid là I
con trỏ tới record cơ sở đữ liệu mà chứa đổi tượng thật sự
Nút không là nút lá chứa record chi mục ở dạng:
(/.<p)
Trong đó I là MBR của tất cả các hình chữ nhật có mặt trong các cntry của nút con ơ mức thấp hơn được trỏ tới bởi cp Xem hình 14 hình ánh trình bảy R-tree
Giống như những nút trong B-tree, Í nút R-tree có thẻ năm giữ nhiều nhất là M và it
nhất là m entry, vol 2<m< M/2 Tham so m có thẻ được xác định dựa vào cơ so thắ nghiệm
R-tree thỏa mãn những tắnh chất sau:
Mọi nút lá chứa từ m dén M record chi muc acu no khong là nút góc Mọi nút không là nút lả có từ m dẻn M nút con nẻu nó không là nút gốc Nút góc có it nhất 2 nút con nêu nó không là nút lá
Tat cả nút lá xuất hiện ở củng Í mức (cây được cản bảng) Mot R-tree ma N dói tượng không gian ch: mục có số nút lớn nhất là:
XN N
Vmax =| lữ: +]
mm m
Trường hợp xấu nhất sử dụng không gian cua Ì nút (ngoại trừ nút góc) là m Do đó mỏi nút nắm giữ chắnh xác m enưy Vắ có N record chỉ mục điều này có nghĩa là trường hợp xaâu nhát (dưa đẻn sỏ nút lớn nhất) ơ mức thấp nhất của cây chứa V mm la
Ngay lặp tức mức ở trên mức lá có cúc nat chia m entry, Tat ca nhitng nut nay a cup nay co cac con li Vom lá, Do do ơ cấp này có:
Trang 40.T-3|* | nút, và vản văn, tới mức nút gốc chỉ chứa ! nút Do do ta c6 phuong trinh (1) ngay N me (1) "| lập tức Chiều cao cua cây nay (N đôi tượng không gian chỉ mục) tỏi da là /f max với: H max =| logẤ ` |-1 (2)
Đây là sự chứng mình theo sau từ phương trình (1) Mức dấu tiên sau gốc có chắnh xac m nut Nhung ur (1), cling mire nay có | Vim" | Deo do,
X
f2 mạ
m
|=Ợ => M=mỢ*""' = Hmax =|log, N |-1
| R-tree dựa trên chi muc thi dong hoan toan (completely dynamic) trong suy nghĩ mà nó cho phép tìm kiểm và cập nhật cùng thời gian Ngồi ra khơng có sự tơ chức
lại tuần hồn (neriodic reorganization) nào được yêu cầu
Vi du tidu biều nhất của việc tìm kiếm là nơi mả người dùng hỏi vẻ tất cả đối tượng
chóng lắp Ì miền nào đó, Vì các MBR được lưu trừ trong entry chi muc duge cho
phép chẳng lắp R-tree không thể bảo đầm chỉ Ì đương dẫn tìm kiểm cần thiết được
xem xét Thách thức nảy là động lực trong việc xảy dựng bao ranh giới và sắp xếp
ching trong | hudmg ma sé cực tiêu hóa số lượng cua các đường dẫn cần thiết trong
việc gia quyết bài toán tìm kiếm
lây giờ chúng tạ sẽ mơ ta thuật tốn với những thao tác chắnh má có thể được thực
hiện trén | R-tree Irình bày là mẫu tự đo và sẻ có gắng giải thắch nguyên lý đẳng
sau thuật toàn Cũng như vai van dé tiem năng Những vắ dụ ngăn sẽ mỉnh họa sự tim kiem và xây dung | R-tree
Tìm kiểm
Vice tim Kiểm | R-tree được làm nói chúng bơi việc từ tát ca cae record chi muc