Chương 2 Mô hình dữ liệu, mối quan hệ và ràng buộc không gian . 15
2.2 Mô hình dữ liệu không gian
2.2.2 Mô hình dữ liệu Vectơ
Trong phương pháp này, các đối tượng được cấu trúc chính từ các thành phần cơ sở như: điểm, đọan thẳng (danh sách các điểm) và bề mặt của đối tượng (danh sách các các cạnh). Hình 2.6 là minh họa cho phương pháp này. Trái với biểu diễn raster, biểu diễn vector không tốn bộ nhớ.
Như vậy, mô hình dữ liệu vectơ sử dụng các đoạn thẳng hay điểm rời rạc để nhận biết các vị trí của thế giới thực (hình 2.7).
Kiểu thành
phần sơ cấp Biểu diễn bằng đồ họa Biểu diễn số Điểm
Đường Vùng
Bề mặt Khối
Tọa độ (x,y) trong 2D
và (x,y,z) trong 3D 1. Danh sách tọa độ
2. Hàm toán học
1. Đường có điểm đầu và cuối trùng nhau
2. Tập các đường nếu vùng có lỗ hổng 1. Ma trận điểm 2. Tập các tam giác 3. Hàm toán học 4. Đường bình độ
Tập bề mặt
Hình 2.6 Các thành phần hình học cơ sở
Biểu diễn tập các đối tượng ở mô hình này được phân thành hai mô hình:
Mô hình phi cấu trúc và mô hình có cấu trúc.
Với mô hình phi cấu trúc (spagetti)
Mô hình này, các đối tượng hình học được mô tả một cách độc lập với các đối tượng khác, các quan hệ hình học logic phải được tính toán dựa trên lệnh.
Lợi ích chính của tiếp cận này đó là đơn giản, hơn nữa, tất cả các đối tượng được lưu trữ độc lập giúp người sử dụng dễ dàng thêm mới các đối tượng vào tập các đối tượng đang tồn tại trong cơ sở dữ liệu, đồng thời cho phép biểu diễn hỗn hợp các đối tượng không đồng nhất.
Nhược điểm là cách lưu trữ này là sự dư thừa dữ liệu, ví dụ đường biên giữa hai miền kề nhau được thể hiện hai lần dẫn đến tập dữ liệu có xu hướng lớn hơn thế nữa mô hình này thiếu thông tin ban đầu về mối liên hệ tôpô giữa các đối
Hình 2.7 Biểu diễn bản đồ vectơ
T
ỉnh A
Bệnh viện
S ông
S ông
Đường biên hành chính
Các công trình công cộng
T
ỉnh A
B ệnh
viện S ôn g
Trụ c y
Trục x
Bản đồ vectơ
Thế giới thực
Các tầng bản đồ
tượng do vậy cũng không dễ dàng gì khi trả lời câu hỏi hai đa giác có tiếp xúc nhau không?
Với mô hình có cấu trúc tôpô
Mô hình này xây dựng mối quan hệ giữa các thành phần không gian. Mô hình dữ liệu vectơ có kiến trúc tôpô thường được mô tả bằng khái niệm đối tượng tôpô có số chiều tôpô, trong đó đối tượng tôpô n-cell có n chiều.
Thông thường đối tượng tôpô ba chiều (Hình 2.8) bao gồm polyhedra (3- cell) có bề mặt bao bọc, đa giác (2-cell) được tạo từ một hay nhiều cung (1-cell), và còn được gọi là sườn hay liên kết, nối với nhau tại các nút (0-cell). Đối tượng tôpô hai chiều chỉ bao gồm đa giác, cung và nút. Thông tin về vùng gần kề được lưu trữ bằng mã đặc trưng liên quan đến phía phải hay phía trái của cung. "Phải"
hay "trái" được xác định từ hướng đi của cung: "từ nút" hay "đến nút". Giả sử
Hình 2.8 Đối tượng tôpô cơ sở
Số chiều Loại Mô tả
tô pô
Nút Biểu diễn điểm rời rạc hay kết thúc cung
Cung Nối hai nút
Cung có hướng Cung có hướng xác định Xuyến Mạch cung khép kín
Bề mặt Vùng khép kín bởi một hay nhiều cung
Polyhedron Vùng khép kín bởi bề mặt
rằng bản đồ có chứa các lỗ hổng đa giác như trên. Các cung trên hình này đều có hướng xác định. Đa giác được tạo ra nhờ danh sách các cung thành phần, trong đó dấu trừ (-) được sử dụng cho hướng cung phù hợp. Để phân biệt đường biên trong và đường biên ngoài, ta qui định chiều quay kim đồng hồ cho đường biên ngoài và ngược chiều quay kim đồng hồ cho đường biên trong. Mỗi nút được gắn danh sách cung bao quanh cho mục tiêu phân tích mạng. Danh sách cung nối vào nút phải được xếp đặt theo trật tự xác định trước, theo chiều quay kim đồng hồ hay ngược lại.
Với mô hình này, các thành phần chia sẻ của các đối tượng không gian chỉ lưu một lần và có thể qui chiếu chúng nhiều lần; Kết quả là tối ưu dung lượng lưu trữ dữ liệu hình học. Cấu trúc tôpô trong hình 2.9 là ở mức độ khá cao, không phải tất cả các GIS vectơ đều có cấu trúc loại này. Người ta thường nhấn mạnh đến cấu trúc tôpô, đa tầng. Các đối tượng của lớp cụ thể sẽ được lưu trữ trong một tầng. Như vậy sẽ có các cung lặp trong các tầng bản đồ khi chúng biểu diễn nhiều hiện tượng trong các tầng khác nhau. Khi có nhu cầu phân tích là phủ
Trật tự theo chiều kim đồng hồ; dấu trừ (-) là đi vào nút Đa
giác Cung bao Nút Cung
bao
A (e f g i j) (h) (k) 1 a i -g
B (a b c -i) 2 -a b
C (-c d -j) 3 -b d c
D (-k) 4 -j -d e
E (e f g i j) 5 -c j -i
F (a b d -j -i) 6 -e f
G (a b d e f g) 7 -f g
8 h -h 9 k -k
Hình 2.9 Bản đồ mã hóa tôpô
Cung Nút
bao Đa giác
trái Đa giác phải
a 1,2 - B, F, G
b 2,3 - B, F, G
c 3,5 c B
d 3,4 - C, F, G
e 4,6 - A, E, G
f 6,7 - A, E, G
g 7,1 - A, E, G
h 8,8 - A
i 1,5 B,F A, E
j 5,4 C,F A, E
các tầng bản đồ, thì phải tìm các điểm giao nhau của các cung nhờ các công thức toán học.
Ưu điểm nổi bật của phương pháp này thể hiện ở các truy vấn tôpô, duy trì và tăng cường tính nhất quán do sự chia sẻ đối tượng. Ví dụ khi kiểm tra hay miền có giao nhau không? Chỉ cần thực hiện quét đường biên giữa chúng (vì biên đã được lưu sẵn trong cơ sở dữ liệu).
Tuy nhiên tiếp cận này bị một số trở ngại, thứ nhất, một số các đối tượng không gian trong cơ sở dữ liệu có thể không có ngữ nghĩa trong đời sống thực, thứ hai tính phức tạp của các cấu trúc có thể làm chậm một số toán tử. Ví dụ để hiển thị bản đồ cần quét tập các đoạn thẳng. Trong trường hợp này, mô hình tôpô thực hiện chậm hơn so với mô hình spagetti, hơn thế nữa đầu vào của đối tượng mới đòi hỏi tính toán trước các thành phần đồ thị phẳng, để có thể hiển thị các miền phải quét một số đa giác kề nhau và loại bỏ đường biên chung giữa chúng.
2.2.3 Mô hình dữ liệu không gian trên có sở các ràng buộc Mô hình dữ liệu không gian bởi các ràng buộc được xây dựng trên cơ sở khắc phục hạn chế của cơ sở dữ liệu khi biểu diễn dữ liệu không gian. Vì dữ liệu không gian là rất lớn do vậy cần thiết phải biểu diễn và điều khiển tập vô hạn các điểm trong không gian. Mô hình dữ liệu này nhắm tới mục đích chính là mở rộng mô hình quan hệ để điều khiển và truy vấn các quan hệ vô hạn với ngôn ngữ truy vấn thông thường. Đặc trưng mạnh khác là có khả năng biểu diễn và thực thi dữ liệu theo một hướng bất kì trong khung làm việc đồng nhất, mô hình này biểu diễn các thành phần không gian bởi công thức chung với ràng buộc giao() hay hợp ().
Như đã đề cập ở trên, mô hình dữ liệu xây dựng phải duy trì đặc trưng ban đầu của mô hình quan hệ, nhưng đối tượng không gian được nhìn nhận như là tập vô hạn các điểm. Về mặt khái niệm, có thể biểu diễn không gian như quan hệ, nhưng trong trường hợp vô hạn điểm rất khó có thể biểu diễn tập vô hạn các điểm trên không gian đĩa cứng hữu hạn. Như vậy thì làm thế nào chúng ta biểu diễn và thực thi được quan hệ vô hạn trong cơ sở dữ liệu.
Để biểu diễn quan hệ như tập các tuple thì công thức logic đơn giản (hình 2.10.a) và được thể hiện như sau:
) 1 7
( ) 4 4
( ) 3 7
( ) 1 1
(
x y x y x y x y
Spat
Ngữ nghĩa của Spat bao gồm cặp giá trị [x, y] ở đó Spat là đúng. Đối với hình tứ giác (2.10b) thì công thực được thể hiện như sau:
y x x 7 y 1 x + 3y - 16 0
Công thức mô tả đa giác này với 4 ràng buộc và đa thứcxy 0 định nghĩa nửa mặt phẳng trong không gian ơclit, sự kết hợp của các ràng buộc này
x p1(1, 1) p4(7, 1)
p3(7, 3) y
p2(4, 4)
2
3
y 1
4
x Hình 2.10. Mô hình dữ liệu như tập hữu hạn và vô hạn các điểm (a) (b
)
thể hiện giao của các nửa mặt phẳng. Trong ví dụ trước thì phép giao được định nghĩa bằng tập các điểm. Hình 2.11. Minh hoạ polyline L có thể được thể hiện theo vectơ là danh sách các điểm L = <[4, 3], [6, 5], [8, 2], [10, 5]>.
Biểu diễn kết hợp theo các ràng buộc:
) 0 1 5
3 6 4
( x y xy
(6x82y53x2y280)
(8x102y53x2y200)
Hình 2.12 Đa giác lõm định nghĩa là hợp của các đa giác lồi P = <(1, 1), (9, 1), (9, 6), (7, 3), (4, 4)>.
y
x (4, 3)
(6, 5)
(8, 2)
(10, 5)
Hình 2.11. Polyline L
Biểu diễn ràng buộc như sau:
(yxy1x3y1603x2y150)
(x9y13x2y150)
Khi truy vấn tính toán giao của đường phố Road và đa giác Spat, giả sử rằng mỗi quan hệ là lần lượt theo thứ tự hình 2.11 và 2.12. thì truy vấn:
Select x, y
From Spat, Road
Where spat.x = road.x and spat.y = road.y
Kết quả là tập các điểm chung nhưng có số vấn đề cần quan tâm như:
Mỗi quan hệ là vô hạn, chúng ta không thể sử dụng phương thức truy nhập thông thường như là quét quan hệ
Kết quả là tập vô hạn các điểm và phải được biểu diễn một cách hữu hạn
y
Hình 2.12. Đa giác không lõm x (1, 1)
(4, 4)
(7, 3)
(9, 6)
(9, 1)
Thuật toán đưa ra kết quả truy vấn trên được sử dụng đơn giản như sau:
(Minh họa hình 2.13):
[(4x63y5xy10) s
0 28 2 3 5 2
8
6x y x y
0 20 2 3 5 2
10
8x y x y ]
[(yxy1x3y1603x2y150) (x9y13x2y150)]
Sau khi giản lược công thức trên thì kết quả cuối cùng là:
4.75 3 3.75 1 0) 4
( x y x y
8 2 3.25 3 2 28 0) 17
. 7
( x y x y
) 0 20 2 3 5 . 3 2 9 8
( x y x y
Hình 2.13. Kết quả truy vấn của Road và x Spat
y
s1
P1
(4.75, 3.75)
(8, 2) P2
s2 s3
(4, 3) o (
9 ,
3 o 5 o
o (
7 . 1 7 , .25)
Một yêu cầu chung đó là bất cứ truy vấn nào phải có thuật toán cho phép biểu diễn hữu hạn các điểm. Mô hình ràng buộc tuyến tính thể hiện dưới đây thoả mãn yêu cầu này có những đặc trưng sau (minh họa hình 2.14):
Mức trừu tượng là các quan hệ trừu tượng có thể là hữu hạn hoặc vô hạn, người sử dụng không quan tâm đến tính hữu hạn của quan hệ mà có thể thấy một cách thống nhất cơ sở dữ liệu là tập các bảng lưu các tuple (các điểm),
Mức kí hiệu hỗ trợ biểu diễn một cách hữu hạn các quan hệ vô hạn, mức này người sử dụng không cần quan tâm mà ở đó tập trung cung cấp công nghệ thể hiện và thực thi dữ liệu,
Cuối cùng thì mức vật lý lưu các quan hệ và thực thi truy vấn truy nhập cơ sở dữ liệu.
Gọi quan hệ R được thể hiện một cách hữu hạn , do vậy truy vấn q phải được tính toán tương đương với q’ ở mức kí hiệu, và q’() phải là biểu diễn hữu hạn của q(R) . Tập các đối tượng hình học có thể được biểu diễn phụ thuộc vào kiểu ràng buộc cho phép trong mô hình dữ liệu. Chú ý rằng sự lựa chọn mô hình dữ liệu ảnh hưởng đến chi phí thuật toán trong suốt quá trình tính toán truy vấn.
Mức vật lý Mức trừu tượng
Mức kí hiệu
c ấ u
t r ú c
R
S ử a
c h ữ
K i
q’()
)
)
q(R)
Lưu trữ và xử lý truy vấn
Hình 2.14. Các mức trừu tượng, kí hiệu và mức vật lý q
q’
2.3 Mối quan hệ không gian
Các mối quan hệ không gian được phân loại thành 3 lớp chính đó là:
Tôpô, metric và order (Thứ tự) minh họa hình 2.15.
Quan hệ tôpô Quan hệ metric Quan hệ thứ tự
Các mối quan hệ không gian
Hình 2.15. Phân loại các mối quan hệ không gian
Quan hệ tôpô bất biến với phép biến đổi tôpô như: Dịch chuyển, co dãn và quay. Ví dụ các mối quan hệ tôpô như: neighbour, disjoin, adjacent, inside,
Các quan hệ metric là quan hệ được mô tả khoảng cách và phương hướng.
Ví dụ: “khoảng cách < 200m”,
Các quan hệ thứ tự được mô tả trên cơ sở lý thuyết toán học của tập hợp và thứ tự. Ví dụ như quan hệ bên dưới, bên trên: above, below, north of, southwest_of.
Trong các quan hệ này, quan hệ tôpô là được nghiên cứu nhiều và được trình bày trong luận văn. Phần dưới đây sẽ mô tả các thuật toán cơ sở cho các mối quan hệ tôpô giữa các đối tượng cơ sở như điểm, đoạn thẳng và vùng.