4.2.4 Phương pháp xác định lỗi
Thiết kế cơ sở dữ liệu nghiệp vụ lưu trữ cấu trúc của CSDL nền địa lý theo chuẩn cấu trúc và nội dung theo QCVN 42: 2012/BTNMT.
CSDL nghiệp vụ phải lưu trữ được các tỷ lệ dữ liệu cần kiểm tra, đối với mỗi tỷ lệ có các chủ đề dữ liệu nào, và trong mỗi chủ đề có những lớp dữ liệu gì, và mỗi lớp dữ liệu cần lưu trữ những thông tin gì (thuộc tính, kiểu dữ liệu, miền giá trị…v.v – xem chương 2 phần 2.3 quy định về nội dung và cấu trúc dữ liệu nền địa lý).
CSDL nghiệp vụ lưu trữ được các phép kiểm tra và quan hệ giữa các lớp dữ liệu với các phép kiểm tra, nghĩa là đối với mỗi lớp dữ liệu thì cần phải kiểm tra theo phép kiểm tra nào.
Đối với các lỗi phù hợp nội dung và cấu trúc: Sử dụng thư viện lập trình ArcObject đọc cấu trúc và nội dung của CSDL nền địa lý đầu vào cần kiểm tra và so sánh với cấu trúc chuẩn được lưu trữ trong CSDL nghiệp vụ, nếu lớp dữ liệu nào không đúng theo cấu trúc và nội dung lưu trữ trong CSDL nghiệp vụ thì thông báo lỗi.
Đối với các lỗi phù hợp quan hệ không gian: Sử dụng thư viện lập trình ArcObject gọi các thủ tục kiểm tra quan hệ không gian theo luật topology giữa các lớp dữ liệu được thiết lập trong CSDL nghiệp vụ. Luật topology theo ESRI (chương 3) gồm có 32 luật, quy định quan hệ không gian giữa các đối tượng địa lý trong cùng lớp dữ liệu hoặc giữa các đối tượng địa lý trong hai lớp dữ liệu khác nhau. Dưới đây là danh sách các luật topology theo ESRI.
TT Tên luật topology Tên phép kiểm tra
I Line (đối với lớp dữ liệu dạng đường)
1. Must Not Overlap Xác định lỗi chồng đè 2. Must Not Intersect Xác định lỗi giao cắt 3. Must Not Have Dangles Xác định lỗi có đỉnh treo 4. Must Not Have Pseudo Nodes Xác định lỗi có nút giả
5. Endpoints Must Be Covered by Xác định lỗi điểm cuối không được bao phủ bởi
6. Must Not Self-Intersect Xác định lỗi tự giao cắt 7. Must Not Self-Overlap Xác định lỗi tự chồng đè
8. Must Not Intersect With Xác định lỗi giao cắt với đối tượng của lớp khác
9. Must Not Intersect Or Touch interior
Xác định lỗi giao cắt hoặc chạm trong
10. Must Not Intersect Or Touch interior With
Xác định lỗi giao cắt hoặc chạm đối tượng của lớp khác
11. Must Covered by Feature Class Of Xác định lỗi không được bao phủ bởi lớp dữ liệu
12. Must Not Overlap With Xác định lỗi chồng đè với 13. Must Be Inside Xác định lỗi không nằm trong 14. Must Be Single part Xác định lỗi có nhiều phần
15. Must Be Covered By Boundary Of Xác định lỗi không được bao phủ bởi đường biên của vùng
II Point (đối với lớp dữ liệu dạng điểm)
1. Point Must Be Covered By Line Xác định lỗi điểm không được bao phủ bởi đường
2. Must Be Covered By EndPoint Of Xác định lỗi không được bao phủ bởi điểm cuối của đường
3. Must Be Properly Inside Xác định lỗi không nằm trong vùng 4. Must Be Covered By Boundary Of Xác địn lỗi không nằm trên đường
bao của vùng
5. Must Coincide With Xác định lỗi không trùng với điểm của lớp khác
6. Must By Disjoint Xác định lỗi trùng nhau
III Polygon (đối với lớp dữ liệu dạng vùng)
1. Boundary Must Be Covered By Xác định lỗi biên không được bao phủ bởi đường
2. Must Not Have Gaps Xác định lỗi có khoảng hở 3. Must Be Covered By Feature Class
Of
Xác định lỗi không được bao phủ bởi vùng của lớp khác
4. Must Not OverLap Xác định lỗi chồng đè
5. Must Cover Each Other Xác định lỗi không phủ bởi đối tượng của lớp khác
6. Must Be Covered By Xác định lỗi không được bao phủ bởi
7. Area Boundary Must Be Covered By Boundary
Xác định lỗi đường biên không được bao phủ bởi đường biên
8. Contains Point Xác định lỗi không chứa điểm 9. Contains One Point Xác định lỗi không chứa một điểm 10. Must Not OverLap With Xác định lỗi chồng đè với đối tượng
của lớp khác
IV Line or Polygon (đối với lớp dữ liệu dạng đường hoặc vùng)
1 Must be larger than cluster
tolerance Xác định lỗi vùng nhỏ, cạnh nhỏ.
4.3 Thiết kế hệ thống 4.3.1 Các chức năng của hệ thống 4.3.1 Các chức năng của hệ thống a) Sơ đồ usecase Hình 4.5Các chức năng của công cụ kiểm tra b) Môt tả chức năng # Tên Use-case Actor kích hoạt Actor phụ Mô tả trường hợp sử dụng 1. Thiết lập cấu
hình kiểm tra Chuyên viên, người kiểm tra
Người sử dụng có thể thiết lập các phép toán kiểm tra về chất lượng, cấu trúc dữ liệu trên các chủ đề và lớp đối tượng
2. Kiểm tra cấu trúc, nội dung và không gian Chuyên viên, người kiểm tra - Người sử dụng có thể thực hiện kiểm tra các lớp thông tin theo phép toán về cấu trúc và nội dung đã được thiết lập
- Người sử dụng có thể thực hiện kiểm tra các lớp thông tin theo phép
# Tên Use-case Actor kích hoạt Actor phụ Mô tả trường hợp sử dụng
toán về không gian đã được thiết lập
- Người sử dụng có thể thực hiện kiểm tra các lớp thông tin theo phép toán về cấu trúc, nội dung và không gian đã được thiết lập.
3. Sửa lỗi kiểm
tra Chuyên viên, người kiểm tra
- Hiện thị chi tiết các lỗi phát hiện được trong quá trình kiểm tra
- Sửa các lỗi phát hiện được trong quá trình kiểm tra
4. Hiển thị lỗi kiểm tra trên bản đồ
Chuyên viên, người kiểm tra
Người sử dụng có thể xem lỗi trên bản đồ và thực hiện thao tác sửa lỗi tại đây
5. Lưu thông tin
phiên kiểm tra Chuyên viên, người kiểm tra
Người sử dụng có thể lưu toàn bộ thông tin của phiên kiểm tra: Thông tin lỗi, lớp dữ liệu, các phép kiểm tra
6. Xuất thông tin lỗi ra file
Chuyên viên, người kiểm tra
Người sử dụng có thể xuất thông tin lỗi ra file MS Excel
7. Nhập xuất CSDL nghiệp vụ Chuyên viên, người kiểm tra Người sử dụng có thể xuất CSDL nghiệp vụ đã thiết lập các phép toán kiểm tra theo chuẩn CSDL nền địa lý để những người khác nhập vào chương trình của mình 8. Đồng bộ CSDL nghiệp vụ Chuyên viên, người kiểm tra Giúp người sử dụng đồng bộ CSDL nghiệp vụ đã thiết lập các phép toán kiểm tra trên nhiều máy khác nhau
4.3.2 Thiết kế CSDL nghiệp vụ kiểm tra 4.3.2.1 Môhìnhthựcthể liênkết 4.3.2.1 Môhìnhthựcthể liênkết
Hình 4.6 Bảng CSDL nghiệp vụ kiểm tra
4.3.2.2 Danhmụccácbảng
TT Tên bảng Mô tả
1 DM_TyLe Tỷ Lệ - Lưu trữ danh sách các tỷ lệ trong CSDL nền địa lý 2 DM_ChuDe Chủđề - Lưu trữ danh sách các chủđề dữ liệu
3 DM_DoiTuong Lớp dữ liệu – Lưu trữ danh sách các lớp dữ liệu thuộc chủ đề và tỷ lệ
4 ThuocTinh Thuộc tính – Lưu trữ thông tin thuộc tính của lớpdữ liệu 5 MienGiaTri Miền giá trị - Lưu trữ thông tin miền giá trị của thuộc tính 6 DM_NhomPhepKiemTra Danh mục nhóm phép kiểm tra
7 DM_PhepToan Danh mục phép toán – Lưu trữ danh sách các phép toán 8 PhepKiemTra Phép kiểm tra – Lưu trữ danh sách phép kiểm tra của từng
lớp đối tượng
9 CauHinhKiemTra Cấu hình kiểm tra - Lưu trữ thông tin cấu hình kiểm 10 DM_Tinh Danh mục tỉnh
11 DM_Huyen Danh mục huyện 12 DM_Xa Danh mục xã
Bảng 4.5 Mô tả các bảng CSDL nghiệp vụ kiểm tra
1. DM_TyLe
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã tỷ lệ Ten nvarchar(20) Không Tên tỷ lệ MoTa nvarchar(500) Có Mô tả ThuTu int Không Thứ tự
Bảng 4.6 Mô tả bảng tỷ lệ dữ liệu
2. DM_ChuDe
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã chủđề Ten nvarchar(100) Không Tên chủđề
TenFD nvarchar(100) Không Tên feature dataset BiDanh nvarchar(400) Không Bí danh
UUIDTyLe uniqueidentifier Không Reference Key Mã tỷ lệ
Bảng 4.7 Mô tả bảng chủđề dữ liệu
3. DM_DoiTuong
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã lớp đối tượng Ten nvarchar(100) Không Tên lớp đối tượng TenFC nvarchar(100) Không Tên feature class BiDanh nvarchar(400) Không Bí danh
Key
MoTa nvarchar(400) Có Mô tả
Bảng 4.8 Mô tả bảng lớp dữ liệu
4. ThuocTinh
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã thuộc tính Ten nvarchar(100) Không Tên thuộc tính BiDanh nvarchar(400) Không Bí danh KieuDuLieu nvarchar(50) Không Kiểu dữ liệu
MienGiaTri bit Không Có miền giá trị hay không DonViDo nvarchar(10) Không Đơn vịđo
ChoPhepRong bit Không Cho phép rỗng UUIDDoiTuong uniqueidentifier Không Reference Key Mã lớp đối tượng MoTa nvarchar(400) Có Mô tả
Bảng 4.9 Mô tả bảng thuộc tính
5. MienGiaTri
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã miền giá trị Ten nvarchar(100) Không Tên miền giá trị MoTa nvarchar(400) Có Mô tả
Ma nvarchar(50) Không Mã giá trị Nhan nvarchar(200) Không Nhãn giá trị UUIDThuocTinh uniqueidentifier Không Reference Key Mã thuộc tính
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã nhóm phép kiểm tra MaNhom nvarchar(100) Không Mã nhóm
TenNhom nvarchar(400) Có Tên nhóm MoTa nvarchar(50) Không Mô tả
Bảng 4.11 Mô tả bảng nhóm phép kiểm tra
7. DM_PhepToan
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã phép toán MaPhepToan nvarchar(100) Không Mã phép toán Ten nvarchar(400) Có Tên phép toán TenLoi nvarchar(50) Không Tên lỗi
UUIDNhomPhepKiemTra uniqueidentifier Không Mã nhóm phép kiểm tra
Bảng 4.12 Mô tả bảng phép toán
8. PhepKiemTra
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã phép toán Ten nvarchar(200) Có Tên phép kiểm tra MoTa nvarchar(400) Không Mô tả
LopThamChieu nvarchar(100) Không Lớp tham chiếu
SaiSo Sai số
KiemTra bit Không Có kiểm tra hay không UUIDPhepToan uniqueidentifier Không Reference Key Mã phép toán
ce Key
Bảng 4.13 Mô tả bảng phép kiểm tra
9. CauHinhKiemTra
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã cấu hình Ten nvarchar(200) Có Tên cấu hình Tep binary Không Tệp cấu hình UUIDTyLe uniqueidentifier Reference Key Mã tỷ lệ
Bảng 4.14Mô tả bảng cấu hình kiểm tra
10. DM_Tinh
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã nhận dạng MaTinh nvarchar(10) Có Mã tỉnh TenTinh nvarchar(100) Không Tên tỉnh
Bảng 4.15 Mô tả bảng danh mục tỉnh
11. DM_Huyen
Tên trường Kiểu dữ liệu Null Key Ghi chú
UUID uniqueidentifier Không Primary Key Mã nhận dạng MaHuyen nvarchar(10) Có Mã huyện TenHuyen nvarchar(100) Không Tên huyện MaTinh nvarchar(10) Không Reference Key Mã tỉnh
Bảng 4.16 Mô tả bảng danh mục huyện
12. DM_Xa
UUID uniqueidentifier Không Primary Key Mã nhận dạng MaXa nvarchar(10) Không Mã xã
TenXa nvarchar(400) Không Tên xã MaHuyen nvarchar(10) Không Reference Key Mã huyện
Bảng 4.17 Mô tả bảng danh mục xã
4.4 Một số giao diện chương trình
4.4.1 Giao diện các chức năng
4.4.2 Giao diện thiết lập cấu hình
Hình 4.8 Giao diện thiết lập cấu hình
4.4.3 Giao diện quản trị cấu hình
4.4.4 Giao diện lấy tiêu chí kiểm tra
Hình 4.10 Giao diện lấy tiêu chí kiểm tra
4.4.5 Giao diện kiểm tra
4.4.6 Giao diện sửa lỗi
Hình 4.12 Giao diện sửa lỗi
4.4.7 Giao diện xuất báo cáo
Hình 4.13 Giao diện xuất báo cáo
Chương 5. CÀI ĐẶT VÀ THỬ NGHIỆM 5.1 Yêu cầu hệ thống
5.1.1 Phần cứng
- Tốc độ CPU: Tối thiểu 2.4 GHz - Platform: x86 hoặc x64
- Bộ nhớ/ Ram: Tối thiểu 2GB
- Ổ cứng: Tối thiểu 3GB chưa tính dung lượng lưu trữ hệ điều hành - Độ phân giải màn hình: Tối thiểu 1024x768
5.1.2 Phần mềm
- Máy cài hệ điều hành Window xp trở lên - ArcGis Desktop 9.3 trở lên
- Dotnet framework 3.5
5.2 Mô hình triển khai
Triển khai trên mạng lan.
5.3 Thử nghiệm
5.3.1 Dữ liệu thử nghiệm
Tiến hành thử nghiệm với CSDL nền ở hai tỷ lệ khác nhau.
v Tỷ lệ 1: 10.000
- CSDL tỉnh Ninh Thuận định dạng Personal geodatabase (.mdb) - CSDL tỉnh Điện Biên định dạng File geodatabase (.gdb)
v Tỷ lệ 1: 5.000
- CSDL tỉnh Tuyên Quang định dạng Personal geodatabase (.mdb) - CSDL tỉnh Điện Biên định dạng (.mdb)
5.3.2 K iểm tra khả năng phát hiện lỗi
Kiểm tra khả năng phát hiện lỗi theo hai cách sau:
v Đối với mỗi phép kiểm tra tiến hành tạo ra lỗi, rồi dùng phần mềm kiểm tra khả năng phát hiện ra các lỗi đó.
v Thực hiện kiểm tra toàn bộ CSDL nền địa lý thử nghiệm với công cụ kiểm tra CSDL nền địa lý. Sau khi thực hiện xong phát hiện một số các lỗi theo từng phép kiểm tra, tiến hành nhờ một số chuyên gia về xây dựng dữ liệu nền địa lý kiểm tra thủ công và sử dụng các công cụ kiểm tra rời rạc của phần mềm ArcGis Desktop xem đó có thực sự là lỗi đúng như công cụ đã phát hiện tra không.
5.3.3 Đánh giá khả năng mở rộng của công cụ
Công cụ kiểm tra CSDL nền địa lý có khả năng mở rộng cao trong trường hợp có sự thay đổi về cấu trúc và nội dụng của CSDL nền địa lý cần kiểm tra như:
v Cập nhật tỷ lệ CSDL nền địa lý cần kiểm tra: Thêm, sửa, xóa các tỷ lệ cần kiểm tra.
v Cập nhật các chủ đề trong CSDL nền địa lý: Thêm, sửa, xóa các chủ đề cần kiểm tra.
v Cập nhật các đối tượng trong CSDL nền địa lý: thêm bớt đối tượng cần kiểm tra, thêm bớt trường thuộc tính.
v Cập nhật các phép toán kiểm tra cho các đối tượng.
KẾT LUẬN Kết quảđạt được
- Xây dựng thành công công cụ kiểm tra CSDL nền địa lý - Xây dựng các phép toán kiểm tra CSDL nền địa lý - Xây dựng được CSDL nghiệp vụ phục vụ việc kiểm tra - Tài liệu hướng dẫn sử dụng
- Giúp người xây dựng dữ liệu tự tin về sản phẩm CSDL nền địa lý mà mình giao nộp
- Giúp cho người kiểm tra dữ liệu không mất nhiều công sức và thời gian trong việc kiểm tra dữ liệu
- Giúp cho việc tích hợp dữ liệu vào cơ sở dữ liệu tốt
Hướng phát triển tiếp theo
- Nâng cấp chương trình có thể chỉ chính xác vị trí lỗi không gian. Hiện tại mới chỉ được đối tượng lỗi trên bản đồ.
- Nâng cấp chương trình kiểm tra được quan hệ không gian giữa các đối tượng thuộc hai lớp dữ liệu thuộc hai chủ đề khác nhau.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Bộ tài nguyên và Môi trường (2014), Thông tư 20/2014/TT-BTNMT ngày 24/4/2014. Quy định kỹ thuật về mô hình cấu trúc, nội dung cơ sở dữ liệu nền địa lý tỷ lệ 1:50.000
ngày 24/4/2014 Quy định kỹ thuật về mô hình cấu trúc, nội dung cơ sở dữ liệu nền địa lý tỷ lệ 1:10.000
3. Bộ tài nguyên và Môi trường (2014), Thông tư 20/2014/TT-BTNMT ngày 24/4/2014. Quy định kỹ thuật về mô hình cấu trúc, nội dung cơ sở dữ liệu nền địa lý tỷ lệ 1:50.000
4. Bộ Tài nguyên và Môi trường (2012), Thông tư 02/2012/TT-BTNMT ngày 19/3/2012 Quy định Quy chuẩn kỹ thuật quốc gia về chuẩn thông tin địa lý cơ sở, mã số QCVN 42: 2012/BTNMT.
5. Cục Đo đạc và Bản đồ Việt Nam - Bộ Tài nguyên Môi trường (2010), Hướng dẫn áp dụng Quy chuẩn thông tin địa lý cơ sở Quốc gia trong xây dựng CSDL Nền địa lý 1/2.000, 1/5.000, 1/10.000, Hà Nội.
6. Bộ Tài nguyên và Môi trường (2008), Quyết định số 1620/2008/QĐ- BTNMT ngày 15 tháng 8 năm 2008 Quy định mô hình cấu trúc và nội dung dữ liệu Nền địa lý 1/2.000, 1/5.000 và 1/10.000, Hà Nội.
7. Cục Đo đạc và Bản đồ Việt Nam - Bộ Tài nguyên và Môi trường (2008), Dự án thành lập cơ sở dữ liệu nền thông tin địa lý ở tỷ lệ 10.000 gắn với