Dựa trên GeoBase có thể dễ dàng phát triển các ứng dụng hoàn thiện cho nhiều hệ điều hành và đặc biệt trong các hệ thống nhúng.
Sử dụng GeoBase hỗ trợ sự linh hoạt để phát triển ứng dụng các thành phần cốt lõi độc lập với các giao diện người sử dụng phức tạp.
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:
Kiểu Mô tả
Bool Kiểu logic (true,false)
Int8 Số nguyên 1 byte (-128..+127) Int16 Số nguyên 2 bytes (-32768..+32767)
Int32 Số nguyên 4 bytes (-2147483648..+2147483647) Int64 Số nguyên 8 bytes (-263..+263-1)
Real32 Số thực 4 bytes Real64 Số thực 8 bytes
String 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 3.2. Các kiểu dữliệucơbản trong GeoBase
3.3.2.1. Mô hình GeoBase
Do chúng tôi muốn xây dựng một hệ thống tích hợp nên danh sách các yêu cầu tối thiểu đối với GeoBase sẽ bao gồm:
Một hệ quản trị 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.
Hình 3.5 Sơđồlưutrữ trong GeoBase
3.3.2.2. Các thao tác truy xuất dữ liệu không gian và thuộc tính trong GeoBase
Chỉ mục thuộc tính được cài đặt là B-tree. Các bản ghi trong cấu trúc chỉ mục luôn luôn được quét theo một trật tự xác định bởi nội dung của nó. 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 vượt cận trên.
Cấu trúc chỉ mục không gian được cài đặt là R-tree. Cấu trúc này hỗ trợ một loạt các toán tử tìm kiếm không gian, chẳng hạn như toán tử overlap để tìm kiếm các
bản ghi giao với đối tượng không gian xác định, hoặc toán tử within để lấy các bản ghi được chứa trong một đối tượng không gian xác định.
Hình 3.6 Sơđồ truy xuấtdữ liệu không gian và thuộc tính
3.3.2.3. Mô hình hoạt động của hệ thống GeoBase
File
Core API tools
(GEOLIB) Library
Interpreter
Desktop WEB
PDA …. User
Hình 3.7 Sơđồhoạtđộng GeoBase
Trong khi các DBMS điển hình và hệ GIS được thiết kế để được truy cập ở các cấp độ khác nhau (bởi người quản trị cơ sở dữ liệu thông qua một ngôn ngữ định nghĩa dữ liệu hay bởi người dùng thông qua một ngôn ngữ truy vấn cấu trúc), hầu hết các trạng thái của GeoBase có thể được kiểm soát và lập trình bằng lệnh đến hệ thống thông dịch của chúng. Một số lệnh cơ bản đã được định nghĩa sẵn bởi các nhà phát triển ứng dụng. Điều này cho phép hệ thống được mở rộng bằng cách viết thêm các chức năng mới. (xem Hình 3.8).
Hình 3.8 Sơđồtương tác giữakiểudữ liệu và thao tác
Hạt nhân của GeoBase cung cấp các chức năng cơ bản cần thiết để lưu trữ và xử lý dữ liệu không gian và phi không gian. Để truy cập các chức năng của hạt nhân này một cách linh hoạt, chúng tôi hỗ trợ bằng tập các hàm ở cấp độ dịch vụ. Chi tiết cấu trúc định dạng tập tin GEOBASE và sơ đồ các hàm xử lý được trình bày chi tiết trong phần phụ lục Tổng quan vềhệ GEOBASE ở trang 151.
3.3.2.5. So sánh tốc độ thực thi các thao tác xử lý dữ liệu không gian.
Thời gian thực thi theo (ms)
Thêm Truy vấn không gian Xóa
Thử nghiệm 10000 bản ghi Trung bình 100 bản ghi Trung bình 50 bản ghi Trung bình GeoBase 516 0.0516 31 0.31 94 1.88 MySQL 2840 0.284 516 5.16 202 4.04
Bảng 3.3. Tốcđộthực thi 3 thao tác cơbản trên cơsởdữliệu
Ở bảng so sánh trên, chúng tôi đã thực hiện lần lượt 3 thao tác thêm, truy vấn, xóa đối tượng không gian với cùng một tập dữ liệu điểm, đường, vùng ngẫu nhiên. Thống kê thực tế trên cùng một máy Pentium (R) Dual-Core CPU E5200 2.5 Ghz 4 GB RAM với hệ điều hành Microsoft Windows Server 2003 Enterspise x64 Edition đã khẳng định sự vượt trội về tốc độ thực thi của hệ quản trị cơ sở dữ liệu GeoBase so với MySQL.
Hình 3.9 Biểuđồtốcđộthực thi 3 thao tác cơbản trên cơsởdữliệu
Hiện tại, toàn bộ dữ liệu ảnh bản đồ toàn Việt nam với 20 mức tỷ lệ khác nhau sử dụng khai thác trực tuyến trên web và cho các thiết bị di động đều được lưu trong hệ quản trị cơ sở dữ liệu GeoBase. Đối với các truy cập web từ PC, chúng tôi chặt thành các ảnh kích thước 256x256, còn đối với các thiết bị di động chúng tôi chặt thành các ảnh kích thước 128x128. Các ảnh này được lưu thành các mức trong các bảng của GeoBase. Tập tin GeoBase chứa các ảnh kích thước 256x256 có dung lượng tổng cộng là 128GB, còn tập tin chứa các ảnh kích thước 128x128 có dung lượng tổng cộng là 133 GB. Phần xám trong Bảng 3.4 là phần dữ liệu chặt cho dữ liệu bản đồ toàn thế giới, phần còn lại chỉ chú trọng chặt cho phần ranh giới của lãnh thổViệt Nam.
Dữ liệu GeoBase cho web với dung lượng 118GB (chứa 804.357.129 ảnh) Tỷ lệ bản đồ (1:N) Số ảnh Ratio_1144 602805742 Ratio_2289 150671274 Ratio_4578 37966850 Ratio_9155 9420725 Ratio_18311 2356728 Ratio_36622 589182 Ratio_73244 147900 Ratio_146488 37278 Ratio_292976 9460 Ratio_585951 2464 Ratio_1171903 262144 Ratio_2343806 65536 Ratio_4687611 16384 Ratio_9375222 4096 Ratio_18750445 1024 Ratio_37500890 256 Ratio_75001780 64 Ratio_150003560 16 Ratio_300007104 4 Ratio_600014239 1