Trong bài thực hành này, người học sẽ học cách số hóa một số lớp vector tương ứng với 3 loại đặc tính hình học là điểm (point), đường (line/polyline), vùng (polygon). Cụ thể, với khu vực nghiên cứu là khu vực quanh hồ Bảo Linh, huyện Định Hóa, Thái Nguyên, nhiệm vụ của người học là số hóa các lớp: hồ (lake) dạng vùng, đường giao thông (main roads), và vị trí mất rừng (Deforested areas) dạng điểm.
Lấy dữ liệu để thực hành
Thực hành module Part 2.
Download dữ liệu Dataset Part 2 ở đây. Dữ liệu bao gồm lớp: file điểm vị trí hồ Bảo Linh để định vị khu vực nghiên cứu dễ dàng.
Tạo layer
Để tạo layer: Layer > Create Layer > New Shapefile Layer …
Tạo mới một lớp shapefileHãy bắt đầu bằng việc tạo lớp Lake (hồ).
Trước tiên, điền File name: Lake và đường dẫn địa chỉ chứa file. Khi được đặt tên, cả 5 file thành phần sẽ có cùng tên file, chỉ khác nhau phần đuôi mở rộng (shp, shx, prj …). Chú ý: tên file nên viết liền, tránh dấu cách. Có thể dùng dấu gạch dưới “_” (underscore) khi muốn tách chữ.
Thiết lập Geometry type, chúng ta để dạng Polygon cho lớp Lake.
Thiết lập Project CRS, Hãy thiết lập ‘EPSG:3405 - VN-2000 / UTM zone 48N – Projected’.
Tạo các trường dữ liệu thuộc tính. Ô New field bên dưới dùng để tạo các trường dữ liệu. QGIS luôn tạo sẵn trường id. Hãy tạo thêm một trường tên là Name. Trường này sẽ chứa thông tin tên của các đối tượng. Do đó kiểu dữ liệu (Type) phải là “Text Data”, và cần thiết lập thông số về độ dài là 80, chính là số kí tự cho phép của Name. Sau đó, tạo thêm một trường tên là Area, kiểu dữ liệu: Decimal Number.
Ấn OK
Thiết lập các tham số khi tạo một lớp shapefile
Sau khi ấn OK, một lớp mới được tạo với tên Lake sẽ xuất hiện ở Layers Panel.
Lớp mới xuất hiện ở Layers Panel
Màu của lớp mới sẽ có thể được QGIS đặt ngẫu nhiên tùy ý. Hãy chỉnh lại màu của lớp Lake về màu xanh Cyan như ảnh trên (gợi ý: vào Symbology).
Mở bảng thuộc tính của lớp Lake, các bạn sẽ thấy các trường dữ liệu đã tạo xuất hiện bao gồm id, Name, Area. Tuy nhiên, lớp mới tạo chưa có đối tượng nào (chưa có một hàng dữ liệu nào).
Mở bảng thuộc tính của lớp Lake mới tạo
Tự thực hành tạo các lớp: - Lớp “Deforested_Areas” dạng điểm, tạo trường “Purpose”, dữ liệu text data. - Lớp “Main_Roads” dạng đường, tạo trường “Type”, dữ liệu text data. - Sau đó chỉnh Symbology của các lớp vừa tạo theo ảnh dưới.
Tạo các lớp Deforested_Areas và Main_Roads
Chuẩn bị Số hóa và biên tập các lớp shapefile
Mở một lớp nền ảnh vệ tinh, ví dụ Bing Satellite, bằng cách Web > QuickMapServices > Bing > Bing Satellite. Chúng ta sẽ sử dụng lớp nền này trong quá trình số hóa.
Dùng lớp Ho_Bao_Linh_location để định vị khu vực nghiên cứu. Zoom vào khu vực hồ Bảo Linh như ảnh dưới.
Định vị khu vực hồ Bảo Linh
Cài đặt Snapping option (Chế độ bắt dính điểm)
Trong QGIS, snapping là một chức năng giúp bạn vẽ hoặc chỉnh sửa các đối tượng địa lý (vector) chính xác hơn bằng cách tự động bắt dính (snap) các điểm mới tạo vào các vị trí điểm gần nhất đã có sẵn. Đây là một công cụ cực kỳ quan trọng khi làm việc với dữ liệu vector để đảm bảo các đỉnh (vertex) hoặc cạnh (edge) của các đối tượng không bị lệch nhau, tránh các lỗi topological như khe hở (gap) hoặc chồng lắp không mong muốn. Ví dụ: khi mỗi tỉnh là một đối tượng dạng vùng, 2 tỉnh liền kề phải có chung đường biên giới. Không thể có khoảng trống nào giữa biên giới 2 tỉnh liền kề nhau.
Có thể chỉnh các tham số về Snapping ở: Settings > Options > Digitizing, sau đó tùy chỉnh các tham số ở ô Snapping hoặc Tick vào box Enable Snapping by default.
Snapping Option
Sau đó bật nút Enable Snapping (hình cái nam châm) ở Snapping Toolbar.
Snapping Toolbar > Enable Snapping
Sau đó kiểm tra chế độ Snapping bằng cách khi đưa chuột vào các vertex (các node) sẵn có thì sẽ hiện lên hình vuông nhỏ màu hồng báo hiệu đang bắt dính.
Đang ở chế độ Snapping, hiện hình vuông màu hồng nếu di chuột vào đỉnh có sẵn
Số hóa dữ liệu vector
Trước khi bắt đầu số hóa, hoặc nói cách khác là vẽ các đối tượng ở một lớp dữ liệu, ta cần chuyển chế độ của lớp đó sang chế độ chỉnh sửa được bằng nút Toggle Editting (hình bút chì). Thực hiện: 1. Chọn lớp đó ở Layers Panel, sau đó ấn vào Toggle Editting:
Toggle Editing
Tùy loại hình học của dữ liệu: điểm, hay đường, hay vùng mà các công cụ để số hóa sẽ xuất hiện trên Toolbar.
Các công cụ thêm/vẽ đối tượng
Bắt đầu vẽ số hóa lớp polygon
Trước tiên, chọn lớp Lake ở Layers Panel và ấn nút Toogle Editting trên Toolbar để bật chế độ chỉnh sửa cho lớp Lake. Sau đó bật nút Add polygon feature (ở gần nút Toggle Editting)
Chuẩn bị số hóa lớp Lake
Sau đó dựa vào bản đồ nền ảnh vệ tinh (Bing Satellite), vẽ xung quanh đường ranh giới hồ Bảo Linh. Mỗi lần ấn chuột trái là tạo một đỉnh (vertex).
Thực hiện số hóa lớp Lake
Sau khi hoàn tất số hóa hồ Bảo Linh, nghĩa là vẽ một vòng quanh hồ và quay về điểm bắt đầu, ấn chuột phải để báo hiệu QGIS là hoàn tất việc vẽ một đối tượng (feature).
Sau bước ấn chuột phải, QGIS hiển thị một cửa sổ Feature Attributes pops-up, để phục vụ việc nhập các thuộc tính cho đối tượng vừa số hóa.
Nhập thuộc tính cho đối tượng vừa số hóa ở cửa sổ Feature Attributes
Cuối cùng, lưu dữ liệu số hóa bằng Save layer edits. Chú ý: Save layer edits chỉ lưu sự thay đổi của một lớp dữ liệu đang chỉnh sửa. Icon của nút này khá giống nút Save project nhưng chức năng khác nhau.
Nhập thuộc tính cho đối tượng vừa số hóa ở cửa sổ Feature Attributes
Kết quả khi hoàn tất số hóa lớp Lake.
Kết quả khi hoàn tất số hóa lớp Lake
Tip: khi số hóa, có thể làm trong suốt màu nền của lớp polygon đang số hóa, từ đó việc quan sát và giải đoán ảnh vệ tinh nền được thuận tiện hơn.
Chỉnh sửa hình học
Phần này sẽ trình bày một số công cụ dùng để chỉnh sửa hình học các đối tượng.
Có một số công cụ giúp chúng ta vẽ nhanh các hình cơ bản như: hình chữ nhật, tròn, elip … Những công cụ này ở thanh Shape digitizing toolbar.
Shape digitizing toolbar
Một số đối tượng khi số hóa cũng chỉ cần vẽ dạng hình cơ bản như hình chữ nhật đối với nhà cửa, building. Ở phần này, hãy tạo một lớp polygon vector, đặt tên là Buildings.
Dùng công cụ Add Rectangle from 3 Points để tạo hình chữ nhật, số hóa cho các ngôi nhà, tòa nhà.
Vẽ hình chữ nhật bằng Add Rectangle from 3 Points
Hãy số hóa một vài ngôi nhà ở khu vực hồ Bảo Linh.
Khi cần chỉnh sửa nếu hình chữ nhật vẽ ra chưa khớp hẳn với nền ảnh vệ tinh, có thể dùng 1 hoặc kết hợp 2 công cụ sau để chỉnh sửa: Rotate Feature (quay đối tượng quanh trọng tâm của nó) và Move Feature (di chuyển đối tượng).
Cách thực hiện: dùng công cụ Select Features by Area or Single Click, kích chọn đối tượng cần chỉnh sửa. Sau đó ấn vào Rotate Feature hoặc Move Feature và thực hiện chức năng quay hoặc di chuyển.
Rotate Feature and Move Feature
Chỉnh sửa các đỉnh (vertex) của đối tượng
Chúng ta có thể thay đổi vị trí các vertex bằng công cụ Vertex Tool, để nâng cao độ chính xác khi số hóa.
Vertex Tool
Cách thực hiện: Ấn vào vertex tool và kích vào đỉnh cần đặt lại vị trí. Sau đó đưa đến vị trí mới và chuột trái một lần nữa. Khi đặt lại vị trí vertex có thể kết hợp Zoom in bằng chuột giữa (bánh xe cuộn) để tăng độ chính xác.
Kết quả sau khi đặt lại vị trí đỉnh bằng vertex tool
Chỉnh sửa nâng cao: reshape
Công cụ reshape dùng để thêm hoặc xóa đi một phần diện tích của một đối tượng.
Reshape Feature
Cách thực hiện: Chọn đối tượng cần chỉnh sửa > Ấn Reshape > Nếu thêm diện tích, số hóa bắt đầu từ trong polygon ra ngoài phần diện tích cần thêm (ảnh dưới). Nếu cần bớt diện tích thì làm ngược lại, nghĩa là bắt đầu reshape từ ngoài vào bên trong đối tượng.
Ví dụ thực hiện Reshape Feature
Chỉnh sửa nâng cao: Add Part và Delete Part
Add part dùng để thêm một phần mới vào các đối tượng có sẵn. Phần mới này không nhất thiết phải tiếp giáp, liền kề với đối tượng có sẵn cần add part.
Cách thực hiện: Chọn đối tượng cần add part > Ấn nút Add part > Số hóa thêm phần mới như số hóa đối tượng bình thường > Khi hoàn tất, bạn sẽ thấy phần vừa số hóa chỉ là một phần của đối tượng cũ. Khi dùng công cụ chọn, cả phần mới và phần cũ đều được tô sáng. Ví dụ dưới đây thực hiện cho lớp Main_roads (dạng đường).
Add Part bước 1: Chọn đối tượng, ấn công cụ Add part
Add Part bước 2: Số hóa thêm phần mới
Để xóa một phần, chỉ cần ấn Delete Part, và kích chuột trái vào phần cần xóa.
Delete Part
Chỉnh sửa nâng cao: Add Ring, Delete Ring, Fill Ring
Chức năng Add Ring nhằm tạo một “lỗ thủng” ở giữa một đối tượng dạng vùng. Chức năng này hay được dùng khi chúng ta loại bỏ một phần diện tích nằm hoàn toàn phía trong đối tượng vùng. Ví dụ, loại bỏ diện tích đảo ở giữa mặt nước hồ.
Thực hiện: Ấn Add Ring > Vẽ số hóa 1 vùng nằm trong 1 đối tượng > Khi vẽ xong, vùng đó sẽ là lỗ thủng
Add Ring
Thực hiện Add Ring khi loại bỏ phần diện tích đảo khỏi diện tích mặt nước hồ
Chức năng Delete Ring để làm điều ngược lại là lấp lỗ thủng, thực hành bằng cách ấn chuột trái vào vùng lỗ thủng. Các bạn hãy tự khám phá chức năng công cụ Fill Ring.
Delete Ring và Fill Ring
Công cụ tự động theo dấu - Automatic Tracing
Tracing giúp bạn vẽ một đối tượng mới bằng cách tự động đi theo (bám theo) biên của các đối tượng khác đã có trong lớp (layer) hiện tại hoặc lớp khác. Khi được bật, bạn chỉ cần nhấn điểm bắt đầu và kết thúc, QGIS sẽ tự động tìm đường đi hợp lý giữa hai điểm dọc theo đường viền của đối tượng gần nhất. Điều này cực kỳ hữu ích khi bạn muốn đảm bảo các ranh giới liền khít, chính xác và không bị lệch giữa các đối tượng kế cận (ví dụ như thửa đất, vùng hành chính, lô rừng…), đồng thời tiết kiệm thời gian số hóa.
Thực hiện: Giả sử bạn cần số hóa 1 đối tượng liền kề với đường giao thông. Đối tượng ở một lớp mới tên là Agricultural_Areas, dạng vùng. Các bước để thực hiện tracing như sau:
Bật Enable Snapping
Bật Enable Tracing
Bật công cụ số hóa Add Polygon Feature
Nhấp điểm bắt đầu trên đối tượng cần bám theo > Di chuột dọc theo biên muốn vẽ > Nhấp điểm kết thúc – QGIS sẽ tự động “trace” đoạn đường từ điểm đầu đến điểm cuối > Tiếp tục hoàn thiện đối tượng như bình thường.
Enable Tracing
Thực hiện Tracing
Homework
Hoàn thành những công việc sau:
Số hóa lớp Lake. Đảm bảo độ chính xác khi số hóa. Dùng các công cụ căn chỉnh nếu cần như vertex tool, reshape, add ring…
Tạo lớp Buildings, dạng vùng, tạo 1 trường “Name”. Điền một số giá trị vào trường Name như: “Household A”, “Shop”, “Place of worship”
Tạo và số hóa lớp Main_roads, dạng đường, tạo trường Type. Điền các giá trị như “main road”, “side road”, “side street”, etc.
Tạo và số hóa lớp Deforested_Areas, dạng điểm, tạo trường ‘Purpose’. Điền các giá trị như agriculture, logging etc.
Kết quả sẽ tương tự như ảnh dưới:
Kết quả bài tập yêu cầu
Tạo và số hóa lớp Agricultural_Areas. Dùng công cụ tracing để bám biên các đối tượng khoảnh đất nông nghiệp với đường biên của hồ nước, đường giao thông.
Cắt bỏ diện tích đảo khỏi diện tích mặt nước hồ Bảo Linh bằng Add Ring.
Tạo 1 lớp mới tên là ‘Islands’, trong đó hãy tạo đảo số 1 ở hồ lớn và đảo 2,3 ở hồ nhỏ, thuộc hồ Bảo Linh. Điền số vào trường id như ảnh dưới.
Kết quả bài tập yêu cầu
👉 Theo dõi page Thầy Tùng HANU: GIS / Data Analysis https://www.facebook.com/thayTungHANU để trao đổi thông tin và nhận thông báo các bài viết mới về GIS, Sustainability & Climate Change, Data Analysis!