HƯỚNG DẪN SỬ DỤNG
TopoFix
Plugin kiểm tra & sửa lỗi topology cho QGIS
18 thuật toán: 🔷 Polygon (11) | 📏 Line (4) | 📍 Point (3)
Lộc Vũ Trung tổng hợp từ đam mê
TopoFix sử dụng giao diện tiết lộ dần (progressive disclosure) — chỉ hiện thông tin cần thiết.
Sau khi scan xong, chỉ hiện các loại lỗi có count > 0. Những loại = 0 được ẩn.
| Cột | Widget | Chức năng |
|---|---|---|
| Loại lỗi | QLabel | Tên lỗi, mã màu riêng |
| Số lượng | QLabel | Số lỗi (đỏ, đậm) |
| Highlight | QPushButton | Tô sáng lỗi trên bản đồ (memory layer) |
| Sửa | QCheckBox | Tích để sửa loại lỗi này |
Panel ⚙ Advanced Parameters chỉ hiện khi có lỗi liên quan, và chỉ hiện tham số tương ứng.
| Tham số | Mặc định | Ý nghĩa |
|---|---|---|
| Gap tolerance | 0.001 ha | Gap nhỏ hơn bị bỏ qua |
| Sliver max area | 1.0 ha | Lớn hơn không phải sliver |
| Sliver ratio P/√A | 20.0 | Ngưỡng compactness |
| MNO min area | 0.001 m² | Chỉ cắt giao lớn hơn |
| Missing node tol | 0.001 | VN-2000: 0.001m, WGS84: 1e-8 |
| Tiny polygon min | (tùy dữ liệu) | Nhỏ hơn thì gộp |
| Max vertices | 500 | Vượt quá là dư thừa |
*_TopoFixed được tạo để review⚠ Một số lỗi có thể xuất hiện mới sau khi sửa (cascade effect).
Plugin tự động thực hiện đúng thứ tự này:
| # | Loại lỗi | Hành động |
|---|---|---|
| 1 | Multipart | Tách trước, tăng số features |
| 2 | Invalid | Sửa cấu trúc geometry |
| 3 | Duplicate | Xóa bản trùng |
| 4 | Overlap | Cắt phần chồng đè |
| 5 | Must Not Overlap | Cắt thông minh theo diện tích |
| 6 | Gap | Lấp khoảng hở |
| 7 | Redundant | Giảm số đỉnh |
| 8 | Sliver | Loại mảnh vụn |
| 9 | Missing Node | Chèn nút thiếu |
| 10 | Tiny Polygon | Gộp polygon nhỏ |
⚠ Nên sửa TẤT CẢ cùng lúc, không sửa riêng lẻ từng loại.
Khi chọn layer dạng Line, TopoFix tự động chuyển sang 4 thuật toán chuyên biệt:
| # | Loại lỗi | Mô tả | Sửa tự động? |
|---|---|---|---|
| 1 | 📏 Dangles | Đầu mút treo — endpoint không kết nối đường nào | ❌ Cần xem xét |
| 2 | 📏 Self-Intersection | Đường tự cắt chính nó | ✅ Fix Geometries |
| 3 | 📏 Duplicate Lines | Hai đường có geometry hoàn toàn giống nhau | ✅ Xóa bản trùng |
| 4 | 📏 Overlapping Lines | Hai đường có đoạn trùng nhau | ❌ Cần xem xét |
Khi chọn layer dạng Point, TopoFix tự động chuyển sang 3 thuật toán chuyên biệt:
| # | Loại lỗi | Mô tả | Sửa tự động? |
|---|---|---|---|
| 1 | 📍 Duplicate Points | Nhiều điểm trùng tọa độ (trong tolerance) | ✅ Xóa bản trùng |
| 2 | 📍 Invalid Coordinates | Tọa độ NaN, Infinity, hoặc ngoài phạm vi | ✅ Xóa điểm lỗi |
| 3 | 📍 Isolated Points | Điểm nằm quá xa mọi điểm khác | ❌ Cần xem xét |
| Kích thước layer | Loại | Thời gian ước tính |
|---|---|---|
| < 1,000 features | Tất cả | Vài giây |
| 1,000 – 10,000 features | Polygon | Vài phút |
| 1,000 – 10,000 features | Line / Point | Dưới 1 phút |
| > 10,000 features | Polygon | 5-15 phút (Missing Nodes tự skip nếu >200) |
| > 10,000 features | Line / Point | 1-5 phút |
| Vấn đề | Nguyên nhân | Giải pháp |
|---|---|---|
| Progress bar đứng 0% | Layer quá lớn | Chờ thêm hoặc chia nhỏ layer |
| Fix xong nhưng còn lỗi | Cascade effect | Chạy lại kiểm tra + sửa lần 2 |
| Highlight không hiện | Layer bị ẩn | Bật visibility trong Layers panel |
| Missing Nodes bị skip | >200 features (O(n²)) | Chia layer thành vùng nhỏ hơn |
| Kết quả không mở được | File bị lock | Đóng file trong ứng dụng khác |
| Dangle/Isolated = lỗi giả | Đặc thù dữ liệu | Bỏ tick Fix, chỉ review thủ công |