MỤC LỤC
Một đối tượng địa lí là một bộ (một dòng) của quan hệ, mỗi cột là một thuộc tính.
Trong mô hình này, mỗi điểm trong không gian được gắn với một hoặc nhiều giá trị thuộc tính, được định nghĩa như là một hàm số liên tục với x và y. Ví dụ, độ cao so với mực nước biển là một hàm định nghĩa trên x và y, mà kết quả là giá trị của biến h đối với bất kì điểm nào trong không gian hai chiều. Biểu diễn dữ liệu trong mô hình thực thể bằng phương thức Tessellation Một đối tượng không gian trong không gian hai chiều được biểu diễn bằng một tập các pixel trên máy tính, trong đó một điểm của đối tượng được xem như là một pixel.
Đối tượng tuyến tính và đối tượng bề mặt thì được biểu diễn bằng cấu trúc của cách biểu diễn điểm như danh sách, tập hợp, mảng. • Đa giác cũng được biểu diễn bằng một danh sách các điểm, nhưng danh sách biểu diễn đó là một đường gấp khúc khép kín, nghĩa là cặp (pn,p1) cũng là một cạnh của đa giác. Dựa vào các khái niệm trên, chúng ta có hai loại mô hình mạng : mạng phẳng (planar network) và mạng không phẳng (nonplanar network).
Tương ứng với các lược đồ, ta có ba loại truy vấn : truy vấn với các tiêu chuẩn số ( được đặt tên là ALPHA ), truy vấn với tiêu chuẩn không gian ( được đặt tên là SPAT ), truy vấn tương tác ( được đặt tên là INTER ). ALPHA-R1 : Số đường nhỏ trong khu vực đầu tiên của tiểu bang 99 ALPHA-R2 : Tên của tất cả các khu vực hình thành nên tiểu bang 99. Trong việc mở rộng mô hình dữ liệu để cho thích hợp với việc xem xét các lược đồ đã trình bày, có một số kiểu dữ liệu mới được xác định, đó là : đường gấp khúc phức tạp (complex polyline) và các đối tượng bề mặt hỗn hợp (mixed).
Các kiểu dữ liệu này được xác định dựa trên việc định nghĩa mô hình dữ liệu ràng buộc (The constraint data model) mà chúng ta sẽ tìm hiểu mô hình này kĩ hơn ở chương sau. • Những phép toán đơn nguyên với kết quả đại số Bool : Những phép toán này kiểm tra một đối tượng không gian với những thuộc tính đã cho, như kiểm tra tính lồi, tính liên thông. • Những phép toán đơn nguyên với kết quả không gian : Bao gồm phép quay, phép tịnh tiến, phép co giãn và phép đối xứng; phép biến đổi một.
• Những phép toán N-phân với kết quả không gian : Sự đa dạng của những phép toán này là việc xây dựng biểu đồ Voronoi, được cấu trúc từ một tập điểm và bao lồi. • Những phép toán nhị phân với kết quả không gian : Gồm những phép toán về tập hợp, cho ra những đối tượng được biểu diễn bằng tập hợp điểm như : phép giao, phép hợp,…Chúng được sử dụng trong những truy vấn khi tính một đối tượng không gian mới. • Những phép toán nhị phân với kết quả vô hướng : Khoảng cách (ví dụ : giữa một con đường với một tỉnh) là phép toán tiêu biểu trong lớp này.
• Giao của một đường và một đa giác có thể hiểu theo hai hướng : thứ nhất, kết quả là phần đường nằm bên trong đa giác; thứ hai, kết quả là những điểm giao giữa đường đã cho và đường biên của đa giác. • Giao của các đa giác hoặc các miền kề nhau cũng được hiểu theo hai chiều hướng : chiều hướng 1 (regularized intersection), kết quả của phần giao được xem là rỗng; chiều hướng 2 (geometry intersection), kết quả là đường biên chung giữa chúng. Trong phần này ta sẽ chuyển các lược đồ trong mục trước thành mô hình quan hệ để từ đó dễ dàng dùng một ngôn ngữ truy vấn đến dữ liệu một cách nhanh chóng và khoa học.
Phương thức của đối tượng được quy định bởi dữ liệu và ngược lại, dữ liệu của đối tượng được đặc trưng bởi các phương thức của đối tượng. Những lớp này ngoài tính riêng của mình, chúng còn giữ lại các đặc điểm của các lớp cơ sở, nói một cách khác chúng đã kế thừa những phương thức và dữ liệu của lớp cơ sở. Chúng ta sẽ biểu diễn các theme địa lý được cấu trúc trong một lớp thông qua các đối tượng trong các lược đồ tham chiếu và các kí hiệu đã trình bày ở trên.
Để khắc phục được cách biểu diễn đó, ta dựa vào một cách biểu diễn khác, đó là dựa vào mô hình dữ liệu ràng buộc. Các đa giác không lồi khi biểu diễn với các ràng buộc cần xem chúng như law hợp của các đa giác lồi được tách ra bằng các cạnh của nó. • Mỗi quan hệ Road và Spat thì không giới hạn, chúng ta không thể sử dụng phương pháp truy cập cổ điển.
• Kết quả của của truy vấn là một chuỗi các điểm không xác định, và phải được thể hiện một cách giới hạn. Chúng ta phải sử dụng sự miêu tả giới hạn với những ràng buộc, Sau đó, chúng ta mới có thể diễn tả kết quả với những sự ràng buôc được. Công thức mới này miêu tả một cách chính xác giao điểm của Road và Spat được biểu hiện ở hình sau (đoạn cắt nét dày).
Trong mô hình ràng buộc, sự phân chia thành các mức phức tạp hơn so với hệ quản trị cơ sở dữ liệu cổ điển. • Mức trừu tượng (abstract level) : Chứa các quan hệ trừu tượng, các quan hệ xác định hoặc không xác định. Người dùng không quan tâm tới việc xác định một quan hệ mà chỉ thấy cơ sở dữ liệu như là các bảng với các bộ dữ liệu.
• Mức kí hiệu (symbolic level) : Cung cấp biểu diễn cho các quan hệ không xác định. • Mức vật lý (physical level) : Mức này lưu trữ những quan hệ và thực thi truy vấn bằng việc truy xuất cơ sở dữ liệu. Như đã nói ở phần trước, trong mô hình ràng buộc, dữ liệu được biểu diễn chủ yếu thông qua phương trình và bất phương trình.
Tuy nhiên chúng luôn luôn được thay thế bằng các hệ số nguyên bằng cách biến đổi đơn giản.
Phân tích thuật toán là quá trình tìm ra những đánh giá về thời gian tính cũng như dung lượng bộ nhớ cần thiết để thực hiện thuật toán. Rừ ràng thời gian tớnh của một thuật toán là hàm của dữ liệu đầu vào, mà hàm này ta khó có thể xây dựng công thức dưới dạng hiện cho, vì thế ta đặt ra vấn đề đơn giản hơn. Nếu thay Ο bởi Ω và “không quá” bởi “ít nhất” trong định nghĩa trên ta sẽ thu được định nghĩa bậc ít nhất của thời gian tính tốt nhất, tồi nhất, trung bình của thuật toán.
Ở đây, ta minh họa chiến lược chia để trị với bài toán trình bày sự giao nhau của một tập các nửa mặt phẳng. Để đơn giản, ta thừa nhận kết quả là một đa giác lồi và đa giác kết quả được giả sử là luôn luôn chứa trong không gian R (R là một hình chữ nhật). Ta sẽ minh họa kỹ thuật sử dụng đường quét dựa vào một ví dụ như sau : Cho một tập S gồm n hình chữ nhật mà các cạnh của mỗi hình tương ứng song song với các trục tọa độ.
Gọi ε là tập vị trí của các cạnh trái và cạnh phải của các hình chữ nhật được sắp thứ tự theo hoành độ x (một hình chữ nhật sẽ có một cạnh trái ứng với xmin và một cạnh phải ứng với xmax). • Trong L bây giờ có hình chữ nhật C giao với E, nên ta được một cặp hình chữ nhật giao nhau đầu tiên là (E,C). Đoạn nhìn thấy được (Visibility segment) là đoạn sinh bởi đường quét, vẽ từ một đỉnh tới một cạnh và nằm hoàn toán trong đa giác. thì không có).
Cạnh thứ hai thẳng đứng của hình thang là đoạn thấy được của trường hợp trước đó,…Cứ như vậy ta phân chia đa giác ban đầu thành các hình thang theo kỹ thuật đường quét. Những điểm trở lại là những khía hình chữ V mà hai cạnh gắn liền với nó nằm cùng một bên của đường thẳng đứng đi ngang qua đỉnh chung của chúng. Kế tiếp, bằng cách vẽ một đường chéo giữa đỉnh trở lại thứ hai là r2 và đỉnh w, chúng ta đã chia đa giác ra thêm hai thành phần đơn điệu là B và C.
Thuật toán sử dụng một nửa đường thẳng l bắt đầu được vẽ từ điểm p và kéo ngang qua cắt đa giác tại các giao điểm ở các cạnh của P. Ta có mã giả minh họa cho thuật toán kiểm tra hai đa giác giao nhau như sau : PolygonIntersectionTest (P, Q : Đa giác). Để làm được điều đó, ta xem xét hình chữ nhật xén như là một nửa mặt phẳng và nó xén đa giác dựa vào 4 nửa mặt phẳng.