GIS không chỉ là công cụ tạo ra các bản đồ mà còn lưu trữ dữ liệu địa lý, cung cấp các công cụ phân tích, mô phỏng ở nhiều bề mặt khác giúp các nhà chuyên môn tổ chức công việc một cách
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN BÍCH HẰNG
MỘT SỐ VẤN ĐỀ CƠ SỞ DỮ LIỆU KHÔNG GIAN
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn: PGS.TS Đặng Văn Đức
HÀ NỘI
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Trang 3MỤC LỤC
Lời cảm ơn Error! Bookmark not defined.
Danh mục các ký hiệu, chữ viết tắt 1
Mở đầu 2
Chương 1 - Giới thiệu chung về cơ sở dữ liệu không gian 4
1.1 Giới thiệu chung về cơ sở dữ liệu 4
1.1.1 Mô hình quan hệ 5
1.1.2 Mô hình hướng đối tượng 6
1.1.3 Mô hình đối tượng-quan hệ 6
1.2 Giới thiệu về GIS (Geographic information system) 6
1.3 Mô hình cơ sở dữ liệu không gian 10
1.3.1 Giới thiệu 10
1.3.2 Sử dụng mô hình cơ sở dữ liệu quan hệ 11
1.3.3 Sử dụng kiến trúc song song 12
1.3.4 Tích hợp trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu 14
1.4 Kết luận 14
Chương 2 - Mô hình dữ liệu, mối quan hệ và ràng buộc không gian 15 2.1 Giới thiệu 15
2.2 Mô hình dữ liệu không gian 16
2.2.1 Mô hình dữ liệu raster 17
2.2.2 Mô hình dữ liệu Vectơ 20
Trang 42.2.3 Mô hình dữ liệu không gian trên có sở các ràng buộc 25
2.3 Mối quan hệ không gian 31
2.3.1 Quan hệ tôpô 31
2.4 Các ràng buộc không gian 38
2.4.1 Ràng buộc toàn vẹn tôpô 40
2.4.2 Ràng buộc ngữ nghĩa 41
2.4.3 Các ràng buộc do người dùng tự định nghĩa 42
Chương 3 - Cấu trúc dữ liệu không gian, các thuật toán cơ sở và phương thức xâm nhập 43
3.1 Giới thiệu 43
3.2 Cấu trúc dữ liệu dữ liệu không gian 44
3.3 Một số thuật toán cơ sở cho các đối tượng không gian 49
3.3.1 Kiểm tra điểm có nằm trong đa giác hay không? 49
3.3.2 Giao của các polyline 51
3.3.3 Giao của hai đa giác 57
3.3.4 Bài toán windowing 58
3.3.5 Bài toán Clipping 60
3.3.6 Tính diện tích của đa giác và các toán tử liên quan 63
3.4 Các phương thức truy cập không gian và xử lý truy vấn 64
3.4.1 Các phương thức truy cập không gian 64
3.4.2 Xử lý truy vấn 79
Trang 5Chương 4 - Khảo sát hệ quản trị cơ sở dữ liệu không gian thương mại
và phát triển chương trình ứng dụng 92
4.1 Giới thiệu chung 92
4.2 Oracle spatial 94
4.3 Phát triển ứng dụng thử nghiệm 101
4.3.1 Phát biểu bài toán 101
4.3.2 Công cụ, phương pháp sử dụng phát triển 101
4.3.3 Kết quả đạt được 104
Kết luận 111
Tài liệu tham khảo 113
Trang 6DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Ký hiệu Tên đầy đủ Ý nghĩa
system
Hệ thống thông tin địa lý
Java
thành phần ít được sử dụng gần nhất
quanh đối tượng
management system
Hệ quản trị cơ sở dữ liệu hướng đối tượng
Trang 7MỞ ĐẦU
Hệ thống thông tin địa lý (GIS - Geographic information system ) đã được
nghiên cứu và ứng dụng rộng rãi trên thế giới Từ vài năm gần đây, Việt Nam đang có nhiều cố gắng đưa hệ thống thông tin địa lý vào ứng dụng thực tế vì lợi ích to lớn của chúng trong việc hỗ trợ ra quyết định, lập kế hoạch trong nhiều lĩnh vực khác nhau Tuy nhiên, vấn đề nghiên cứu về lĩnh vực này ở Việt Nam còn rất nhiều hạn chế Việc hiểu biết sâu sắc về GIS sẽ giúp ta ứng dụng một cách hiệu quả các hệ thống GIS có sẵn cũng như cho khả năng xây dựng các hệ thống GIS phù hợp với đặc thù của Việt Nam
GIS không chỉ là công cụ tạo ra các bản đồ mà còn lưu trữ dữ liệu địa lý, cung cấp các công cụ phân tích, mô phỏng ở nhiều bề mặt khác giúp các nhà chuyên môn tổ chức công việc một cách hiệu quả ở nhiều lĩnh vực ví dụ như: quản lý mạng lưới giao thông, các ứng dụng phục vụ cho quân đội hay các hệ thống thông tin về môi trường … Một trong những công việc chính của GIS đó
là quản lý một cách hiệu quả cơ sở dữ liệu với khối lượng lớn các thông tin phức tạp, được tích hợp vào hệ quản trị cơ sở dữ liệu (DBMS)
Luận văn với chủ đề “Một số vấn đề về cơ sở dữ liệu không gian”, em chủ
yếu tập trung vào nghiên cứu những đặc trưng của cơ sở dữ liệu (Spatial database), một số khái niệm, công nghệ và thuật toán cơ bản đã được phát triển
xung quanh vấn đề quản lý cơ sở dữ liệu, bao gồm:
Chương 1: Giới thiệu chung về cơ sở dữ liệu không gian Chương này tập trung vào giới thiệu hệ quản trị cơ sở dữ liệu DBMS, trên cơ sở đó phát triển và quản trị dữ liệu không gian
Trang 8Chương 2 Mô hình hóa dữ liệu, các mối quan hệ không gian và ràng buộc toàn vẹn dữ liệu Chương này tập trung giới thiệu cách xây dựng mô hình
dữ liệu và biểu diễn các mối quan hệ không gian Dữ liệu không gian tích hợp trong cơ sở dữ liệu cần duy trì tính nhất quán điều này được thể hiện ở ràng buộc toàn vẹn dữ liệu không gian
Chương 3 Cấu trúc dữ liệu không gian, các thuật toán cơ sở và phương
thức xâm nhập dữ liệu Chương này giới thiệu cấu trúc dữ liệu không gian, các
thuật toán hình học được phát triển để thao tác với dữ liệu không gian và phương thức xâm nhập dữ liệu không gian
Chương 4 Khảo sát hệ quản trị cơ sở dữ liệu không gian thương mại và phát triển ứng dụng
Trang 9Chương 1 - Giới thiệu chung về cơ sở dữ liệu không gian
1.1 Giới thiệu chung về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là tập dữ liệu có mối quan hệ tương quan nhau
và lưu trữ trong môi trường máy tính, Database có thể được xem như một hoặc
vài file lưu trữ trên một số thiết bị nhớ ngoài Hệ quản trị cơ sở dữ liệu
(Database Management System - DBMS) là tập các phần mềm quản lý cấu trúc
cơ sở dữ liệu và điều khiển truy nhập (minh họa hình 1.1) bao gồm:
Định nghĩa cơ sở dữ liệu (Chỉ ra các kiểu dữ liệu, cấu trúc và các ràng buộc),
Thao tác, Truy vấn và Cập nhật cơ sở dữ liệu
Người sử dụng/người lập trình
Chương trình ứng dụng /Truy vấn
Phần mềm xử lý truy vấn Phần mềm truy cập dữ liệu
Lưu trữ DB Lưu trữ định nghĩa DB
(metadata)
Hình 1.1 Môi trường hệ thống cơ sở dữ liệu đơn giản
Trang 10Phần mềm của hệ quản trị cơ sở dữ liệu bao gồm hai phần, phần trên làm nhiệm vụ xử lý các truy vấn của người sử dụng, phần dưới cho phép truy nhập vào dữ liệu lưu trữ trên máy tính
Hệ quản trị cơ sở dữ liệu thường được xây dựng trên cơ sở mô hình dữ
liệu sử dụng, trước kia có mô hình dữ liệu phân cấp (hierarchical) và mô hình dữ liệu mạng (network) Ngày nay, ba mô hình cơ sở dữ liệu đang được phát triển
và sử dụng rộng rãi đó là mô hình cơ sở dữ liệu quan hệ (relational), hướng đối tượng (object-oriented), đối tượng-quan hệ (object-relational)
Mô hình dữ liệu phân cấp ngày nay đã quá lỗi thời, hệ quản trị cơ sở dữ
liệu phân cấp (hierarchical DBMS) giả sử rằng dữ liệu có mối quan hệ thứ
bậc cha và con Cấu trúc dữ liệu bắt buộc phải xây dựng phù hợp với mô hình này để thực hiện được lợi ích và hiệu quả trong quản lý
Hệ quản trị cơ sở dữ liệu mạng (network DBMS) cho phép các cấu trúc dữ liệu phức tạp được xây dựng nhưng không có tính mềm dẻo và đòi hỏi thiết kế phải hết sức cẩn thận, tuy nhiên lợi ích của mô hình này là nhanh
và hiệu quả
1.1.1 Mô hình quan hệ
Cơ sở dữ liệu quan hệ phát triển trên cơ sở mô hình quan hệ, ở đó dữ liệu
tổ chức vào các quan hệ hay các bảng Một lược đồ quan hệ bao gồm tập các tên thuộc tính và chúng được ánh xạ tới miền giá trị, lược đồ quan hệ chỉ ra cấu trúc của quan hệ chứ không chứa dữ liệu Quan hệ là tập các bản ghi lưu dữ liệu của các tập thuộc tính trong lược đồ quan hệ
Trang 11Hệ quản trị cơ sở dữ liệu quan hệ được sử dụng một cách áp đảo so với các hệ quản trị cơ sở dữ liệu khác bởi lợi ích nhanh chóng và tin cậy Tuy nhiên, với những ứng dụng lớn nó tỏ ra chậm chạp vì relation DBMS phải sử dụng rất nhiều bảng cho hàng loạt các quy tắc
1.1.2 Mô hình hướng đối tượng
Hệ quản trị cơ sở dữ liệu hướng đối tượng OODBMS (Object-oriented database management system) tích hợp giữa hướng đối tượng và cơ sở dữ liệu
Cơ sở dữ liệu hướng đối tượng được đặc trưng bởi mô hình dữ liệu hướng đối tượng và ngôn ngữ lập trình hướng đối tượng, ở đó các đơn vị dữ liệu là các đối tượng cơ sở Các đối tượng này có định danh, thuộc tính và hành vi được định nghĩa qua phương thức, tất cả được bao gói trong chính đối tượng đó
1.1.3 Mô hình đối tượng-quan hệ
Mô hình Object-relational được mở rộng từ mô hình dữ liệu quan hệ, mô
hình này là sự thỏa hiệp giữa hai khái niệm hướng đối tượng và quan hệ Ở đó các đặc trưng hướng đối tượng được tích hợp trong cơ sở dữ liệu quan hệ nhằm
sử dụng sức mạnh của mô hình hướng đối tượng trong khi đó vẫn duy trì đầy đủ các chức năng trong mô hình quan hệ
1.2 Giới thiệu về GIS (Geographic information system)
Có rất nhiều định nghĩa về GIS, một cách dễ hiểu có thể hình dung GIS là
hệ thống thông tin địa lý, về khía cạnh bản đồ học thì GIS là kết hợp của lập bản
đồ và công nghệ cơ sở dữ liệu, GIS không chỉ là công cụ tạo bản đồ mà còn lưu trữ và biểu diễn dữ liệu Sau đây là một số định nghĩa về GIS hay được sử dụng [1]
Trang 12Định nghĩa của dự án The Geographer's Craft, Khoa Địa lý, Trường Đại học Texas
GIS là cơ sở dữ liệu số chuyên dụng trong đó hệ trục tọa độ không gian là
phương tiện tham chiếu chính GIS bao gồm các công cụ để thực hiện các công việc sau đây:
Nhập dữ liệu từ bản đồ giấy, ảnh vệ tinh, ảnh máy bay, số liệu điều tra và các nguồn khác
Lưu trữ dữ liệu, khai thác, truy vấn cơ sở dữ liệu
Biến đổi dữ liệu, phân tích, mô hình hóa, bao gồm cả dữ liệu thống kê và
dữ liệu không gian
Lập báo cáo, bao gồm bản đồ chuyên đề, các bảng biểu, biểu đồ và kế hoạch
Từ định nghĩa trên thấy rõ ba vấn đề sau của GIS
Thứ nhất, GIS có quan hệ với ứng dụng cơ sở dữ liệu Toàn bộ thông tin trong GIS đều liên kết với tham chiếu không gian như phương tiện chính
để lưu trữ và xâm nhập thông tin
Thứ hai, GIS là công nghệ tích hợp Hệ GIS đầy đủ có đầy đủ khả năng phân tích, bao gồm phân tích ảnh máy bay, ảnh vệ tinh hay tạo lập mô hình thống kê, vẽ bản đồ Cuối cùng, GIS được xem như tiến trình không chỉ là phần cứng, phần mềm rời rạc mà GIS còn được sử dụng vào trợ giúp quyết định Cách thức nhập, lưu trữ, phân tích dữ liệu trong GIS phải phản ánh đúng cách thức thông tin sẽ được sử dụng trong công việc lập quyết định hay nghiên cứu cụ thể
Trang 13Định nghĩa của Viện Nghiên cứu Hệ thống Môi trường ESRI, Mỹ
GIS là công cụ trên cơ sở máy tính để lập bản đồ và phân tích những cái đang tồn tại và các sự kiện xảy ra trên Trái đất Công nghệ GIS tích hợp các thao tác cơ sở dữ liệu như truy vấn và phân tích thống kê với lợi thế quan sát và phân tích thống kê bản đồ Các khả năng này sẽ phân biệt GIS với các hệ thông tin khác Có rất nhiều chương trình máy tính sử dụng dữ liệu không gian như AutoCAD và các chương trình thống kê, nhưng chúng không phải là GIS vì chúng không có khả năng thực hiện các thao tác không gian
Định nghĩa của David Cowen, NCGIA, Mỹ
GIS là hệ thống phần cứng, phần mềm và các thủ tục được thiết kế để thu thập, quản lý, xử lý, phân tích, mô hình hóa và hiển thị các dữ liệu qui chiếu không gian để giải quyết các vấn đề quản lý và lập kế hoạch phức tạp
Độ phức tạp của thế giới thực là không giới hạn Càng quan sát thế giới gần hơn càng thấy được chi tiết hơn Con người mong mỏi lưu trữ, quản lý đầy
đủ các dữ liệu về thế giới thực Nhưng sẽ dẫn đến phải có cơ sở dữ liệu lớn vô hạn để lưu trữ mọi thông tin chính xác về chúng Do vậy, để lưu trữ được dữ liệu không gian của thế giới thực vào máy tính thì phải giảm số lượng dữ liệu
đến mức có thể quản lý được bằng tiến trình đơn giản hóa hay trừu tượng hóa
(hình 1.2)
Trang 14Ý nghĩa chủ yếu của tin học hóa thông tin địa lý là khả năng tích hợp các kiểu và nguồn dữ liệu khác biệt Mục tiêu của GIS là cung cấp cấu trúc một cách
hệ thống để quản lý các thông tin địa lý khác nhau và phức tạp, đồng thời cung cấp các công cụ, các thao tác hiển thị, truy vấn, mô phỏng
GIS lưu trữ thông tin thế giới thực thành các tầng (layer) bản đồ chuyên
đề mà chúng có khả năng liên kết địa lý với nhau (hình 1.3) Mỗi nhóm người sử dụng sẽ quan tâm nhiều hơn đến một hay vài loại thông tin Thí dụ, Sở Giao thông công chính sẽ quan tâm nhiều đến hệ thống đường phố Sở Nhà đất quan
Thế giới thực
Hình 1.2 Hệ thông tin địa lý
CSDL
Phần mềm công
cụ
Người sử dụng
Kết quả
Trừu tượng hóa
đơn giản hóa
hố
Tầng Khách hàng
Tầng Biên
hành chính
Trang 15tâm nhiều đến các khu dân cư và công sở Sở Thương mại quan tâm nhiều đến phân bổ khách hàng trong vùng Tư tưởng tách bản đồ thành tầng tuy đơn giản nhưng khá mềm dẻo và hiệu quả, giúp giải quyết rất nhiều vấn đề về thế giới thực
1.3 Mô hình cơ sở dữ liệu không gian
1.3.1 Giới thiệu
Như phần trên đã giới thiệu thì dữ liệu GIS cần phải được lưu trữ và quản
lý cả dữ liệu không gian và dữ liệu số và được điều khiển trực tiếp bởi ứng dụng hoặc hệ quản trị cơ sở dữ liệu Hệ thống ứng dụng GIS có thể điều khiển dữ liệu trực tiếp từ file, tuy nhiên điều này dẫn đến mất đi tính độc lập, bảo mật và sự thống nhất trong điều khiển dữ liệu do những đặc trưng sau [2]:
Cấu trúc dữ liệu không gian rất phức tạp Một đối tượng có thể chỉ đơn thuần là một điểm nhưng cũng có thể được tạo nên từ hàng nghìn đa giác phân bố tuỳ ý trong không gian Việc lưu trữ tập dữ liệu như thế không thể
sử dụng một bảng quan hệ với các bản ghi kích thước cố định mà đòi hỏi phải xây dựng cấu trúc dữ liệu khác phù hợp
Dữ liệu không gian luôn có sự thay đổi, do đó cần phải linh hoạt trong tổ chức dữ liệu, hỗ trợ các thao tác bổ sung, loại bỏ, cập nhật với thời gian đáp ứng nhanh nhất
Dữ liệu không gian thường có dung lượng rất lớn Việc lưu các bản đồ địa
lý có thể cần đến hàng gigabyte bộ nhớ
Với những lý do này thì hệ quản trị cơ sở dữ liệu, cần phải tích hợp, biểu diễn và tháo tác với thông tin địa lý cùng với dữ liệu truyền thống tại mức logic
Trang 16và hỗ trợ một cách hiệu quả ở mức vật lý để lưu trữ và xử lý thông tin về không gian Sau đây là các yêu cầu cần thiết cho việc xây dựng cơ sở dữ liệu không
gian (Spatial database - SDB -)
Trước hết, đó phải là một hệ cơ sở dữ liệu,
Các kiểu dữ liệu không gian phải được cung cấp trong các mô hình dữ liệu
và ngôn ngữ truy vấn, các phép toán truy vấn quan hệ như phép nối, chọn,
… Có thể được sử dụng ở Hệ quản trị cơ sở dữ liệu không gian Spatial database management system- ) Cần thiết xây dựng thêm một số
(SDBMS-phép toán mới với các kiểu dữ liệu hình học,
Biểu diễn dữ liệu logic phải được mở rộng tới dữ liệu kiểu hình học và thoả mãn tính độc lập dữ liệu, duy trì tính đơn giản nhất có thể và tính đóng đối với người sử dụng,
Ngôn ngữ truy vấn phải tích hợp với các hàm nhằm hỗ trợ xây dựng ứng một cách phong phú các đối tượng hình học,
Có thể biểu diễn vật lý một cách hiệu quả dữ liệu không gian,
Truy nhập dữ liệu không gian một cách hiệu quả, hiện nay, B-tree không còn là tiếp cận với truy nhập dữ liệu không gian Và theo đó chúng ta cần xây dựng cấu trúc mới cho việc đánh chỉ mục cơ sở dữ liệu không gian Xuất phát từ những yêu cầu trên, có ba cách tiếp cận khi xây dựng hệ quản
trị cơ sở dữ liệu không gian Relational DBMS
1.3.2 Sử dụng mô hình cơ sở dữ liệu quan hệ
Sử dụng hệ quản trị cơ sở dữ liệu quan hệ để quản lý GIS có những đặc trưng chính như:
Trang 17 Biểu diễn các đối tượng bằng các quan hệ (bảng) Mỗi hàng thể hiện một đối tượng, mỗi cột là thuộc tính mô tả đối tượng đó,
Thuộc tính có kiểu alphanumeric (ví dụ như Strinh hay real),
Truy vấn dựa vào SQL,
Đây là cách tiếp cận xoay quanh chuẩn SQL, nhưng khi điều khiển các ứng dụng về không gian địa lý có những hạn chế sau:
Vi phạm nguyên lý độc lập dữ liệu, các truy vấn trên đối tượng đòi hỏi có hiểu biết về cấu trúc các đối tượng không gian sự thay đổi cấu trúc dẫn đến phải tổ chức lại cơ sở dữ liệu và thay đổi công thức truy vấn,
Cần đến số lượng lớn các dòng dữ liệu thể hiện dữ liệu không gian,
Cuối cùng là thiếu đi sự thân thiện với người sử dụng Rất khó định nghĩa kiểu không gian mới, đặc biệt là khó kiểm tra các phép toán cơ bản
1.3.3 Sử dụng kiến trúc song song
Hiện nay rất nhiều hệ đã được biết đến khi xây dựng các ứng dụng GIS
như: ArcInfo (ESRI), MGE và TIGISs sử dụng cách tiếp cận này Kiến trúc này
tách riêng việc quản lý dữ liệu mô tả (dữ liệu dạng alphanumeric) với quản lý dữ liệu không gian, gồm hai hệ thống cùng xuất hiện hình 1.4
Trang 18Bao gồm:
Hệ quản trị cơ sở dữ liệu quan hệ và một số thành phần ở đó mô tả dữ liệu kiểu alphanumeric,
Các chức năng cho việc quản lý dữ liệu không gian
Tuy nhiên tiếp cận này cũng có mặt hạn chế như:
Hai thành phần trên xuất hiện cùng nhau mà mô hình dữ liệu của chúng lại không đồng nhất, do vậy khi mô hình phải sử dụng kết hợp những thực thi khác nhau,
Mất một phần chức năng cơ bản của Hệ quản trị cơ sở dữ liệu như: Phục hồi, sao lưu dữ liệu, truy vấn và tối ưu dữ liệu
Trang 191.3.4 Tích hợp trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu
Mô hình này đã nhận được sự quan tâm rất lớn từ nhiều năm trước đó ở nhiều ứng dụng và được phát triển trên cơ sở thêm các kiểu, các toán tử mới vào
hệ thống cơ sở dữ liệu quan hệ như sau:
Ngôn ngữ truy vấn SQL được mở rộng để thực thi dữ liệu không gian Toán tử không gian được điều khiển trên cơ sở các kiểu dữ liệu alphanumeric,
Một số chức năng khác của cơ sở dữ liệu như tối ưu hoá truy vấn, được sửa đổi nhằm thích nghi với các dữ liệu không gian một cách hiệu quả
Hầu hết các hệ quản trị cơ sở dữ liệu có sẵn đều sử dụng cách tiếp cận mở rộng không gian ví dụ như Oracle (Bắt đầu từ phiên bản 8i) và PostgreSQL
1.4 Kết luận
Xây dựng và phát triển cơ sở dữ liệu không gian hiệu quả sử dụng mô
hình object-relational hay có thể nói tích hợp dữ liệu không gian vào cơ sở dữ
liệu quan hệ trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu, như vậy sẽ tận dụng được sức mạnh của hướng đối tượng mà vẫn duy trì được các chức năng quan trọng trong cơ sở dữ liệu quan hệ Tích hợp dữ liệu không gian như thế nào? Sẽ được đề cập ở chương 3 Cấu trúc dữ liệu không gian, các thuật toán cơ sở và phương thức xâm nhập
Trang 20Chương 2 - Mô hình dữ liệu, mối quan hệ và ràng buộc
không gian
2.1 Giới thiệu
Mô hình hóa dữ liệu không gian là vô cùng quan trọng trong việc tích hợp
và biểu diễn dữ liệu không gian trong cơ sở dữ liệu Các mối quan hệ không gian cũng rất cần thiết bởi các lý do sau:
Cho việc thực thi các truy vấn không gian Truy vấn trong cơ sở dữ liệu không gian hay GIS thường được thực hiện trên cơ sở các mối quan hệ giữa các đối tượng không gian Ví dụ, lấy toàn bộ lô đất kề với lô đất A, truy vấn này liên quan đến các điều kiện mà ngôn ngữ SQL thông thường không đáp ứng được Các mối quan hệ không gian là cần thiết cho cả công thức truy vấn và các mức xử lý,
Thỏa mãn tính nhất quán của cơ sở dữ liệu Các mối quan hệ không gian cũng được sử dụng để tính toán các ràng buộc trong cơ sở dữ liệu không gian Ví dụ kiểm tra ràng buộc “Hai lô đất phải chồng lên nhau” trong cơ
sở dữ liệu địa chính chẳng hạn Các mối quan hệ không gian cung cấp ý nghĩa trong việc định nghĩa và điều khiển các ràng buộc trong cơ sở dữ liệu do đó các công thức cơ sở cho các mối quan hệ không gian được thành lập và là thành phần quan trọng trong việc phát triển GIS
Các ràng buộc toàn vẹn và thống nhất dữ liệu là điều kiện cần cho việc điều khiển và thống nhất dữ liệu trong cơ sở dữ liệu sao cho nó thỏa mãn tính nhất quán, hợp lệ và dễ sử dụng
Trang 21Các phần dưới đây sẽ trình bày kĩ hơn về mô hình dữ liệu không gian, mối quan hệ và ràng buộc không gian
2.2 Mô hình dữ liệu không gian
Cơ sở dữ liệu không gian cho phép quản lý dữ liệu không gian trong mô hình dữ liệu và ngôn ngữ truy vấn, vấn đề rất quan trọng cần quan tâm là làm thế nào để mô hình hóa các đối tượng không gian Có hai vấn đề mà cần được biểu diễn đó là: (i) Đối tượng trong không gian, là các đối tượng thực trong tự nhiên được mô tả bởi hình dáng của nó như: sông, thành phố, rừng và (ii) không gian Nói một cách khác hai vấn đề này có thể được xem như: (i) Các đối tượng đơn lẻ
và (ii) Tập các đối tượng không gian
Các đối tượng độc lập được biểu diễn một cách trừu tượng bởi điểm, đọan thẳng và miền (minh họa hình 2.1)
Hình 2.1 Các kiểu cơ bản: Điểm, đoạn thẳng và miền
Tập các đối tượng có hai vấn đề đó phân cắt và mạng, phân cắt được xem như tập các đối tượng (miền) không giao nhau, các miền này phân chia vùng thành nhiều vùng con (hình 2.2), mạng có các đặc trưng như nút và tập đọan thẳng mô tả các cạnh, chi tiết sẽ được thể hiện ở phần sau
Trang 22Hình 2.2 Phân cắt và mạng
Dữ liệu không gian được tổ chức theo những cách khác nhau và được
minh họa như hình 2.3 Gồm mô hình raster và vectơ, chúng thường được xem như mô hình field-based hay object-based Biểu diễn raster sử dụng tessellations
cho việc mô hình hóa tập dữ liệu và biểu diễn vectơ thì đối tượng là đơn vị cơ
sở, đồng thời có hai cấu trúc thể hiện tập các đối tượng đó là: Có cấu trúc (như
tôpô, network) và phi cấu trúc (spagetti) Mô hình tôpô tương đối phổ biến, nó
ko đơn giản như cấu trúc spagetti
Raster Field-base
Vector Object-base hay Entity base
Tessellation Lưới đều
Mô hình dữ liệu không gian
Tessellation Lưới không đều
Có cấu trúc Tôpô, Network
Không cấu trúc Spagetti
Hình 2.3 Các mô hình dữ liệu không gian
2.2.1 Mô hình dữ liệu raster
Phương pháp biểu diễn các đặc trưng địa lý bằng các điểm ảnh được gọi là
phương pháp raster hay mô hình dữ liệu raster Tiến trình xây dựng lưới tế bào
được thực hiện như sau:
Trang 23Giả sử phủ một lưới trên bản đồ gốc, dữ liệu raster được lập bằng cách mã hóa mỗi tế bào bằng một giá trị dựa theo các đặc trưng trên bản đồ (hình 2.4) Trong thí dụ này, đặc trưng "đường" được mã hóa là 2, đặc trưng "điểm" được
mã hóa là 1 còn đặc trưng "vùng" được mã hóa là 3 Kiểu dữ liệu của tế bào trong lưới phụ thuộc vào thực thể được mã hóa; Có thể sử dụng số nguyên, số thực, ký tự hay tổ hợp chúng để làm giá trị Độ chính xác của mô hình này phụ thuộc vào kích thước hay độ phân giải của các tế bào lưới Một điểm có thể là một tế bào, một đường là vài tế bào kề nhau, một vùng là tập hợp nhiều tế bào Mỗi đặc trưng là tập tế bào đánh số như nhau (có cùng giá trị)
Hình dạng hình học bao phủ toàn bộ mặt phẳng được gọi là "khảm"
(tessellation) Minh họa hình 2.5
Điểm Vùng
Đường
Hàng C
Trang 24Biểu diễn raster phù hợp với mô hình dữ liệu field-based bởi đối với kiểu
dữ liệu entity-base thì đối tượng không gian trong không gian hai chiều được
biểu diễn bởi tập các điểm nằm trong nó, mỗi điểm được coi như một điểm ảnh,
vị trí của nó chính là địa chỉ của điểm ảnh và việc thể hiện đối tượng một cách trung thực là một điều vô cùng quan trọng nhưng mỗi đối tượng chiếm một không gian bộ nhớ khá lớn, ngoài ra còn có thêm các toán tử trên các đối tượng Đây chính là điểm hạn chế dẫn đến phải có cách biểu diễn khác với mô hình dữ
liệu entity base tuy nhiên, thông tin đôi khi có thể được nén
Đối với dữ liệu field-base thì thực tế phương pháp này có thể gặp ở trong
các ứng dụng xử lý ảnh chụp từ xa (ảnh vệ tinh), dự báo thời tiết hoặc ô nhiễm
môi trường Do vậy dữ liệu field- base thể hiện hàm từ không gian tới phạm vi
như nhiệt độ hoặc là độ cao so với mặt biển Tuy nhiên miền các hàm này không còn là tập giới hạn các điểm nữa mà là tập vô hạn các điểm Nói một cách khác không gian không được coi như trường liên tục nữa mà rời rạc khi biểu diễn dữ liệu
Tóm lại, Lợi thế lớn nhất của hệ thống raster là dữ liệu hình thành nên bản
đồ trong bộ nhớ máy tính, các thao tác kiểu như so sánh lưới tế bào được thực hiện dễ dàng Tuy nhiên hệ thống raster sẽ không thuận tiện cho việc biểu diễn
Hình 2.5 "Khảm" mặt phẳng
Tế bào chữ nhật Tế bào lục giác Tế bào tam giác
Trang 25đường, điểm vì mỗi loại là tập các tế bào trong lưới Đường thẳng có thể bị đứt
đoạn hay rộng hơn
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 độ
Hình 2.6 Các thành phần hình học cơ sở
Trang 26Biể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
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
Bệnh
Thế giới thực
Các tầng bản đồ
Trang 27tượ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-(3-cell) được tạo từ một hay nhiều cung (1-(3-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ả
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
Trang 28rằ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
Trang 29Vớ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
Trang 30cá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 ()
Trang 31Như đã đề 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
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
Trang 32thể 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
(6, 5)
(8, 2)
(10, 5)
Hình 2.11 Polyline L
Trang 33Biểu diễn ràng buộc như sau:
(y xy 1 x 3y 16 0 3x 2y 15 0)
(x 9 y 1 3x 2y 15 0)
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
Trang 34Thuậ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):
[( 4 x 6 3 y 5 xy 1 0 ) s
0 28 2 3 5 2
8
6 x y x y
0 20 2 3 5 2
9 8
Trang 35Mộ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
cấu
trú
c
R
Sửa
ch
ữ
Kiểm
h
q’() )
Trang 362.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
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
2.3.1 Quan hệ tôpô
Có hai tiếp cận trong việc định nghĩa quan hệ tôpô [6]
Trang 37 Thứ nhất, quan hệ tôpô được phát triển trên cơ sở lý thuyết tập hợp sử
dụng (1) hàm point(x), định nghĩa tập các điểm trong miền không gian x
và (2) Định nghĩa mối quan hệ: Bằng, không bằng, bên trong, bên ngoài
và giao nhau Tuy nhiên tiếp cận này tỏ ra không được tối ưu, chẳng hạn phép toán meet và overlay cũng được thể hiện bởi định nghĩa giao nhau
o x = y thể hiện rằng point(x) = point(y)
o x y thể hiện rằng point(x) point(y)
o x inside y thể hiện rằng point(x) point(y)
o x outside y thể hiện rằng point(x) point(y) =
o x intersects y thể hiện rằng point(x) point(y)
Thứ hai: Đại số tôpô, sử dụng các phép đại số mô tả mối quan hệ không gian trên cơ sở khái niệm đơn giản
Tiếp cận tập các điểm là mô hình tổng quát cho các mối quan hệ tôpô, được định nghĩa bởi ba thành phần cơ bản của đối tượng đó là: Bên trong
interior (định nghĩa là 0), biên boundary (Định nghĩa là ), bên ngoài exterior (Định nghĩa là -) Minh họa hình 2.16
Hình 2.16 Ba thành phần cơ bản của quan hệ
Mối quan hệ tôpô nhị phân giữa hai đối tượng không gian đã được đề xuất
trên cơ sở mô hình 4-intersection Trong mô hình này, tất cả các mối quan hệ có
Trang 38thể giữa hai đối tượng A và B đã được đưa ra bởi bốn phép giao giữa biên, bên trong A và biên, bên trong B đó là:
Giao của hai biên được định nghĩa bởi A B,
Biên A giao với trong B định nghĩa bởi A B0,
Bên trong A với trong B định nghĩa bởi A 0 B0,
Bên trong A giao với biên B định nghĩa bởi A0 B
Một cách tổng quát thì mô hình 4-intersection được thể hiện bởi công thức
B A B A B A
0 0 0
Trang 39Bảng 2.1 Mô tả các mối quan hệ không gian trong 4-intersection
Mô hình 4-intersection chỉ quan tâm đến biên và bên trong đối tượng
trong không gian hai chiều, điều này cũng không thể hiện hết các quan hệ với hai đối tượng bất kỳ và với số chiều khác nhau Để có thể nhận tất cả các mối quan
hệ tôpô giữa hai đối tượng không gian bất kì A và B, thì chúng được phân loại thêm: Biên A (A), trong A (A0), bên ngoài A (A), biên B (B), trong B (B0)
và ngoài B (B) và đây chính là mô hình 9-intersection Có các mối quan hệ sau:
Phần trong A giao với phần trong B: A 0 B0,
Giao phần trong A với biên B: A0 B,
Giao phần trong A với phần ngoài B: A0 B,
Giao biên với biên: A B,
Biên giao với phần trong: A B0,
Biên giao với phần ngoài: AB,
Giao của hai phần ngoài: A B,
Giao ngoài với đường biên: A B,
Trang 40 Giao phần ngoài với phần trong A B0
Một cách tổng quát thì các phép giao trong mô hình 9-intersection được
thể hiện bởi công thức
B A B A B A
B A B A B A B
A
R
0 0
0 0
0 0
) ,
(
Tương tự như trên, mỗi phép giao có thể rỗng hoặc không rỗng, mô hình này tổng cộng có 29 = 512 mối quan hệ giữa hai đối tượng Các mối quan hệ này loại trừ lẫn nhau truy nhiên nó chỉ hợp lệ trông không gian hai chiều
Để có thể phân loại được các mối quan hệ thể hiện đặc trưng của từng loại đối tượng địa lý Thì điểm, đường thẳng và vùng phân thành 6 nhóm quan hệ đó
là: điểm/điểm, điểm/đường thẳng, điểm/miền, đường thẳng/ đường thẳng, đường thẳng/vùng, vùng/vùng bảng 2.2.Các nhóm này tương ứng trong không gian 2D
Nhóm các quan hệ 9-intersection 4- intersection