3. Dữ liệu GIS, làm việc với dữ liệu vector

Lý thuyết về dữ liệu GIS: vector và raster. Thực hành làm việc với dữ liệu vector.

Lý thuyết về các loại dữ liệu không gian

Đọc tài liệu: Tim Sutton et al. 2009, A Gentle Introduction to GIS, Chapter 3. Vector Data: https://docs.qgis.org/3.40/en/docs/gentle_gis_introduction/vector_data.html

Thực hành: làm việc với dữ liệu vector

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 …

    Ảnh 1
    Tạo mới một lớp shapefile
    Hã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

    Ảnh 1
    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.

    Ảnh 1
    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).

    Ảnh 1
    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.

Ảnh 1
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 1
    Đị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.
    Ảnh 1
    Snapping Option
  • Sau đó bật nút Enable Snapping (hình cái nam châm) ở Snapping Toolbar.
    Ảnh 1
    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.
    Ảnh 1
    Đ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:
    Ảnh 1
    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.
    Ảnh 1
    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)
    Ảnh 1
    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).
    Ảnh 1
    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 1
    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 1
    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.
    Ảnh 1
    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.
    Ảnh 1
    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à.
    Ảnh 1
    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.
    Ảnh 1
    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.
    Ảnh 1
    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.
    Ảnh 1
    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.
    Ảnh 1
    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.
    Ảnh 1
    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).
    Ảnh 1
    Add Part bước 1: Chọn đối tượng, ấn công cụ Add part
    Ảnh 1
    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.
    Ảnh 1
    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
    Ảnh 1
    Add Ring
    Ảnh 1
    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.
    Ảnh 1
    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:
    1. Bật Enable Snapping
    2. Bật Enable Tracing
    3. Bật công cụ số hóa Add Polygon Feature
    4. 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.
      Ảnh 1
      Enable Tracing
      Ảnh 1
      Thực hiện Tracing

Homework

Hoàn thành những công việc sau:

  1. 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…
  2. 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”
  3. 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.
  4. 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:
    Ảnh 1
    Kết quả bài tập yêu cầu
  5. 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.
  6. 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.
  7. 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.
    Ảnh 1
    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!
Previous
Next