Kiểm tra dữ liệu sau biên tập: khóa, null, hình học và lịch sử thay đổi là Bài 32 của chuyên đề ArcGIS Pro trong phân tích không gian BĐS. Thiết kế QA sau biên tập ArcGIS Pro: kiểm khóa trùng/mất, Null bất thường, domain/subtype, Check Geometry, diện tích/chiều dài, orphan relationships và nhật ký thay đổi trước khi dùng dữ liệu cho phân tích.
Biên soạn: ThS. Nguyễn Mạnh Hùng
GV. Khoa QLĐĐ&BĐS – ĐH Nông Lâm TP.HCM
Email: nguyenmanhhung@hcmuaf.edu.vn
Cập nhật 02/10/2026: Nội dung được đối chiếu với tài liệu ArcGIS Pro 3.6 của Esri. Tên pane, menu hoặc tùy chọn có thể thay đổi nhẹ theo bản vá, ngôn ngữ giao diện và loại lớp dữ liệu.
Lưu ý: phần trình bày bản đồ trong ArcGIS Pro là bước truyền đạt kết quả phân tích, không phải bằng chứng thay thế cho chất lượng dữ liệu, phương pháp phân tích hoặc nguồn pháp lý của BĐS.
Mục tiêu học tập
- Hiểu đúng câu hỏi BĐS mà công cụ hoặc kỹ thuật trong bài đang giải quyết.
- Biết dữ liệu đầu vào, kiểu biến, khóa, tỷ lệ bản đồ hoặc nguồn cần kiểm trước khi thao tác.
- Thực hiện được quy trình trên ArcGIS Pro theo cách có thể lặp lại và bàn giao.
- Nhận diện lỗi dễ gây sai bản đồ hoặc sai kết quả ngay cả khi phần mềm vẫn chạy.
- Biết cách kiểm đầu ra bằng số liệu, bảng thuộc tính và bản đồ thay vì chỉ nhìn hình.
Vị trí trong lộ trình 96 bài
Bài thuộc Chương 4 – Biên tập và quản lý dữ liệu. Sau Create Features, Snapping, Modify Features, Edit Vertices, Calculate Geometry Attributes và Calculate Field, Bài 31–32 hoàn tất chương bằng việc ghép bảng theo khóa và kiểm định chất lượng sau biên tập. Đây là bước chuyển từ 'dữ liệu đã sửa' sang 'dữ liệu đủ điều kiện để phân tích và trình bày'.
1. QA sau edit là bước bắt buộc
Mỗi batch chỉnh sửa có thể tạo lỗi schema, attribute hoặc geometry dù thao tác không báo lỗi.
Không chuyển thẳng sang phân tích.
Kiểm dữ liệu: trước khi thao tác, ghi số dòng/feature, field khóa, kiểu dữ liệu, selection/filter và trạng thái master/staging. Một phép ghép hoặc sửa hình học chỉ có ý nghĩa khi phạm vi dữ liệu được xác định rõ.
2. Kiểm khóa duy nhất
Business key/GlobalID phù hợp phải không trùng khi nghiệp vụ yêu cầu unique.
Dùng Frequency/Summary Statistics hoặc query.
Kiểm nghiệp vụ: phân biệt khóa kỹ thuật với khóa nghiệp vụ, Null với 0, object geometry với hồ sơ pháp lý. ArcGIS Pro có thể chấp nhận dữ liệu về mặt kỹ thuật nhưng không xác nhận ý nghĩa nghiệp vụ thay người dùng.
3. Kiểm Null theo field bắt buộc
Null tăng sau Join/Split/Import thường là tín hiệu cần điều tra.
Không thay hàng loạt bằng 0.
Kiểm trước–sau: lưu ít nhất một chỉ số so sánh như số bản ghi ghép được, số Null, số khóa trùng, số lỗi hình học, diện tích hoặc extent. Không dùng screenshot đơn lẻ làm bằng chứng duy nhất.
4. Kiểm domain/subtype values
Records mới hoặc imported có thể chưa tuân danh mục mong đợi.
Thống kê giá trị lạ.
Tái lập: ghi công cụ, tham số, bản dữ liệu, field khóa và output. Nếu lần chạy sau không thể tạo lại cùng số lượng matched/unmatched hoặc cùng bảng QA, quy trình chưa đủ chặt.
5. Check Geometry phát hiện lỗi hình học
Esri Check Geometry tạo bảng vấn đề như Null geometry, short segment, ring ordering và các lỗi khác tùy storage.
Đây là chẩn đoán, không tự sửa.
Kiểm dữ liệu: trước khi thao tác, ghi số dòng/feature, field khóa, kiểu dữ liệu, selection/filter và trạng thái master/staging. Một phép ghép hoặc sửa hình học chỉ có ý nghĩa khi phạm vi dữ liệu được xác định rõ.
6. Repair Geometry phải dùng có kiểm soát
Một số lỗi có thể sửa bằng Repair Geometry nhưng hành vi phụ thuộc storage.
Backup và đọc messages trước.
Kiểm nghiệp vụ: phân biệt khóa kỹ thuật với khóa nghiệp vụ, Null với 0, object geometry với hồ sơ pháp lý. ArcGIS Pro có thể chấp nhận dữ liệu về mặt kỹ thuật nhưng không xác nhận ý nghĩa nghiệp vụ thay người dùng.
7. Feature count trước–sau
Split/Merge/Delete/Append có thể làm số feature thay đổi.
Phải giải thích được chênh lệch.
Kiểm trước–sau: lưu ít nhất một chỉ số so sánh như số bản ghi ghép được, số Null, số khóa trùng, số lỗi hình học, diện tích hoặc extent. Không dùng screenshot đơn lẻ làm bằng chứng duy nhất.
8. Area/Length distribution
Sau chỉnh geometry, xem min/max/median và extreme changes.
Một polygon tăng 500% cần reason.
Tái lập: ghi công cụ, tham số, bản dữ liệu, field khóa và output. Nếu lần chạy sau không thể tạo lại cùng số lượng matched/unmatched hoặc cùng bảng QA, quy trình chưa đủ chặt.
9. Extent bất thường
Một vertex kéo nhầm có thể làm extent layer mở rộng hàng trăm km.
Kiểm extent và zoom to problem feature.
Kiểm dữ liệu: trước khi thao tác, ghi số dòng/feature, field khóa, kiểu dữ liệu, selection/filter và trạng thái master/staging. Một phép ghép hoặc sửa hình học chỉ có ý nghĩa khi phạm vi dữ liệu được xác định rõ.
10. Orphan records
Relationship Class hoặc foreign key table có thể còn record không tìm thấy parent.
Kiểm referential integrity.
Kiểm nghiệp vụ: phân biệt khóa kỹ thuật với khóa nghiệp vụ, Null với 0, object geometry với hồ sơ pháp lý. ArcGIS Pro có thể chấp nhận dữ liệu về mặt kỹ thuật nhưng không xác nhận ý nghĩa nghiệp vụ thay người dùng.
11. Attachments bị mất hoặc orphan
Copy/export/edit workflow có thể ảnh hưởng attachments nếu dùng công cụ không hỗ trợ.
Mở kiểm sample.
Kiểm trước–sau: lưu ít nhất một chỉ số so sánh như số bản ghi ghép được, số Null, số khóa trùng, số lỗi hình học, diện tích hoặc extent. Không dùng screenshot đơn lẻ làm bằng chứng duy nhất.
12. Selection residue
Một số field calculations trước đó chỉ cập selected records; QA phải xem phân bố Null/old values.
Không giả định toàn bảng đã cập nhật.
Tái lập: ghi công cụ, tham số, bản dữ liệu, field khóa và output. Nếu lần chạy sau không thể tạo lại cùng số lượng matched/unmatched hoặc cùng bảng QA, quy trình chưa đủ chặt.
13. Editor tracking/lịch sử thay đổi
Nếu workflow dùng editor tracking/versioning, kiểm created/edited user/date theo batch.
Không thay thế reason log nhưng hỗ trợ audit.
Kiểm dữ liệu: trước khi thao tác, ghi số dòng/feature, field khóa, kiểu dữ liệu, selection/filter và trạng thái master/staging. Một phép ghép hoặc sửa hình học chỉ có ý nghĩa khi phạm vi dữ liệu được xác định rõ.
14. Nhật ký reason code
MOVE, RESHAPE, ATTRIBUTE_FIX, JOIN_UPDATE… giúp phân biệt thay đổi.
Không ghi 'sửa dữ liệu' chung chung.
Kiểm nghiệp vụ: phân biệt khóa kỹ thuật với khóa nghiệp vụ, Null với 0, object geometry với hồ sơ pháp lý. ArcGIS Pro có thể chấp nhận dữ liệu về mặt kỹ thuật nhưng không xác nhận ý nghĩa nghiệp vụ thay người dùng.
15. Compare snapshot
So master trước–sau bằng key, field values và geometry metrics.
Có thể export audit table.
Kiểm trước–sau: lưu ít nhất một chỉ số so sánh như số bản ghi ghép được, số Null, số khóa trùng, số lỗi hình học, diện tích hoặc extent. Không dùng screenshot đơn lẻ làm bằng chứng duy nhất.
16. Kiểm sample ngẫu nhiên và high-risk cases
Không chỉ xem 5 dòng đầu; chọn ngẫu nhiên và các case cực trị.
Kết hợp automated + manual QA.
Tái lập: ghi công cụ, tham số, bản dữ liệu, field khóa và output. Nếu lần chạy sau không thể tạo lại cùng số lượng matched/unmatched hoặc cùng bảng QA, quy trình chưa đủ chặt.
17. Gate trước phân tích
Chỉ khi duplicate/null/geometry/orphan đạt tiêu chí mới publish analytic dataset.
Đây là quality gate.
Kiểm dữ liệu: trước khi thao tác, ghi số dòng/feature, field khóa, kiểu dữ liệu, selection/filter và trạng thái master/staging. Một phép ghép hoặc sửa hình học chỉ có ý nghĩa khi phạm vi dữ liệu được xác định rõ.
18. Kết luận
Biên tập chưa kết thúc khi Save Edits; chỉ kết thúc khi QA giải thích được mọi thay đổi đáng kể.
Dữ liệu sạch cần bằng chứng.
Kiểm nghiệp vụ: phân biệt khóa kỹ thuật với khóa nghiệp vụ, Null với 0, object geometry với hồ sơ pháp lý. ArcGIS Pro có thể chấp nhận dữ liệu về mặt kỹ thuật nhưng không xác nhận ý nghĩa nghiệp vụ thay người dùng.
Thao tác/công cụ trọng tâm
Frequency/Summary Statistics, Select By Attributes, Check Geometry, Repair Geometry trên bản sao; Layer Properties/extent; relationship/attachment checks.
Khuyến nghị thao tác trên staging/bản sao trước khi ghi vào master. Sau mỗi bước, đóng/mở lại table hoặc layer để kiểm thực trạng dữ liệu chứ không chỉ dựa vào trạng thái hiển thị đang giữ trong project.
Tình huống thực hành BĐS
Sau một tuần chỉnh thửa, QA phát hiện 3 mã trùng, 17 Null loại đất, 2 polygon có Null geometry và một polygon có extent kéo lệch 70 km do vertex sai. Nhóm xử lý từng nhóm lỗi trước khi tạo `thua_analytic_v04`.
Tình huống được chấm theo khả năng giải thích lựa chọn và kiểm chứng kết quả. Sinh viên phải nêu được dữ liệu nguồn, tham số chính, điều đã thay đổi, điều không thay đổi và giới hạn của sản phẩm cuối.
Ma trận quyết định nhanh
| Tình huống | Cách hiểu/công cụ | Mục tiêu | Điểm phải kiểm |
|---|---|---|---|
| Key QA | Duplicates | Identity | Must pass |
| Null QA | Required fields | Completeness | Investigate |
| Geometry QA | Check Geometry | Validity | Repair carefully |
| Extent/area | Distribution | Edit mistakes | Compare |
| History | Editor/reason log | Audit | Handoff |
Quy trình thực hành đề xuất
- Khóa batch chỉnh sửa và version dữ liệu.
- Đếm feature/row trước–sau.
- Kiểm duplicate business keys.
- Kiểm Null ở fields bắt buộc.
- Kiểm domain/subtype values.
- Chạy Check Geometry.
- Kiểm extent và cực trị area/length.
- Kiểm orphan relations/attachments nếu có.
- Kiểm editor tracking/change log.
- Sửa lỗi trên bản sao hoặc theo quy trình.
- Chạy lại QA.
- Chỉ phát hành analytic version khi tất cả gates đạt.
Bài thực hành
Tạo checklist QA 15 mục cho một lớp vừa edit và sinh bảng Pass/Fail/Action.
Sản phẩm sinh viên phải nộp
- QA checklist
- Check Geometry output
- Duplicate/null report
- Area/extent comparison
- Change log
Những lỗi thường gặp
- Save Edits=xong
- Repair Geometry trên master không backup
- Không kiểm duplicate key
- Null→0 hàng loạt
- Không kiểm extent
- Không kiểm orphan
- Chỉ QA thủ công
- Không version analytic output
Lỗi 1 – Save Edits=xong: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Lỗi 2 – Repair Geometry trên master không backup: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Lỗi 3 – Không kiểm duplicate key: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Lỗi 4 – Null→0 hàng loạt: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Lỗi 5 – Không kiểm extent: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Lỗi 6 – Không kiểm orphan: hãy tạo một ví dụ cụ thể, chỉ ra dấu hiệu nhận biết và hậu quả. Sau khi sửa, nộp một bằng chứng before–after hoặc bảng kiểm để chứng minh lỗi đã được xử lý.
Phản biện chéo
Nhóm phản biện chọn ngẫu nhiên 10 khóa hoặc 10 feature để kiểm. Họ phải xác nhận key matching, Null, geometry và change log mà không dựa vào lời giải thích miệng của nhóm tạo dữ liệu. Nếu không thể lần ngược, quy trình chưa đạt chuẩn bàn giao.
Checklist QA cuối bài
- Đúng project/layer/table/layout.
- Nguồn dữ liệu và thời điểm đã ghi.
- Field/key/measurement level đã kiểm.
- Null/duplicate/outlier hoặc category values đã kiểm.
- Selection/filter không còn sót ngoài chủ đích.
- Công cụ và tham số chính được lưu.
- Đơn vị và nhãn hiển thị rõ.
- Không làm mất source/raw.
- Đã kiểm output bằng ít nhất một cách độc lập.
- Nếu là bản đồ, đã kiểm ở tỷ lệ/kích thước xuất thật.
- Nếu có so sánh nhiều bản đồ, rules cần so sánh đã được giữ nhất quán.
- Người khác có thể mở project/output và hiểu không cần hỏi lại.
Ghi nhớ trong 30 giây
- Edit xong phải QA
- Key/Null/Geometry là ba lớp chính
- Check Geometry chẩn đoán
- Repair phải backup
- QA là gate trước phân tích
Nguồn tham khảo
Nguồn kỹ thuật chính là tài liệu chính thức Esri ArcGIS Pro 3.6. Các ví dụ BĐS chỉ nhằm minh họa cách áp dụng; khi phát hành bản đồ hoặc sử dụng dữ liệu hành chính/pháp lý cần ghi đúng nguồn và phạm vi sử dụng.
- https://pro.arcgis.com/en/pro-app/3.6/tool-reference/data-management/check-geometry.htm
- https://pro.arcgis.com/en/pro-app/3.6/tool-reference/data-management/repair-geometry.htm
Bài tiếp theo
Symbology: chọn kiểu ký hiệu theo câu hỏi BĐS.
Bài luyện tập mở rộng
Luyện tập 1
Duplicate-key audit.
Yêu cầu nộp: ảnh/bảng kiểm, thông số đã dùng, một nhận xét về rủi ro và một dòng giải thích vì sao lựa chọn cuối phù hợp hơn phương án thay thế.
Luyện tập 2
Null audit.
Yêu cầu nộp: ảnh/bảng kiểm, thông số đã dùng, một nhận xét về rủi ro và một dòng giải thích vì sao lựa chọn cuối phù hợp hơn phương án thay thế.
Luyện tập 3
Check/Repair Geometry lab.
Yêu cầu nộp: ảnh/bảng kiểm, thông số đã dùng, một nhận xét về rủi ro và một dòng giải thích vì sao lựa chọn cuối phù hợp hơn phương án thay thế.
Luyện tập 4
Extent anomaly hunt.
Yêu cầu nộp: ảnh/bảng kiểm, thông số đã dùng, một nhận xét về rủi ro và một dòng giải thích vì sao lựa chọn cuối phù hợp hơn phương án thay thế.
Phòng thí nghiệm kiểm lỗi
Tạo một bản staging có khóa bị mất số 0 đầu, một nhóm Null sau Join và một polygon geometry lỗi. Nhóm khác phải phát hiện đủ ba nhóm lỗi bằng kiểm tra thuộc tính và Check Geometry, sau đó lập báo cáo matched/unmatched và Pass/Fail trước khi cho phép tạo analytic output.
Biên bản QA mẫu
| Mục | Trước | Sau | Kết luận |
|---|---|---|---|
| Input | N/key | Đã kiểm | Đúng |
| Join/Edit | Matched/changes | Đã ghi | Giải thích |
| Null/Duplicate | Số lượng | Sau xử lý | Đạt |
| Geometry | Check Geometry | Sau sửa | Đạt |
| Version | Staging | Analytic | Rõ |
| Audit | Log | Có thể truy | Đạt |
Câu hỏi tự luận cuối bài
- Giải thích vì sao “Kiểm tra dữ liệu sau biên tập: khóa, null, hình học và lịch sử thay đổi” có thể làm người đọc hoặc người phân tích hiểu sai dù ArcGIS Pro không báo lỗi.
- Nêu một trường hợp dữ liệu đầu vào đúng nhưng cách trình bày/thao tác làm kết quả sai hoặc gây hiểu nhầm.
- Đề xuất một phép kiểm độc lập trước khi bàn giao.
- Nêu bốn thông tin phải có trong nhật ký hoặc metadata của sản phẩm cuối.
Mẫu kiểm tra sau biên tập theo mức độ rủi ro
Không phải mọi thay đổi đều cần mức kiểm tra giống nhau. Sửa alias hoặc nhãn hiển thị ít rủi ro hơn Move một polygon thửa hoặc Join Field hàng chục nghìn bản ghi. Vì vậy có thể chia batch thành ba mức: thấp – chỉ metadata/hiển thị; trung bình – thuộc tính có thể khôi phục; cao – geometry, khóa, quan hệ hoặc cập nhật hàng loạt. Với mức cao nên có người kiểm thứ hai hoặc ít nhất so snapshot trước–sau bằng khóa ổn định.
Một biên bản QA tốt nên tách rõ “lỗi phát hiện”, “hành động sửa”, “kết quả sau sửa” và “người xác nhận”. Nếu sửa geometry, ghi thêm area/extent trước–sau; nếu sửa thuộc tính, ghi count records affected; nếu sửa join, ghi matched/unmatched/duplicate. Cách này giúp project không phụ thuộc trí nhớ người biên tập.