Trong phần xây dựng thuật toán tạo lưới tam giác Delaunay ràng buộc, tác giả chú trọng phần xử lý khi các cạnh ràng buộc cắt nhau không được nêu lên trong [7] [6] và thực hiện đồng thời
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN MINH NAM
PHÁT TRIỂN CÁC MÔ HÌNH VÀ THUẬT TOÁN BIỂU DIỄN, XỬ LÝ, KHAI THÁC DỮ LIỆU KHÔNG GIAN VÀ ỨNG DỤNG GIẢI MỘT
SỐ BÀI TOÁN GIS
Chuyên ngành: Đảm bảo toán học cho máy tính và
hệ thống tính toán
Mã số chuyên ngành: 1.01.10
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
Tp Hồ Chí Minh, năm 2011
Trang 2Công trình được hoàn thành tại: Khoa Công Nghệ Thông Tin, Trường Đại Học Khoa Học Tự Nhiên
Người hướng dẫn khoa học: GS.TSKH Hoàng Văn Kiếm
Phản biện 1: PGS TS Dương Anh Đức
Phản biện 2: PGS TS Trần Vĩnh Phước
Phản biện 3: TS Đặng Trường Sơn
Phản biện độc lập 1: PGS TS Trần Văn Lăng
Phản biện độc lập 2: PGS TS Lê Văn Trung
Phản biện độc lập 3: PGS TS.Trần Vĩnh Phước
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án họp tại trường Đại học Khoa Học Tự nhiên vào lúc………., ngày… tháng… năm…
Có thể tìm hiểu luận án tại thư viện:
- Thư viện Khoa học Tổng hợp Tp.HCM
- Thư viện Trường Đại học Khoa học Tự Nhiên
Trang 31 Tổng quan
1.1 Yêu cầu thực tiễn và lý do thực hiện đề tài
Việc nghiên cứu, ứng dụng khoa học công nghệ nhằm đạt tới trình độ tiên tiến của các nước trong khu vực, góp phần tạo ra các bước đổi mới mạnh mẽ về công nghệ trong việc phát triển các sản phẩm, dịch vụ giá trị gia tăng có hàm lượng trí tuệ cao để phục vụ hiệu quả cho các lĩnh vực phát triển kinh tế-xã hội và bảo đảm an ninh-quốc phòng đã và đang trở thành mục tiêu chủ đạo của quốc gia Một trong các hướng phát triển công nghệ chủ đạo chính là lĩnh vực Công nghệ Thông tin mà hệ thống Thông tin Địa lý (GIS) là chuyên ngành hẹp
1.2 Mục tiêu luận án
Xuất phát từ yêu cầu thực tiễn, đề tài đặt ra mục tiêu phát triển một số mô hình thuật toán giải quyết các vấn đề nền tảng trong GIS Một loạt các thuật toán xử lý không gian cần được giải quyết với thời gian thực thi hiệu quả để đáp ứng yêu cầu thực tế
Những mục tiêu cụ thể được đề ra và thực hiện trong luận án gồm:
Nghiên cứu mô hình biểu diễn tích hợp dữ liệu không gian và thuộc tính trong một hệ thống khai thác thống nhất
Nghiên cứu và cài đặt các thuật toán khai thác dữ liệu không gian, tìm kiếm lân cận
Trang 4lưới tam giác tương ứng được nêu trong mục 2.2.1.3 Trong phần xây dựng thuật toán tạo lưới tam giác Delaunay ràng buộc, tác giả chú trọng phần xử lý khi các cạnh ràng buộc cắt nhau không được nêu lên trong [7] [6] và thực hiện đồng thời việc kiểm tra cắt cạnh ràng buộc, thêm đỉnh mới vào lưới tam giác (giao của hai cạnh ràng buộc nếu có) và hiệu chỉnh toàn bộ thông tin chèn cạnh trong một lần duyệt khác với [8] Kết quả so sánh các thuật
toán có thể xem trong các (Bảng 1, Bảng 2, Bảng 3) Để các thuật toán xây dựng lưới tam
giác ứng dụng vào thực tế, tác giả đã phải giải quyết một loạt các bài toán sai số gặp phải
Kỹ thuật xử lý sai số được đề cập trong mục 2.2.3
Dòng các thuật toán tìm kiếm như tìm đối tượng lân cận gần nhất hay tìm đối tượng theo tuyến đều sử dụng cấu trúc băm của thuật toán chèn đỉnh tuần tự được nêu trong mục 2.2.1.1 nên không cần công đoạn tiền xử lý như trong [9] [10] Xem cơ cấu hoạt động trong Hình 5 Riêng với loại bài toán tìm k-lân cận gần nhất tác giả đã cho phép mở rộng khả năng tìm kiếm đồng thời cho tất cả các đối tượng không gian cơ bản: điểm, đường và vùng (xem 3.3.1)
Các bài toán GIS cơ bản: lấy vùng đệm của đối tượng (4.1.1), hiệu chỉnh dữ liệu (4.1.2) hay nhóm bài toán giao thông: xây dựng mạng lưới giao thông (4.2.2) đều dựa trên cấu trúc lưới tam giác Delaunay hoặc Delaunay ràng buộc Kết quả so sánh các thuật toán này xem
- Cải tiến thuật toán tạo lưới tam giác bằng phương pháp chèn đỉnh tuần tự
- Xây dựng thuật toán tạo lưới tam giác Delaunay theo phương pháp song song
- Xây dựng thuật toán tạo lưới tam giác Delaunay ràng buộc với khả năng xử lý sai số
- Xây dựng một số thuật toán trong GIS dựa trên lưới tam giác Delaunay và lưới tam giác Delaunay ràng buộc (hiệu chỉnh dữ liệu, lấy vùng đệm, tìm lân cận, tìm kiếm lân cận theo tuyến)
- Xây dựng mô hình biểu diễn mạng giao thông thực tế và hiện thực một số thuật toán cơ bản (xây dựng mạng giao thông từ dữ liệu thô, tìm đường đi ngắn nhất…)
- Xây dựng thuật toán tạo lưới địa hình 3 chiều nhanh từ tập điểm độ cao, đường bình độ
2 Xử lý dữ liệu không gian
Trong chương này, tác giả tổng quan một số cấu trúc chỉ mục không gian nhằm nâng cao hiệu suất truy vấn và xử lý như R-Tree, Kd-Tree Các cấu trúc chỉ mục này thường chú trọng việc hỗ trợ truy xuất nhanh đến các đối tượng không gian nhưng còn hạn chế cho các
Trang 5thao tác xử lý thông tin không gian Còn một trong các cấu trúc quan trọng hỗ trợ tốt các thao tác xử lý dữ liệu không gian là lưới tam giác Delaunay Tuy nhiên, các thuật toán xây dựng lưới tam giác rất phức tạp nên còn hạn chế ứng dụng trong các hệ thống khai thác dữ liệu không gian thương mại Vì vậy, ở đây tác giả tập trung nghiên cứu mô hình và các thuật toán xây dựng lưới tam giác Delaunay nhằm cải tiến tốc độ thực thi của chúng
2.1 Cấu trúc chỉ mục không gian
Cấu trúc chỉ mục không gian được sử dụng trong các hệ cơ sở dữ liệu không gian để tối
ưu hóa truy vấn không gian Một cách tiếp cận thông dụng là dùng ngăn chứa dữ liệu dựa vào khái niệm khung bao chữ nhật nhỏ nhất Các đối tượng được gom nhóm thành các phân cấp, rồi lưu trữ chúng trong một cấu trúc chẳng hạn như: Kd-tree, R-tree…
2.2 Lưới tam giác Delaunay
Lưới tam giác Delaunay là cấu trúc hình học đa dụng và được sử dụng trong rất nhiều lĩnh vực như hệ thống thông tin địa lý (GIS), vật lý, thiên văn học, tìm kiếm lân cận, phần tử hữu hạn, đồ họa máy tính và đa phương tiện… Bài toán xây dựng lưới tam giác Delaunay là bài toán cơ bản trong hình học tính toán
Lưới tam giác T(V) của tập đỉnh V trên mặt phẳng R2 là tập các cạnh E cần thỏa:
Không có hai cạnh nào trong E cắt nhau ở một đỉnh không thuộc V và
Các cạnh trong E chia bao lồi của tập đỉnh V ra thành các tam giác
Hình 1 Lưới tam giác Delaunay Hình 2 Một tập các ràng
buộc S
Hình 3 Lưới tam giác Delaunay ràng buộc của S B.N Delaunay đã đưa ra tiêu chuẩn dựa vào tính chất đường tròn rỗng để xác định một lưới tam giác có thỏa điều kiện Delaunay hay không Lưới tam giác T(V) là lưới tam giác Delaunay DT(V) nếu đường tròn ngoại tiếp của bất kỳ tam giác nào cũng không chứa bất kỳ đỉnh nào của V bên trong nó Lưới tam giác Delaunay ràng buộc CDT là sự mở rộng của lưới tam giác Delaunay DT để điều khiển các ràng buộc Ta có thể nói rằng CDT là lưới tam giác gần nhất với DT với một số các ràng buộc bổ sung
2.2.1 Các thuật toán xây dựng lưới tam giác Delaunay
2.2.1.1 Phương pháp chèn đỉnh tuần tự
Trang 6Thực hiện chèn tuần tự từng điểm vào lưới tam giác đang tồn tại Thuật toán này có tốc
độ chậm nhất so với các hướng tiếp cận khác nhưng với kỹ thuật xác định nhanh điểm thêm vào thuộc tam giác nào trong lưới đã tăng đáng kể tốc độ thực thi Hơn nữa, thuật toán này dễ dàng áp dụng lưu trong bộ nhớ ngoài nên cho phép làm việc với dữ liệu lớn
Xác định vị trí các đỉnh trong lưới tam giác:
Cho một phân hoạch phẳng trên mặt phẳng R0 (trong trường hợp này là lưới tam giác)
và một đỉnh x, y Cần tìm một phần tử của phân hoạch phẳng r0 j (tam giác) chứa đỉnh
đã cho Để làm điều đó ta cần xây dựng một phân hoạch đơn giản hơn R0 là R1 phủ lên R0
mà trên đó thực hiện nhanh quá trình xác định đỉnh cần tìm Sau đó đặt mối tương quan giữa phần tử r1 i của phân hoạch R1 và phần tử r0 j của phân hoạch R0 sao cho phần tử
r0 j gần phần tử r1 i nhất có thể Bắt đầu từ phần tử r1 i thông qua chuỗi các tìm kiếm qua các phần tử lân cận sẽ sẽ tìm được phần tử đích r0 taget Sau khi thực hiện thành công quá trình tìm kiếm ta có thể thay thế tương ứng r1 i → r0 j bằng một tương ứng khác tốt hơn chính là r1 i → r0 taget Do vậy, quá trình tìm kiếm sẽ ngày càng nhanh
Bây giờ ta sẽ tìm cách chọn lựa phân hoạch R1 tốt nhất có thể Giải pháp cụ thể được đề nghị ở đây là chọn phân hoạch R1 là khung lưới chữ nhật đều Ví dụ ta có một phân hoạch phủ hoàn toàn lên hình vuông kính lưới 0,1 × 0,1 thì có thể chia nó thành m2 phần là ô lưới hình vuông Đánh số thứ tự các ô lưới đó theo số tự nhiên: i, j ∈ 0, m − 1 N: r1 ij Khi đó, với đỉnh cho trước x, y một cách tức thời ta có thể xác định được hình vuông
r1 x
m ,my , ở đây … là ký hiệu lấy phần nguyên Một trong các cải tiến đáng kể là kích thước lưới chữ nhật phân hoạch sẽ tăng dần theo số lượng đỉnh thêm dần vào lưới để cho ở mọi thời điểm, mỗi ô lưới sẽ chỉ phải phủ một số lượng tam giác xác định đủ nhỏ để quá trình dò tìm lân cận là ít nhất có thể Ví dụ khi kích thước lưới chữ nhật tăng lên hai lần theo mỗi chiều, ta cần chép thông tin từ mỗi ô cũ sang các ô mới như sau:
∀𝑖, 𝑗: 0, 𝑚 : 𝑟𝑜𝑙𝑑 − 1 1𝑛𝑒𝑤 2𝑖,2𝑗 , 𝑟1𝑛𝑒𝑤 2𝑖,2𝑗 +1 ,𝑟1𝑛𝑒𝑤 2𝑖+1,2𝑗 , 𝑟1𝑛𝑒𝑤 2𝑖+1,2𝑗 +1 ← 𝑟1𝑜𝑙𝑑 𝑖,𝑗 (1) Vậy kích thước lưới chữ nhật sau mỗi lần hiệu chỉnh sẽ tăng lên 4 lần Khởi tạo các giá trị ban đầu các ô lưới tham chiếu tới rỗng Ô lưới nào chứa trọng tâm của tam giác đầu tiên thì đặt tham chiếu đến tam giác đó Tam giác đầu tiên được tạo ra từ ba đỉnh nhân tạo thêm vào như Hình 4 Cần lưu ý rằng nếu có nhiều tam giác cùng phủ lên một ô lưới thì ta chỉ tham chiếu đến một tam giác được cập nhật cuối cùng nhất
Từ một đỉnh kế tiếp tuần tự thêm vào lưới tam giác, một cách tức thời ta có thể xác định ngay nó thuộc r1 i Từ r1 i ta tham chiếu được tam giác r0 j Nếu đó chưa phải là tam
Trang 7giác chứa đỉnh thêm vào thì thực hiện lần theo các tam giác lân cận dựa trên mô hình biểu diễn để hướng đến tam giác cần tìm r0 taget (xem Hình 5)
Hình 4 Phát sinh ba đỉnh nhân tạo tạo
thành siêu tam giác Hình 5 Xác định đỉnh thuộc tam giác
Độ phức tạp trung bình của thuật toán này với tập N điểm phân bố ngẫu nhiên là O(N)
2.2.1.2 Phương pháp chia để trị
Ý tưởng chủ đạo của nguyên lý chia để trị để xây dựng lưới tam giác Delaunay là thực hiện đệ qui chia tập đỉnh ban đầu thành hai tập con có kích thức xấp xỉ nhau cho đến khi mỗi tập dữ liệu con chỉ chứa số lượng đỉnh đủ nhỏ cho việc xây dựng lưới tam giác dễ dàng Giả sử 𝑉 = 𝑉00 là tập đỉnh ban đầu, và giả sử các tập con 𝑉01 và 𝑉11 là kết quả của lần đầu tiên phân rã V ở mức 𝑘 = 1 Chúng ta có thể giả định rằng 𝑉01 nằm bên trái của 𝑉11 và hoành độ x của các đỉnh 𝑉01 là nhỏ hơn của 𝑉11 Thể hiện dưới đây là sự đệ qui phân rã tập
𝑉 cho ba mức đầu tiên, khi tập con 𝑉𝑖𝑘 ở mức k sẽ được chia thành hai tập con 𝑉2𝑖𝑘+1 và
𝑉2𝑖+1𝑘+1 cho mức kế tiếp 𝑘 + 1
Hình 6 Sơ đồ phân rã tập đỉnh trong thuật
toán chia để trị
Hình 7 Sơ đồ ghép lưới tam giác trong
thuật toán chia để trị Mỗi lưới tam giác Delaunay chỉ chứa một số tam giác được xây dựng từ tập đỉnh ở mức cuối cùng nhất Cặp lưới tam giác kề cận sẽ được ghép lại và mỗi lưới tam giác ghép là một lưới tam giác Delaunay Điều đó có nghĩa là mỗi lưới tam giác ghép phải thỏa điều kiện Delaunay và biên của lưới phải là bao lồi Quá trình này còn tiếp tục cho đến khi các
step 1
r0(j)
r0(taget)
Tam giác tham chiếu tới ô lưới thêm vào
Tam giác chứa đỉnh thêm vào Đỉnh thêm vào
M
𝑣 1 = 0,3𝑀
𝑣 0 = 3𝑀, 0
𝑣 2 = −3𝑀, −3𝑀
Trang 8lưới tam giác 𝐷𝑇01 và 𝐷𝑇11 của tập đỉnh 𝑉01 và 𝑉11 ở bước chia đầu tiên được ghép lại thành lưới tam giác 𝐷𝑇 𝑉 của toàn bộ tập đỉnh đầu vào ban đầu
Độ phức tạp của thuật toán này là O(NlogN)
2.2.1.3 Phương pháp song song
Công đoạn đầu tiên của thuật toán này là phân hoạch tập đỉnh thành các khối không giao nhau Bắt đầu từ khung bao nhỏ nhất chứa tập đỉnh đầu vào, tác giả đề xuất ý tưởng phân hoạch thành các mảnh nhỏ hơn bằng cách luân chuyển thực hiện các lát cắt dọc và ngang ở chính giữa mỗi mảnh để tạo thành các mảnh nhỏ hơn (Xem Hình 8)
Hình 8 Phương pháp phân rã cho nguyên
lý “chia để trị”
Hình 9 Phương pháp gộp thành lưới tam
giác tổng thể Lưu ý rằng việc tạo lưới tam giác nội tại trong mỗi của mảnh ở mức thấp nhất có thể được thực hiện đồng thời Tuy nhiên, việc ghép các mảnh lân cận phải tuân thủ theo sơ đồ như Hình 9 Đây là quá trình ngược lại của quá trình phân rã và nó cho phép dễ dàng hỗ trợ hiện thực gộp song song thành lưới tam giác tổng thể Tiếp cận này cho phép cài đặt trên các hệ thống song song mà không phải xử lý đụng độ nên tốc độ cải thiện nhiều
Độ phức tạp của thuật toán này là 𝑂 𝑁𝑙𝑜𝑔𝑁𝑃 , P là số lượng tiểu trình tham gia
2.2.2 Thuật toán xây dựng lưới tam giác Delaunay ràng buộc
Phần này trình bày thuật toán xây dựng lưới tam giác Delaunay ràng buộc từ một lưới tam giác Delaunay đã cho bằng cách thêm vào các cạnh ràng buộc
Thuật toán chèn cạnh tiến hành theo hai bước chính:
- Loại các tam giác bị cắt bởi cạnh ab để tạo ra các đa giác giả Tạo lưới tam giác cho nó
- Thêm cạnh ràng buộc vào lưới tam giác là đánh dấu chúng như những cạnh cố định, để chúng trở thành một phần của lưới tam giác và không thể thay đổi được Trong quá trình chèn cạnh ràng buộc, tác giả đã cải tiến bằng cách thực hiện đồng thời việc kiểm tra cắt cạnh ràng buộc, thêm đỉnh mới vào lưới tam giác (giao của hai cạnh ràng buộc nếu có)
và hiệu chỉnh toàn bộ thông tin chèn cạnh trong một lần duyệt Các tình huống mô tả như Hình 10
1
Trang 9(a) Chèn cạnh ab (b) Cắt cạnh ràng buộc (in đậm) ở giao đỉnh i
(c) Các cạnh bị cắt bởi cạnh ràng buộc sẽ bị
loại bỏ
(d) Tập các đoạn con của cạnh ab được thêm vào và các vùng đa giác giả sẽ được điền đầy Hình 10 Các bước quá trình thêm cạnh ràng buộc vào lưới tam giác
2.2.3 Xử lý sai số
Hình 11 Một số tình huống sử lý sai số dựa trên r-epsilon
2.2.4 Các kết quả thử nghiệm
2.2.4.1 Các thuật toán xây dựng lưới tam giác Delaunay hiện thực gồm:
Thuật toán chèn đỉnh tuần tự của Shewchuk JR (I&I-SH)
Thuật toán chèn đỉnh tuần tự dựa trên chia lưới hai mức của B Zalik (I&I-ZL)
Thuật toán chèn đỉnh tuần tự Skvortsov (I&I-SK)
Thuật toán chèn đỉnh tuần tự Skvortsov cải tiến (I&I-OWNER)
l
p r-epsilon (a)
Trang 10Công thức tính độ tăng tốc của thuật toán
p là số lượng processors (threads)
T1 là thời gian thực thi của thuật toán tuyến tính
Tp là thời gian thực thi của thuật toán song song với p processors (threads)
Để đánh giá chi tiết mức độ cải thiện của thuật toán xây dựng lưới tam giác Delaunay song song tác giả đã chạy thử nghiệm trên máy Intel(R) Xeon(R) CPU E5420 @ 2.50Ghz (2 processors) 16 GB RAM với hệ điều hành Microsoft Windows Server 2008 Enterspise x64 Edition Kết quả thực nghiệm được mô tả theo bảng dưới đây:
Bảng 2 Bảng so sánh độ tăng tốc thuật toán Delaunay song song
2.2.4.2 Thuật toán xây dựng lưới tam giác Delaunay ràng buộc
Dữ liệu thực tế (các thành phố) Số cạnh Số điểm
Thời gian thực thi (s) Thêm
điểm
Thêm cạnh
Tổng cộng Oldenburg 7123 6155 0.047 0.047 0.094
Trang 113 Xây dựng cơ sở dữ liệu khai thác dữ liệu không gian
3.1 Hệ cơ sở dữ liệu không gian
Thuật ngữ “hệ cơ sở dữ liệu không gian” đã trở nên phổ biến và cơ sở dữ liệu này được xem như là tập các đối tượng trong không gian hơn là các hình ảnh hay bức tranh về không gian Ở một góc độ nhất định, ta có thể xem:
Hệ cơ sở dữ liệu không gian là một hệ cơ sở dữ liệu
Hỗ trợ các kiểu dữ liệu không gian trong mô hình dữ liệu và ngôn ngữ truy vấn
Cung cấp tối thiểu chức năng đánh chỉ mục không gian và có những thuật toán hiệu quả cho việc kết nối không gian
3.1.1 Mô hình hóa
Đối với mô hình các đối tượng cơ sở, các trừu tượng cơ bản là điểm, đường và vùng Dựa trên sự mở rộng của mô hình đặc tả đối tượng các đối tượng không gian cơ bản có thể tóm lược theo mô hình phân cấp như Hình 12
Hình 12 Mô hình cây phân cấp các lớp hình học
3.1.2 Kiến trúc hệ thống cơ sở dữ liệu không gian
Về nguyên tắc, các phần mở rộng sau đây để một kiến trúc tiêu chuẩn cần phải được hỗ trợ:
Biểu diễn các kiểu dữ liệu ở dạng đối tượng không gian
Các thao tác cho các phép toán cơ sở nhất
Các cấu trúc chỉ mục không gian và các kỹ thuật truy cập
Ngôn ngữ truy vấn không gian
Giao diện đồ họa cho người dùng
3.1.2.1 Hệ thống đóng
Một trong các hệ thống cơ sở dữ liệu không gian đóng là sử dụng mô hình kiến trúc đối ngẫu Trong kiến trúc đối ngẫu tích hợp hai hệ thống con độc lập nhau: DBMS quản trị dữ liệu phi không gian và hệ thống con một lưu trữ và xử lý dữ hiệu không gian
Với cách tiếp cận này, mỗi đối tượng không gian được chia thành hai phần Phần thứ nhất chứa các thuộc tính phi không gian và được lưu trữ trong DBMS Phần thứ hai là các thuộc tính không gian và được giữ trong cấu trúc dữ liệu trực tiếp của hệ thống tập tin Hai phần
Geometry Collection
Multi-Point Multi-Polyline Multi-Polygon
Geometry
Trang 12được nối bởi tham chiếu thích hợp Ưu điểm của cách tiếp cận này là dễ dạng chọn lựa các cấu trúc dữ liệu và thuật toán phù hợp cho chỉ mục và truy vấn trong hệ thống con không gian Tuy nhiên, một vấn đề được đặt ra sự truy vấn thông tin bị tách rời giữa thành phần phi không gian và thành phần không gian, để được xử lý bởi DBMS và hệ thống con quản trị dữ liệu không gian tương ứng
3.1.2.2 Tích hợp dữ liệu không gian vào hệ DBMS
Nghiên cứu một số hệ thống cơ sở dữ liệu tích hợp dữ liệu không gian (ví dụ như MySQL, Oracle, SQLServer…) có thể thấy rằng các hệ thống này có giao diện tích hợp như sau:
Không có sự khác biệt trên nguyên tắc giữa loại dữ liệu chuẩn và dữ liệu không gian
Không có sự khác biệt trên nguyên tắc giữa chỉ mục thuộc tính chuẩn (B-tree) hay chỉ mục không gian (R-tree)
Các phép kết dữ liệu về cơ bản cũng hoàn toàn tương tự nhau
Các cơ chế hoạt động tối ưu hóa truy vấn không có sự khác biệt
Sử dụng mã DBMS mở tiết kiệm nhiều nỗ lực phải đầu tư nghiên cứu Tuy nhiên, việc
mở rộng hệ thống này phụ thuộc vào nhà cung cấp DBMS
3.2 Hệ quản trị cơ sở dữ liệu GeoBase
3.2.1 Giới thiệu GeoBase
- GeoBase bỏ qua các ràng buộc của mô hình cơ sở dữ liệu quan hệ và sử dụng các khối
bộ nhớ thường trực hoạt động theo nguyên lý LRU (Least Recently Used) để đồng bộ các
thông tin đang sử dụng nhất GeoBase sử dụng các cấu trúc chỉ mục B-Tree và R-Tree để
hỗ trợ truy cập nhanh vào dữ liệu trên đĩa
- Geobase sử dụng cơ cấu phân dữ liệu thành các khối bộ nhớ có kích thước cố định để dễ dàng ánh xạ lên bộ nhớ chính và toàn bộ dữ liệu được lưu vào một tập tin hệ thống duy nhất Dung lượng dữ liệu quản lý của GeoBase lên đến cỡ hàng terabyte cho cả các hệ thống máy tính cấu hình thấp và trung bình
3.2.2 Các tính năng cơ bản của GeoBase
Dữ liệu trong GeoBase được lưu trữ thành bản ghi trong các bảng Các kiểu sau có thể là các thành phần của bản ghi trong GeoBase:
Bool Kiểu logic (true, false) Int8 Số nguyên 1 byte Int16 Số nguyên 2 bytes Int32 Số nguyên 4 bytes Int64 Số nguyên 8 bytes Real32 Số thực 4 bytes Real64 Số thực 8 bytes
Trang 13String Chuỗi ký tự (độ dài không xác định) Blob Chứa các đối tượng dạng nhị phân Geometry Chứa các đối tượng không gian chuẩn OpenGIS
Bảng 4 Các kiểu dữ liệu cơ bản trong GeoBase
3.2.2.1 Mô hình GeoBase
Danh sách các yêu cầu tối thiểu đối với GeoBase như sau:
Một hệ cơ sở dữ liệu có khả năng lưu trữ và truy vấn cả dữ liệu thuộc tính và dữ liệu không gian
Hỗ trợ các cấu trúc chỉ mục thích hợp và khả năng phân loại dữ liệu thuộc tính và không gian
Một hệ thống thư viện các chức năng khai thác không gian hoàn chỉnh
Hình 13 Sơ đồ lưu trữ trong GeoBase
3.2.2.2 Các thao tác truy xuất dữ liệu không gian và thuộc tính trong GeoBase
Hình 14 Sơ đồ truy xuất dữ liệu không gian và thuộc tính Chỉ mục thuộc tính được cài đặt là B-tree Trật tự giữa hai bản ghi được quyết định bằng
cách áp dụng toán tử Compare với giá trị thuộc tính của nó Chỉ mục thuộc tính hỗ trợ toán
tử find, trong đó lấy thông tin lưu trữ từ đĩa các bản ghi thỏa các tham số tìm kiếm đưa vào Toán tử find có hỗ trợ để thực hiện tìm kiếm theo phạm vi, tức là tất cả các bản ghi tương
ứng với các khóa nằm giữa hai giá trị nhất định có thể được lấy bằng cách tìm bản ghi tương
ứng từ cận dưới và sau đó sử dụng các toán tử compare và next cho đến khi gặp cận trên