Appearance
Bảng Thống Kê & Biểu Đồ Phân Tích (GIS Dashboard)
Phân hệ GIS Dashboard biến bản đồ địa lý thành một trung tâm điều hành dữ liệu số thông minh (Operations Dashboard), cho phép trực quan hóa các chỉ số đo lường hiệu suất (KPIs), biểu đồ cơ cấu và phân tích thuộc tính của các lớp bản đồ GIS theo thời gian thực.

1. Quy Trình 5 Bước Tạo Một Biểu Đồ Mới (Widget Creation)
Để tạo một widget biểu đồ hoặc thẻ chỉ số mới, thực hiện theo các bước sau:
- Mở bảng Dashboard: Bấm vào biểu tượng Bảng thống kê (Dashboard) trên thanh công cụ bên trái bản đồ (hoặc menu Tiện ích mở rộng trên thanh điều hướng đỉnh). Bảng điều khiển sẽ trượt lên từ đáy màn hình.
- Kích hoạt trình tạo: Nhấp vào nút "+ Thêm biểu đồ" (hoặc nút "Nhấp để tạo biểu đồ đầu tiên" nếu bảng đang trống). Hộp thoại Thêm biểu đồ / thẻ thống kê (Widget Editor Dialog) sẽ xuất hiện.
- Chọn Lớp dữ liệu nguồn (Source Layer):
- Danh sách thả xuống tự động liệt kê các lớp bản đồ Vector và lớp Đo đạc có bảng thuộc tính dữ liệu trong dự án.
- Lưu ý: Hệ thống tự động loại bỏ các lớp Raster, ảnh vệ tinh hoặc DEM vì các lớp này không chứa bảng thuộc tính dạng bảng.
- Nhập Tiêu đề hiển thị (Title): Đặt tên gợi nhớ cho biểu đồ (ví dụ: Cơ cấu Loại đất Thu hồi, Tổng Dự toán Bồi thường, Tiến độ Bàn giao).
- Chọn Loại biểu đồ & Cấu hình trường dữ liệu: Lựa chọn dạng trực quan phù hợp (Thẻ KPI, Biểu đồ Cột, Tròn, Đường, Phân phối...) và thiết lập các trường tương ứng theo hướng dẫn chi tiết ở mục 2.
- Chọn màu sắc & Hoàn tất: Chọn bảng màu chủ đạo (Color Picker) và bấm nút "Tạo Widget". Biểu đồ sẽ xuất hiện ngay lập tức trên bảng điều khiển.

2. Cơ Chế Phân Loại Trường: Tại Sao Khi Chọn Loại Biểu Đồ Này Lại Có Field Này Mà Field Kia Không Có?
Một trong những ưu điểm kỹ thuật vượt trội của InfraMap GIS là thuật toán nhận diện cấu trúc thuộc tính tự động (Automatic Schema Inspection). Khi người dùng chọn một lớp dữ liệu, hệ thống tự động quét qua các tính năng (features) và phân loại toàn bộ thuộc tính thành 2 nhóm:
- Trường Dạng Số (Numeric Fields): Chứa giá trị số thực/nguyên có thể tính toán toán học (như
dien_tich,gia_boi_thuong,so_cay,so_nhan_khau,don_gia...). - Trường Phân Loại / Danh Mục (Categorical Fields): Chứa văn bản chuỗi mô tả dùng để gom nhóm và phân cấp (như
loai_dat,status,phuong_xa,chu_ho,to_dan_pho...).
Logic Hiển Thị Trường Theo Từng Loại Biểu Đồ:
| Loại Biểu Đồ | Trường Hiển Thị Trên Form | Trường Bị Ẩn Đi & Nguyên Lý Kỹ Thuật |
|---|---|---|
| Thẻ KPI (Indicator) | • Phép toán (Aggregation): Đếm (Count), Tổng (Sum), Trung bình (Mean), Min, Max. • Trường tính toán (Field): Chỉ hiển thị trường số. • Tiền tố / Hậu tố: Ký hiệu tiền tệ ( ₫, $) hoặc đơn vị (m², thửa, hộ). | ❌ Ẩn Trường phân loại (Category): Vì thẻ KPI chỉ tính toán và trả về một con số vô hướng duy nhất (Scalar Metric) đại diện cho toàn bộ lớp, không cần trục phân nhóm. (Lưu ý: Nếu chọn phép toán là "Đếm", ô chọn trường số cũng sẽ được ẩn vì hệ thống chỉ cần đếm số lượng bản ghi). |
| Cột (Bar) & Vành khuyên (Donut) & Tròn (Pie) | • Trường phân loại (Category): Chọn trường văn bản làm nhãn trục hoành hoặc chia các lát cắt (ví dụ loai_dat, status).• Phép toán: Đếm số lượng đối tượng hoặc Tính tổng/trung bình. • Trường tính toán số liệu (Field): Chỉ xuất hiện khi phép toán khác "Đếm". | ❌ Nếu phép toán là "Đếm (Count)", ô chọn trường số sẽ bị ẩn vì hệ thống tự động đếm tần suất xuất hiện của từng danh mục. Khi chuyển sang "Tổng (Sum)" hoặc "Trung bình (Mean)", ô này sẽ lập tức hiện ra để người dùng chỉ định trường số cần tính (ví dụ tính tổng dien_tich cho từng loai_dat). |
| Đường (Line) | • Trường danh mục / thời gian (Category): Trục hoành thời gian (ngày, tháng, năm). • Trường giá trị số (Field): Trục tung thể hiện giá trị biến thiên. | ❌ Cần bắt buộc cả 2 trục để vẽ đồ thị tọa độ $XY$. |
| Phân phối (Histogram) | • Trường số liệu (Numeric Field): Chọn trường số cần phân tích dải tần suất (ví dụ dien_tich).• Số khoảng phân bố (Bins): Số cột chia khoảng (ví dụ 5, 10, 20 khoảng). | ❌ Ẩn hoàn toàn Trường phân loại (Category): Histogram là biểu đồ phân tích tần suất liên tục của một biến số thực duy nhất. Thuật toán tự động tính khoảng Min - Max và chia đều thành các rổ giá trị (Bins), do đó không nhận trường văn bản. |
| Bộ lọc Dữ liệu (Selector Widget) | • Trường phân loại (Category): Chọn trường làm danh sách lọc (ví dụ phuong_xa, status).• Cho phép chọn nhiều (Multiple): Bật/tắt cho phép tích chọn nhiều mục cùng lúc. | ❌ Ẩn Phép toán và Trường số liệu: Selector là công cụ điều khiển tương tác (Interactive Filter Control), không phải biểu đồ tính toán. Khi người dùng nhấp chọn giá trị trên Selector, toàn bộ Dashboard và bản đồ sẽ đồng bộ lọc theo. |
| Phân tán (Scatter) | • Trường trục X & Trường trục Y: Hai trường số liệu để khảo sát tương quan. | ❌ Không sử dụng phép tính gom nhóm vì mỗi điểm đại diện cho một đối tượng riêng biệt. |
3. Đọc & Khai Thác Kết Quả Trên Bảng Dashboard Hoàn Chỉnh
Giao diện bảng thống kê cung cấp bức tranh số liệu toàn cảnh thời gian thực về dự án:
- Thẻ KPI Tổng số Thửa đất: Hiển thị tức thì tổng quy mô thu hồi (ví dụ:
40 thửa). - Thẻ KPI Tổng Dự toán Bồi thường: Tự động cộng dồn toàn bộ kinh phí bồi thường về đất và tài sản (ví dụ:
₫ 21,980,000,000). - Biểu đồ Donut Cơ cấu Loại đất: Phân tích trực quan tỷ lệ phần trăm giữa Đất ở (ONT), Đất trồng cây (CLN), Đất lúa (LUC), Đất nuôi trồng thủy sản (NTS) và Đất phi nông nghiệp.
- Biểu đồ Cột Tiến độ Giải phóng Mặt bằng: Thống kê số lượng hồ sơ đã bàn giao mặt bằng, đã ký biên bản, đang kiểm đếm, đã nhận tiền và các trường hợp chưa đồng thuận.
- Biểu đồ Histogram Phân bố Diện tích: Phân bổ các nhóm diện tích thu hồi (ví dụ dải $118m^2 - 197m^2$, $197m^2 - 277m^2$...) giúp phát hiện các thửa đất diện tích siêu nhỏ hoặc quá lớn.
- Bộ lọc Selector Xã / Phường: Cho phép nhấp chuột để lọc nhanh dữ liệu theo địa bàn từng xã/phường.
4. Cách Xem Chi Tiết Biểu Đồ: Mở Rộng & Phóng To Toàn Màn Hình
Để phục vụ các buổi họp giao ban báo cáo tiến độ hoặc khi cần phân tích sâu một biểu đồ có quá nhiều danh mục chi tiết, hệ thống cung cấp 3 cơ chế mở rộng linh hoạt:

Cách 1: Phóng to Cực đại Toàn bộ Dashboard (Maximize Dock)
- Nhấp vào nút Phóng to (Maximize) ở góc trên bên phải thanh tiêu đề Dashboard (hoặc bấm tổ hợp phím tắt
Ctrl + Shift + ↑trên Windows hoặcCmd + Shift + ↑trên Mac). - Toàn bộ bảng Dashboard sẽ mở rộng chiếm 100% diện tích màn hình, chuyển sang chế độ trung tâm điều hành chuyên dụng (Command Center), hiển thị sắc nét toàn bộ các biểu đồ mà không bị che khuất.
- Nhấp lại vào nút Thu nhỏ (Minimize) hoặc bấm phím tắt mũi tên xuống để trở về kích thước bình thường.
Cách 2: Phóng to Xem Chi Tiết Một Widget Đơn Lẻ (Single Widget Modal)
- Trên góc trên bên phải của từng thẻ Widget, nhấp vào biểu tượng Phóng to thẻ (Maximize2).
- Hệ thống mở một hộp thoại phóng to toàn màn hình dành riêng cho biểu đồ đó:
- Tự động kích hoạt thanh công cụ đồ họa tương tác của ApexCharts: Cho phép kéo chuột phóng to một vùng dữ liệu (Box Zoom), kéo di chuyển trục thời gian (Pan), và đặt lại góc nhìn gốc (Reset Zoom).
- Tải về ảnh biểu đồ chất lượng cao dạng file ảnh PNG hoặc đồ họa vector SVG để chèn vào báo cáo Word/PowerPoint.
Cách 3: Co Giãn Độ Cao Linh Hoạt & Đổi Số Cột Hiển Thị
- Kéo ray thay đổi chiều cao (Resizer Handle): Đặt con trỏ chuột vào mép trên cùng của bảng Dashboard (con trỏ chuyển thành mũi tên 2 chiều
↕), nhấn giữ và kéo lên/xuống để điều chỉnh độ cao theo ý muốn (từ 160px đến 700px). - Tùy biến số cột hiển thị (Columns Selector): Bấm vào ô chọn Số cột trên thanh tiêu đề để chuyển đổi giữa bố cục 1 cột, 2 cột, 3 cột hoặc 4 cột tùy theo độ phân giải màn hình làm việc.
5. Các Lưu Ý Quan Trọng Khi Quản Trị Widget
- Lưu ý về Nạp Dữ Liệu Thuộc Tính: Widget chỉ có thể tính toán số liệu chính xác khi lớp bản đồ đã tải xong dữ liệu thuộc tính GeoJSON (
_loaded). Nếu lớp vừa được thêm vào từ nguồn mới, hãy đảm bảo lớp đã được bật hiển thị trên bản đồ. - Xử Lý Dữ Liệu Chuỗi Lẫn Số: Nếu một trường số bị nhập nhầm ký tự chữ (ví dụ nhập
150m2thay vì150), hệ thống sẽ phân loại trường đó vào nhóm Danh mục. Để khắc phục, cần chuẩn hóa lại dữ liệu nguồn ở dạng số thuần túy trước khi tạo biểu đồ tính tổng. - Cơ Chế Lọc Tương Tác Chéo (Cross-Filtering): Khi bạn bấm chọn một giá trị trên widget Selector (ví dụ chọn Phường An Hòa), tất cả các widget khác trên bảng thống kê sẽ tự động tính toán lại dữ liệu chỉ riêng cho Phường An Hòa mà không cần cấu hình lại từng biểu đồ.
- Chỉnh Sửa & Xóa Widget:
- Nhấp biểu tượng chiếc bút chì (Pencil) trên thẻ để mở lại hộp thoại điều chỉnh cấu hình, đổi màu sắc hoặc đổi trường dữ liệu.
- Nhấp biểu tượng thùng rác (Trash) để xóa widget khi không còn nhu cầu sử dụng.