Phân tích dữ liệu (Analyze data)
Đây là nhóm tính năng mạnh nhất của QGIS: từ truy vấn SQL đơn giản đến các phép phân tích địa lý phức tạp (buffer, intersect, statistics). TLGeo Agent giúp bạn thực hiện các phép phân tích này bằng ngôn ngữ tự nhiên, không cần biết syntax SQL hay QGIS expression.
Tính năng QGIS gốc: https://docs.qgis.org/3.44/en/docs/about/features.html#analyze-data
Truy vấn SQL trực tiếp (Built-in)
Agent có sẵn tool query_gis_data cho phép chạy SQL trực tiếp trên layer (xem thêm Bài 10: Python Console).
Thống kê tổng quan
Tính tổng diện tích theo từng huyện trong layer xã
Kết quả trả về dạng bảng:
| ten_huyen | tong_dien_tich_ha |
|---|---|
| Bắc Bình | 152,340 |
| Hàm Thuận Bắc | 87,650 |
| … | … |
Đếm và nhóm
Đếm số lô rừng theo từng loại rừng và sắp xếp theo số lượng giảm dần
Lọc có điều kiện
Tìm 5 huyện có diện tích rừng lớn nhất ở tỉnh Lâm Đồng
Tính toán nâng cao
Tính mật độ dân số (dân số / diện tích) cho từng xã
Tính tỷ lệ che phủ rừng = (diện tích rừng / diện tích tự nhiên) cho mỗi huyện
Phân tích Vector (Geoprocessing)
Các phép phân tích không gian phổ biến — Agent sẽ tự động chọn thuật toán phù hợp trong QGIS Processing framework.
Buffer (Vùng đệm)
Tạo buffer 100m quanh tất cả con đường trong layer giao thông
Buffer 5km quanh tất cả trường học trong layer trường_học
Intersect (Giao)
Tìm vùng giao giữa layer khu bảo tồn và layer rừng phòng hộ
Intersect 2 layer để xem thửa đất nào nằm trong vùng quy hoạch
Union (Hợp)
Union tất cả polygon của layer khoanh vùng cháy thành 1 layer duy nhất
Difference (Trừ)
Tính vùng đất chưa được canh tác = layer đất_đai_trồng_trọt - layer đất_đai_đã_sử_dụng
Clip (Cắt theo ranh giới)
Clip layer sông_ngòi theo ranh giới tỉnh Lâm Đồng
Dissolve (Gộp theo thuộc tính)
Gộp tất cả thửa đất theo chủ sử dụng để tính tổng diện tích mỗi chủ
Khoảng cách
Tính khoảng cách từ mỗi thửa đất đến con đường gần nhất
Network Analysis (Phân tích mạng lưới)
Tìm đường đi ngắn nhất giữa 2 điểm A và B trên mạng lưới đường
Tính service area (vùng phục vụ) trong vòng 10 phút đi bộ từ trường học
Phân tích Raster
DEM và địa hình
Tính độ dốc (slope) từ layer DEM
Tính hướng dốc (aspect) từ layer DEM
Tạo bóng địa hình (hillshade) từ DEM với góc sáng 45 độ
Phân loại lại (Reclassify)
Phân loại lại DEM thành 5 cấp độ cao: 0-100m, 100-500m, 500-1000m, 1000-2000m, >2000m
Zonal Statistics (Thống kê theo vùng)
Tính giá trị DEM trung bình cho từng huyện
Tổng lượng mưa trung bình theo từng xã
Raster Calculator
Tính chỉ số NDVI = (band_near_infrared - band_red) / (band_near_infrared + band_red)
Phân tích Raster/Vector kết hợp
Spatial Join (Kết nối không gian)
Thêm thông tin huyện vào tất cả các điểm trường học dựa trên vị trí
Overlay (Chồng lớp)
Tìm các thửa đất nằm trong vùng có nguy cơ lũ lụt
Case thực tế Việt Nam: Phân tích rừng
Đây là một trong những use case phổ biến nhất. Agent đặc biệt hữu ích cho việc thống kê rừng theo nhiều cấp hành chính.
Thống kê diện tích rừng theo tỉnh
Tính tổng diện tích rừng cho từng tỉnh, sắp xếp giảm dần
Thống kê theo 3 cấp: Tỉnh > Huyện > Xã
Cho tôi bảng tổng hợp diện tích rừng theo tỉnh, trong mỗi tỉnh chi tiết theo huyện, trong mỗi huyện chi tiết theo xã
Tính tỷ lệ che phủ rừng
Tính tỷ lệ che phủ rừng = diện tích rừng / tổng diện tích tự nhiên cho từng huyện
Phát hiện thay đổi
So sánh diện tích rừng năm 2020 và 2024, cho biết huyện nào tăng/giảm nhiều nhất
Phân loại lô rừng theo nhiều tiêu chí
Phân loại lô rừng theo: trạng_thái (rừng tự nhiên/trồng) + độ dốc (dốc/ít dốc) + mục đích (phòng hộ/sản xuất)
Case thực tế: Quản lý đất đai
Kiểm tra thửa đất trong vùng quy hoạch
Liệt kê tất cả thửa đất thuộc vùng quy hoạch khu công nghiệp
Tính diện tích đất theo mục đích sử dụng
Thống kê diện tích đất theo cột mục_đích_sử_dụng cho từng huyện
Phát hiện thửa đất bị xâm phạm
Tìm các thửa đất đất_lâm_nghiệp nhưng đang được sử dụng cho mục đích khác
Processing Framework (QGIS)
Agent có thể truy cập hơn 400 thuật toán trong QGIS Processing framework (GDAL, SAGA, GRASS, OTB, R…).
Liệt kê thuật toán có sẵn
Liệt kê các thuật toán SAGA có sẵn
Tìm thuật toán liên quan đến watershed
Chạy thuật toán
Chạy thuật toán SAGA: Watershed analysis từ DEM
Chạy GDAL: chuyển đổi raster sang định dạng COG (Cloud Optimized GeoTIFF)
Background processing
Tất cả các thuật toán đều chạy nền (background), bạn có thể tiếp tục làm việc khác trong khi chờ.
Graphical Modeller (Workflow tự động)
Modeller cho phép kết hợp nhiều bước thành một workflow hoàn chỉnh, có thể chạy lại nhiều lần.
Tạo model
Tạo workflow: Import shapefile → Reproject sang EPSG:4326 → Buffer 100m → Clip theo ranh giới tỉnh → Lưu ra GeoPackage
Chạy lại model với input khác
Chạy lại workflow trên với file input là /data/ranh_gioi_moi.shp
Xuất kết quả phân tích
Bảng kết quả
Agent trả về kết quả thống kê dạng bảng trực tiếp trong chat. Bạn có thể:
Xuất bảng kết quả ra CSV
Lưu bảng kết quả vào shapefile mới
Biểu đồ
Tạo biểu đồ cột cho top 10 huyện có diện tích rừng lớn nhất
Báo cáo PDF
Tạo báo cáo PDF với bản đồ, biểu đồ và bảng số liệu cho tỉnh Lâm Đồng
Caching và hiệu năng
Với dữ liệu lớn
Khi phân tích layer có hàng triệu feature, Agent sẽ:
- Tự động tối ưu query (dùng index nếu có)
- Chạy trong background để không block UI
- Báo cáo tiến độ trong chat
Tính toán có thể mất vài phút với dữ liệu lớn, bạn có thể tiếp tục làm việc khác
Lỗi thường gặp & cách xử lý
| Lỗi | Nguyên nhân | Cách xử lý |
|---|---|---|
| ”Không tìm thấy cột X” | Sai tên cột | Hỏi “Liệt kê các cột của layer X" |
| "Query trả về kết quả trống” | Điều kiện quá chặt | Thử bỏ bớt điều kiện, kiểm tra dữ liệu |
| ”Thuật toán SAGA không có” | Chưa cài plugin SAGA | Cài SAGA trong Plugin Manager (xem Bài 9) |
| “CRS không khớp” | Layer có CRS khác nhau | Hỏi “Reproject layer X sang EPSG:4326” trước |
| ”Timeout khi phân tích” | Dữ liệu quá lớn | Lọc trước, hoặc dùng background processing |
| ”Kết quả không chính xác” | Đơn vị diện tích sai (m² vs ha) | Hỏi “Đơn vị diện tích của cột X là gì?” |
Mẹo nâng cao
1. Kết hợp SQL với Python
Nếu truy vấn SQL phức tạp, Agent sẽ tự động chuyển sang dùng Python script. Xem Bài 10: Python Console.
2. Dùng Spatial Index để tăng tốc
Tạo spatial index cho layer X để tăng tốc các truy vấn không gian
3. Lưu kết quả thường dùng
Khi thống kê một tỉnh nhiều lần, bạn có thể lưu kết quả thành “virtual layer” để dùng lại nhanh.
4. Kiểm tra chất lượng dữ liệu trước khi phân tích
Kiểm tra geometry có lỗi không trong layer lô rừng
→ Agent sẽ dùng Geometry Checker plugin.
Liên kết
- Khám phá & thành lập bản đồ — Navigate, select, style
- Python Console — Custom analysis scripts
- Tạo, sửa, xuất dữ liệu — Save analysis results
- Xem dữ liệu — Mở và xem layer