Lý thuyết về các hệ thống tham chiếu tọa độ GIS. Thực hành làm quen các công cụ cơ bản của QGIS.
Lý thuyết về các hệ thống tham chiếu tọa độ
Tip:
- Thông tư 973/2001/TT-TCĐC về việc Hướng dẫn áp dụng hệ quy chiếu và hệ tọa độ quốc gia VN-2000
- Plugins HCMGIS có tổng hợp tên các EPSG code của hệ quy chiếu VN/2000 múi 3 độ cho tất cả các tỉnh theo Thông tư 973, rất thuận tiện khi cần biết tên EPSG để chuyển hệ tọa độ liên quan đến hệ VN-2000.
Thực hành: Làm quen các công cụ cơ bản của QGIS
Lấy dữ liệu để thực hành
Đây là module thực hành đầu tiên trong 10 module. Gọi tên module là Part 1.
Download dữ liệu Dataset Part 1 ở đây.
Dữ liệu bao gồm các lớp:
Các lớp định dạng vector bao gồm:
- Ranh giới dạng vùng: World_Admin_Boundaries, Vietnam_Provinces, Heritage_Sites
- Đường giao thông: Roads_opm
- Các lớp dạng điểm: Poorest_Districts
Lưu ý: các lớp vector đều có 5 hoặc 6 file thành phần. Ví dụ:
Ví dụ về các file thành phần của một lớp vector. Bạn cần đảm bảo các file thành phần này luôn ở cùng nhau. Nếu không, các phần mềm (như QGIS) sẽ không đọc được dữ liệu
Có một lớp định dạng raster là Elevation_Raster.tif. Đây là mô hình số độ cao (DEM) toàn lãnh thổ đất liền Việt Nam (không bao gồm các đảo, quần đảo).
Bài sau sẽ giải thích rõ về dữ liệu vector và dữ liệu raster.
Định dạng csv (dạng text) là lớp Hydropower_Plants.csvKết quả cần đạt được: Download toàn bộ dữ liệu Part 1 về và lưu tại 1 folder, có thể đặt tên là Dataset_Part1
Cách QGIS quản lý dữ liệu
QGIS hỗ trợ xử lý rất nhiều định dạng dữ liệu. Mỗi loại định dạng dữ liệu được lưu trữ theo cách khác nhau, ví dụ shapefile có 5 hoặc 6 file thành phần như đã đề cập, trong khi định dạng tif (raster) chỉ có một file duy nhất. Dù có bao nhiêu file thành phần, mỗi lớp dữ liệu cũng chỉ hiển thị một chỉ mục (một dòng) duy nhất ở Layers Panel.
Thêm lớp dữ liệu (Add Layer)
Thêm dữ liệu, nói cách khác là mở dữ liệu. Có nhiều cách để thêm dữ liệu.
*.shp, không cần thiết phải chọn cả 5 file thành phần.Thêm dữ liệu bằng Menu bar: Layer menu/Add Layer/Add Vector Layer (hoặc các định dạng khác). Add Vector Layer chỉ có tác dụng với dữ liệu vector, và tương tự, Add Raster Layer chỉ có tác dụng với các lớp raster.

Thêm lớp dữ liệu bằng Menu bar Thêm dữ liệu bằng Manage Layers Toolbar. Cách làm tương tự như thao tác với Menu bar

Thêm lớp dữ liệu bằng Manage Layers Toolbar Kéo & thả (drag & drop) từ Browser Panel vào Map canvas.

Thêm lớp dữ liệu bằng Kéo & thả (drag & drop) từ Browser Panel vào Map canvas Ngoài ra, bạn có thể kéo thả trực tiếp từ Window Explorer vào Map canvas của QGIS.
Hãy thêm các lớp sau: World_Admin_Boundaries, Vietnam_Provinces, Heritage_Sites, Roads_opm, Poorest_Districts, Elevation_Raster.tif
Thêm và chuyển đổi dữ liệu phi không gian (*.csv) thành dữ liệu không gian
Các dữ liệu phi không gian thường được biểu diễn dưới dạng bảng (tabular). Ví dụ định dạng Comma Separated Value (.csv) là dữ liệu bảng, có thể mở bằng Excel để nhìn thấy cấu trúc dạng bảng.
Tuy nhiên, nếu dữ liệu này chứa các thông tin về tọa độ như kinh, vĩ độ, thì có thể chuyển đổi thành dữ liệu không gian dưới dạng điểm (point).
Cách làm:
- Chọn Delimited Text từ Data Source Manager, tick vào mục CSV, dẫn đến địa chỉ của file Hydropower_Plants.csv.

Chọn Delimited Text và dẫn đến địa chỉ file csv - Thiết lập các tham số về tọa độ ở Geometry Definition:
Chọn vào mục Point Coordinates
X field → trường thông tin chứa giá trị kinh độ hoặc tọa độ X của các hệ UTM (trục thẳng đứng)
Y field → trường thông tin chứa giá trị vĩ độ hoặc tọa độ Y của các hệ UTM (trục nằm ngang)
Geometry CRS → chọn đúng CRS của dữ liệu gốc bằng cách ấn vào nút Browse CRS phía bên phải.

Thiết lập các tham số về tọa độ ở Geometry Definition - Kết quả: từ một file dạng bảng csv đã chuyển thành một lớp không gian dạng điểm bao gồm 2 điểm (vì ở dữ liệu csv chỉ có 2 đối tượng là có đầy đủ kinh vĩ độ).

Kết quả - Lưu lớp không gian Hydropower_Plants vừa tạo sang định dạng shapefile. Thực hiện: chuột phải vào lớp Hydropower_Plants ở Layers Panel, chọn Export/Save Feature As. QGIS sẽ hiện ra cửa sổ Save Vector Layer as, tiếp tục chọn Format là ESRI Shapefile, File name: chọn địa chỉ thư mục mong muốn và đặt tên file. Cuối cùng ấn OK

Save Feature As 
Thiết lập ở cửa sổ Save Vector Layer as
Quản lý các lớp ở Layers Panel
- Trước mỗi tên lớp ở Layers Panel có một checkbox dùng để bật và tắt sự hiển thị (visibility) của các lớp dữ liệu.
- Thứ tự sắp xếp của các lớp ở Layers Panel cũng quy định sự hiển thị của các lớp. Nếu để các lớp có diện bao phủ rộng như World_Admin_Boundaries ở trên cùng thì lớp này sẽ che khuất các lớp ở dưới nó. Do đó, để tăng cường sự hiển thị các lớp, cần sắp xếp các lớp theo nguyên tắc: độ che phủ cao ở dưới, độ che phủ thấp ở trên. Ví dụ các lớp dạng điểm cần xếp ở trên cùng, sau đó đến các lớp dạng đường, rồi đến các lớp dạng vùng ở dưới cùng.
Hãy thử nghiệm các tính năng tắt bật sự hiển thị của các lớp. Tiếp theo, thử nghiệm thay đổi thứ tự của các lớp ở Layers Panel và quan sát sự thay đổi về hiển thị.
Bật tắt các lớp ở Layers Panel
Mở bảng thuộc tính của một lớp (Attributes table)
Mỗi đối tượng (feature) trên Map canvas, có thể là một điểm thuộc lớp Poorest_Districts hay một tỉnh thuộc lớp Vietnam_Provinces, đều liên kết với một tập hợp các thuộc tính.
Bảng thuộc tính là bảng dữ liệu liên kết với mỗi lớp vector GIS. Mỗi hàng trong bảng thuộc tính tương ứng với một đối tượng không gian (feature) trong lớp vector, còn các cột là các thuộc tính mô tả (attributes) của đối tượng đó. Mỗi cột cũng có thể được gọi là một trường thông tin (field).
Vai trò của bảng thuộc tính:
- Lưu thông tin mô tả: mọi thông tin phi không gian được gắn với đối tượng không gian.
- Truy vấn dữ liệu: người dùng có thể lọc, tìm kiếm theo thuộc tính.
- Phân tích GIS: phân loại, thống kê, lập bản đồ theo giá trị thuộc tính.
- Kết hợp dữ liệu (Join, Relate): liên kết với bảng dữ liệu khác.
Để mở bảng thuộc tính, có thể dùng 2 cách:
- Mở bằng nút Open Attributes Table nằm ở Attibutes Toolbar

Attributes Toolbar - Ấn chuột phải vào lớp cần mở bảng thuộc tính ở Layers Panel, sau đó vào Open Attributes Table. Xem hình minh họa này.
Hãy thử nghiệm mở bảng thuộc tính của lớp Vietnam_Provinces. Có bao nhiêu trường thông tin? Có bao nhiêu đối tượng ở lớp này?
Bảng thuộc tính
Công cụ Identify features
Identify Features dùng để:
- Xem nhanh thông tin thuộc tính (attribute) của một đối tượng không gian trong bản đồ.
- Kiểm tra các lớp (layer) chồng lên nhau: khi bạn click vào một điểm trên bản đồ, QGIS sẽ liệt kê tất cả các đối tượng nằm ở vị trí đó (trong các lớp đang bật).
Công cụ này nằm ở Attributes Toolbar.Hãy thử nghiệm bằng cách kích Identify features, sau đó kích vào một tỉnh thuộc lớp Vietnam_Provinces.
Thanh công cụ Selection Toolbar

Selection Toolbar giúp người dùng chọn (select) các đối tượng không gian trên bản đồ theo nhiều cách khác nhau. Các đối tượng được chọn sẽ được tô sáng màu vàng. Sau khi chọn chúng ta có thể xử lý riêng những đối tượng được chọn chứ không xử lý cho toàn lớp thông tin.Ở bài này, hãy làm quen với công cụ Select features by area or single click. Dùng công cụ này kích vào 1 tỉnh của lớp Vietnam_Provinces. Sau đó mở bảng thuộc tính của Vietnam_Provinces, bạn sẽ thấy tỉnh đã được lựa chọn cũng được tô sáng ở bảng thuộc tính. Như vậy, Map canvas và bảng thuộc tính có sự tương thông.
Zoom to layer
Zoom to Layer là lệnh giúp bạn ngay lập tức phóng bản đồ tới phạm vi bao trọn (extent) của toàn bộ lớp dữ liệu (layer) mà bạn chọn. Hay nói đơn giản, bạn muốn nhìn “toàn cảnh” của cả lớp dữ liệu → chỉ cần dùng Zoom to Layer.
Cách thực hiện: có 2 cách
- Trên bảng Layers Panel, chuột phải vào tên layer → chọn Zoom to Layer(s).
- Trên thanh công cụ Map Navigation Toolbar, Nhấn nút Zoom to Layer (biểu tượng hình lớp bản đồ với kính lúp).
Layer Properties
Layer Properties trong QGIS là nơi bạn kiểm soát toàn bộ cách một lớp dữ liệu hoạt động, hiển thị và tương tác trong dự án bản đồ của mình.
Cách mở Layer Properties:
- Cách 1: Chuột phải vào tên layer trong Layers Panel → chọn Properties.
- Cách 2: Click đúp vào tên layer.

Layer Properties
Layer Properties chứa nhiều mục quan trọng.
Mục Information
Chứa các thông tin chung của lớp: địa chỉ, dung lượng, CRS …
Mục source
- Hiển thị đường dẫn đến file gốc (ví dụ: đường dẫn đến file shapefile, geopackage…)
- Cho biết loại dữ liệu (vector/raster), định dạng, hệ tọa độ (CRS)
- Có nút Set Layer CRS để thay đổi hệ tọa độ (chỉ thay cách QGIS định nghĩa, không thay đổi dữ liệu gốc)
Mục Symbology (Ký hiệu)
Thiết lập cách hiển thị của layer: màu sắc, kiểu đường, điểm, vùng… Các kiểu hiển thị chính:
- Single symbol: toàn bộ dữ liệu dùng 1 ký hiệu
- Categorized: phân loại theo giá trị thuộc tính (dùng màu khác nhau)
- Graduated: phân lớp theo số liệu (như mật độ dân số)
- Rule-based / Expression-based: tùy biến theo điều kiện

Layer Properties/Symbology
Trong nhiều trường hợp, việc hiển thị trong suốt màu nền của các đối tượng vùng (polygon) là cần thiết, để có thể quan sát và hiển thị dễ dàng các lớp bên dưới.Hãy thử nghiệm làm trong màu nền của lớp Heritage_Sites, đồng thời tăng kích thước đường viền (Stroke Width) của các đối tượng.
Thực hiện: Properties/Symbology/Single Symbology, kích vào Simple Fill, di chuyển chuột xuống dưới ô Fill color, kích vào hộp nhỏ phía bên phải hộp màu và chọn Transparent Fill. Ở ô Stroke width, tăng giá trị lên so với số ban đầu.
Vừa rồi chúng ta đã làm trong màu nền (Fill color) của các đối tượng. Ngoài ra, chúng ta có thể làm trong toàn bộ tất cả các yếu tố hiển thị của một lớp.
Thực hiện:
Properties/Symbology/Single Symbology, kích vào Fill, di chuyển chuột xuống dưới ô Opacity, điều chỉnh số % phù hợp. Giá % càng thấp thì mức độ trong suốt của lớp càng cao.
Mục Labels
Có chức năng cài đặt cách hiển thị nhãn (tên địa danh, số liệu, v.v.) cho các đối tượng. Có thể chọn trường để hiển thị làm nhãn, và tuỳ biến font chữ, màu, khoảng cách, hiệu ứng (halo, buffer…).Hãy hiển thị nhãn cho lớp Vietnam_Provinces dựa trên trường tên tỉnh bằng tiếng Anh, hiệu ứng font chữ kiểu halo
Thực hiện:
- Trước tiên, mở bảng thuộc tính xem trường nào lưu thông tin tên tỉnh bằng tiếng Anh. Đó là trường VARNAME_1

Mở bảng thuộc tính để xem trường nào lưu thông tin tên tỉnh bằng tiếng Anh. Đó là trường VARNAME_1. - Vào Properties/Symbology/Labels. Ô đầu tiên chỉnh sang lựa chọn Single Labels, ô Value chọn trường chứa thông tin mình cần, đó là VARNAME_1. Chọn mục buffer ở dưới để tạo hiệu ứng chữ có viền xung quanh (halo), tick vào ô Draw text buffer.

Thiết lập tham số hiển thị label 
Kết quả hiển thị label
Các mục khác thuộc Layer Properties sẽ được học ở những bài sau
Save QGIS project
Save project là một việc quan trọng cần làm để lưu trạng thái làm việc khi tắt phần mềm QGIS. Trạng thái làm việc bao gồm các lớp đang được mở, thiết lập hiển thị hiện thời của các lớp đó (màu sắc, label …), thứ tự các lớp.

Hãy lưu project cho trạng thái làm việc hiện tại với tên project1.qgz. Sau đó, thay đổi màu sắc của một số lớp, ví dụ đổi màu của các đối tượng lớp Vietnam_Provinces, lưu project với tên project2.qgz. Mở 2 cửa sổ làm việc của QGIS, một cửa sổ bật project1.qgz, cái còn lại bật project2.qgz, so sánh sự khác nhau (do bạn vừa tạo ra) của 2 trạng thái làm việc
Homework
Làm lại một lần nữa các bước thực hành vừa rồi theo quy trình dưới đây
- Launch QGIS and open the previously saved QGIS_practicals.qgs project.
- Add the datasets downloaded in the previous session. In doing this, explore the various options available. For example:
- 2A. Select ‘Add Vector Layer’ and browse your GIS folder to find the ‘Heritage_sites.kml’. Select the file and add it to the project. Open its ‘Properties’ > ‘Source’ to identify what is the layers coordinate reference system.
- 2B. Select ‘Add Delimited Text’ and add the ‘Hydropower_plants.csv’. Follow the instructions above to specify the X and Y coordinates and the CSR of the dataset (in this case, WGS 1984).
- 2C. Drag and drop the rest of the files from the Browser Panel.
- Reorganise the layers in the Layers Panel to ensure all layers are visible.
- Change their symbology (e.g. make the polygons hollow) to enhance the combined visibility of the various datasets.
- Apply a transparency to any relevant layers (e.g. the administrative boundaries – Vietnam Provinces).
Your final Project Panel should look something like this: