Domain: khóa danh mục loại đất, loại BĐS và trạng thái nhập liệu là Bài 13 của chuyên đề ArcGIS Pro trong phân tích không gian BĐS. Dùng coded value domain và range domain trong geodatabase để giới hạn giá trị hợp lệ cho field, giảm lỗi nhập danh mục loại đất, loại BĐS, trạng thái hồ sơ và các ngưỡng số.
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 thao tác được đối chiếu với tài liệu chính thức ArcGIS Pro 3.6 của Esri. Tên nút, tab hoặc pane có thể khác nhẹ theo bản vá, ngôn ngữ giao diện và loại giấy phép.
Lưu ý phương pháp: ArcGIS Pro có thể hiển thị các lớp khác hệ tọa độ nhờ phép chiếu động trên bản đồ, nhưng điều đó không chứng minh dữ liệu nguồn đã được khai báo đúng hoặc kết quả đo khoảng cách, diện tích và chồng lớp đã đáng tin. Luôn kiểm nguồn, spatial reference, đơn vị, phạm vi và mục tiêu phân tích trước khi kết luận BĐS.
Mục tiêu học tập
- Hiểu đúng khái niệm ArcGIS Pro của bài và vai trò trong quy trình dữ liệu BĐS.
- Biết dữ liệu đầu vào, metadata và điều kiện phải kiểm trước khi thao tác.
- Thực hiện workflow theo cách có thể lặp lại trên ArcGIS Pro 3.6.
- Phân biệt thay đổi hiển thị, thay đổi schema và thay đổi dữ liệu nguồn.
- Ghi lại source, spatial reference, version và quyết định để project có thể bàn giao.
Vị trí trong lộ trình 96 bài
Bài thuộc Chương 2 – Dữ liệu GIS và Geodatabase. Bài 9–10 đã đặt nền vector/raster và Feature Class–Table–Feature Dataset. Bài 11–16 đi sâu từ định dạng lưu trữ đến schema có kiểm soát: Shapefile/File GDB, field, domain, subtype, relationship class và attachments. Mục tiêu là biến dữ liệu BĐS từ nhiều lớp rời thành một mô hình geodatabase có cấu trúc và khả năng bàn giao.
1. Domain là quy tắc giá trị hợp lệ
Esri định nghĩa domain là cách quy định các giá trị được phép gán cho field trong geodatabase.
Đây là lớp kiểm soát schema, không chỉ danh sách hiển thị.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
2. Có hai loại chính
Coded Value Domain chứa tập mã–nhãn; Range Domain chứa min–max cho numeric/date phù hợp.
Chọn theo bản chất biến.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
3. Coded Value phù hợp danh mục BĐS
Ví dụ `1=Căn hộ`, `2=Nhà phố`, `3=Đất ở`. Người nhập chọn danh sách thay vì gõ tự do.
Giảm lỗi chính tả và biến thể tên.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
4. Range Domain phù hợp giới hạn số
Ví dụ số tầng 0–100 hoặc điểm chất lượng 0–100 nếu nghiệp vụ thật sự giới hạn.
Không đặt range tùy ý chỉ để chặn outlier.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
5. Domain sống ở cấp geodatabase
Một domain có thể được gán cho nhiều field/dataset tương thích trong cùng geodatabase.
Không phải mỗi layer tự có một danh mục độc lập.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
6. Field type phải tương thích domain
Domain integer không gán tùy tiện cho field text và ngược lại.
Thiết kế type trước domain.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
7. Domain có thể khác theo subtype
Một field có thể dùng domain khác tùy subtype trong geodatabase.
Bài 14 sẽ khai thác cho từng loại BĐS.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
8. Domain không tự làm sạch dữ liệu cũ
Nếu dữ liệu nguồn đã có mã sai, gán domain không nên được xem là bước 'sửa sạch' tự động.
Cần thống kê giá trị lạ và remap có kiểm soát.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
9. Mã và nhãn nên tách logic
Code ổn định, description có thể thân thiện và thay đổi cách hiển thị.
Không dùng mô tả dài làm khóa quan hệ nếu có thể.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
10. Không thay đổi code tùy tiện
Đổi `1=Căn hộ` thành `1=Đất` làm ý nghĩa dữ liệu cũ đảo ngược.
Version domain như schema.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
11. Trạng thái hồ sơ là ứng dụng điển hình
`Mới tiếp nhận`, `Đang xử lý`, `Hoàn tất`, `Tạm dừng` có thể được mã hóa rõ.
Nhưng workflow nghiệp vụ phức tạp có thể cần rule khác ngoài domain.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
12. Loại đất cần nguồn danh mục chuẩn
Domain chỉ kỹ thuật hóa danh mục; danh mục pháp lý phải lấy từ nguồn quy định đang áp dụng.
Không tự sáng tạo mã pháp lý.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
13. Domain không thay Attribute Rules
Domain kiểm giá trị đơn field; logic liên trường như 'loại=đất thì số tầng phải Null' cần cơ chế/rule khác.
Biết giới hạn công cụ.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
14. Split/Merge policy là chi tiết nâng cao
Một số domain có chính sách khi feature split/merge trong geodatabase.
Không nên cấu hình nếu chưa hiểu hậu quả nghiệp vụ.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
15. QA sau khi gán domain
Mở Attributes/Fields, nhập giá trị hợp lệ và thử giá trị không hợp lệ trên dữ liệu thử.
Không kiểm trực tiếp trên master không backup.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
16. Export ra shapefile có thể mất behavior
Danh mục domain không phải lúc nào đi theo như geodatabase behavior khi xuất định dạng đơn giản.
Bàn giao cần codebook/domain table.
Liên hệ BĐS: trước khi thao tác, ghi rõ lớp này đại diện cho thửa đất, công trình, chủ thể, hồ sơ, tin rao, giao dịch, đường, tiện ích hay dữ liệu khảo sát. Cùng một tên gần giống nhau nhưng đơn vị quan sát, nguồn và thời điểm có thể khác hoàn toàn.
17. Domain cho nhập liệu khảo sát hiện trường
Các field trạng thái công trình, chất lượng đường, loại tiện ích có thể chọn từ list.
Giảm sai lệch người nhập.
Điểm kiểm ArcGIS Pro: quan sát Catalog, Contents, Source Properties và metadata của dataset. Nhiều lỗi tưởng là geoprocessing không chạy thực chất bắt đầu từ nhầm workspace, nhầm layer, field sai kiểu hoặc spatial reference không đúng.
18. Kết nối sang Subtype
Subtype chia object thành nhóm lớn; từng subtype có thể gán domain/default riêng.
Đó là bước nâng cấp ở Bài 14.
Dấu vết cần giữ: ghi tên project, dataset, source path/geodatabase, số bản ghi hoặc số feature, schema/spatial reference và mục đích của output. Người khác phải phân biệt được raw source, master data và derived output.
Thao tác/công cụ trọng tâm
Catalog/Fields/Domains view; Create Domain/Add Coded Value To Domain/Assign Domain To Field nếu dùng geoprocessing.
Trong lớp học nên dùng dữ liệu thử nghiệm hoặc bản sao trước. Sau mỗi thao tác thay schema, metadata hoặc geometry, hãy mở lại Source Properties, kiểm số bản ghi và so ít nhất một vài đối tượng mẫu thay vì chỉ nhìn bản đồ.
Tình huống thực hành BĐS
Lớp `BDS_Point` có `loai_bds` được nhập tự do: 'can ho', 'Căn hộ', 'CH', 'Apartment'. Nhóm tạo coded value domain, remap dữ liệu cũ trên bản sao và khóa nhập liệu mới bằng danh mục.
Điểm chấm của tình huống không nằm ở việc bấm được công cụ mà ở khả năng giải thích: đầu vào là gì, ArcGIS Pro đã thay đổi điều gì, output nằm ở đâu, metadata nào đổi và rủi ro nào còn tồn tại.
Ma trận quyết định nhanh
| Khái niệm/tình huống | Vai trò | Mục đích | Điểm phải kiểm |
|---|---|---|---|
| Coded Value | Danh mục | Loại/trạng thái | Mã–nhãn |
| Range | Khoảng numeric | Điểm/số tầng | Min–max |
| Subtype-specific | Domain theo nhóm | Chi tiết khác nhau | Bài 14 |
| Codebook | Bàn giao ngoài GDB | Giữ ý nghĩa mã | Bắt buộc |
| Attribute Rule | Logic phức tạp | Liên trường | Khác domain |
Quy trình thao tác chuẩn tại lớp
- Mở đúng project và kiểm tên/version.
- Xác định active Map/Scene và workspace/geodatabase đang dùng.
- Mở Catalog Pane và Contents Pane.
- Kiểm Source Properties của lớp/bảng trước khi chỉnh.
- Ghi số feature/row và các field trọng yếu.
- Tạo bản sao thử nghiệm nếu thao tác thay schema/metadata/geometry.
- Thực hiện công cụ hoặc chỉnh cấu trúc của bài.
- Kiểm Messages/History của geoprocessing nếu có.
- Mở lại output và kiểm source/schema/spatial reference.
- So một vài records/features trước–sau.
- Lưu project và output đúng thư mục/GDB.
- Cập nhật nhật ký workflow và limitation.
Bài thực hành
Tạo 2 coded value domains và 1 range domain, gán vào lớp BĐS thử nghiệm và kiểm nhập đúng/sai.
Sản phẩm sinh viên phải nộp
- Domain list
- Ảnh Fields/Domain
- Mapping dữ liệu cũ
- Test cases
- Domain dictionary
Những lỗi thường gặp
- Domain thay cleaning
- Mã đổi ý nghĩa giữa version
- Field type không khớp
- Range tùy ý
- Export shapefile rồi tưởng domain còn nguyên
- Danh mục pháp lý tự sáng tạo
- Không test nhập liệu
- Không version domain
Lỗi 1 – Domain thay cleaning: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 2 – Mã đổi ý nghĩa giữa version: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 3 – Field type không khớp: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 4 – Range tùy ý: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 5 – Export shapefile rồi tưởng domain còn nguyên: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Lỗi 6 – Danh mục pháp lý tự sáng tạo: tạo một tình huống before–after. Ghi rõ lỗi làm schema, vị trí, quan hệ hoặc kết quả phân tích sai như thế nào; sau khi sửa phải kiểm lại Source/Catalog/Contents và lưu bằng chứng.
Phản biện chéo 5 phút
Nhóm A mở geodatabase của nhóm B mà không hỏi hướng dẫn. Trong 5 phút phải xác định dataset nào là master, field nào là key, domain/subtype/relationship/attachments nào đang được dùng và schema có đủ để hiểu nghiệp vụ BĐS hay không. Nếu không xác định được, nhóm B phải sửa tên, alias, metadata hoặc data dictionary.
Checklist QA trước khi kết thúc bài
- Đúng project và đúng workspace.
- Source dataset/path đã kiểm.
- Số row/feature trước–sau hợp lý.
- Field/schema/spatial reference được ghi.
- Không thao tác nhầm raw/source nếu chỉ cần output dẫn xuất.
- Tên output thể hiện được nội dung/version.
- Metadata/alias/domain/subtype/relationship còn đúng sau export/import nếu có.
- Map hiển thị đúng nhưng cũng đã kiểm Source Properties.
- Project save thành công và mở lại không broken.
- Có ảnh/bảng chứng minh kết quả.
- Có limitation nếu nguồn/tham số chưa chắc chắn.
- Có data dictionary/CRS inventory cập nhật.
Ghi nhớ trong 30 giây
- Domain giới hạn giá trị hợp lệ
- Coded Value và Range là hai loại chính
- Domain không tự sạch dữ liệu cũ
- Domain có thể khác theo subtype
- Bàn giao cần codebook
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. Tài liệu nội bộ môn Hệ thống thông tin BĐS/Lab GIS được dùng để giữ ngữ cảnh ứng dụng BĐS; chi tiết hành vi phần mềm ưu tiên tài liệu Esri hiện hành.
- https://pro.arcgis.com/en/pro-app/3.6/sdk/api-reference/conceptdocs/docs/ProConcepts-Geodatabase.html
- https://pro.arcgis.com/en/pro-app/3.6/sdk/api-reference/conceptdocs/docs/ProConcepts-DDL.html
Bài tiếp theo
Subtype: chia nhóm đối tượng trong cùng Feature Class như thế nào?.
Bài luyện tập mở rộng
Luyện tập 1
Tạo domain loại BĐS.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 2
Tạo range domain số tầng.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 3
Thử export sang shapefile.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Luyện tập 4
Thiết kế versioning cho domain codes.
Yêu cầu: nộp ảnh hoặc bảng kiểm, ghi rõ source, thao tác, output, một lỗi có thể xảy ra và cách xác minh. Không chỉ nộp screenshot bản đồ cuối cùng.
Tình huống dữ liệu nâng cao
Cho một geodatabase dự án gồm polygon thửa đất, polygon công trình, table chủ thể, table hồ sơ và folder ảnh khảo sát. Sinh viên phải thiết kế lại schema để giảm lặp dữ liệu: chọn field types, domain, subtype nếu phù hợp, relationship classes và attachment strategy. Sau đó giải thích phần nào nên giữ trong GDB và phần nào chỉ là raw/exchange data.
Biên bản thực hành mẫu
| Mục | Trước thao tác | Sau thao tác | Kết luận |
|---|---|---|---|
| Project | Tên/version | Đã lưu | Đúng |
| Source | Path/GDB/item | Đã kiểm | Khớp |
| Schema/CRS | Giá trị trước | Giá trị sau | Có giải thích |
| Rows/Features | Số lượng trước | Số lượng sau | Hợp lý |
| Output | Vị trí dự kiến | Vị trí thật | Khớp |
| Reopen | Chưa thử | Mở lại project | Không broken |
Câu hỏi tự luận cuối bài
- Giải thích bằng ngôn ngữ nghiệp vụ BĐS vì sao chủ đề “Domain: khóa danh mục loại đất, loại BĐS và trạng thái nhập liệu” quan trọng hơn việc chỉ nhớ vị trí nút bấm.
- Nêu một tình huống mà thao tác kỹ thuật đúng nhưng dữ liệu nguồn sai vẫn dẫn tới kết luận sai.
- Thiết kế một bước kiểm tra độc lập để phát hiện lỗi trước khi giao project cho người khác.
- Nêu phần thông tin bắt buộc phải ghi trong README/Data Dictionary/CRS Inventory của bài.