Lấy mẫu dữ liệu raster bằng điểm hoặc vùng - Points or Polygons

Có rất nhiều tập dữ liệu khoa học và môi trường ở định dạng các ô lưới raster. Dữ liệu độ cao (DEM) cũng có dạng raster. Trong các file raster này, một tham số đang được thể hiện cần nhập code là giá trị của từng pixel trong raster. Thông thường, người ta cần xuất giá trị pixel ở một địa điểm cụ thể hoặc gộp chúng vào theo từng khu vực. Chức năng này có trong QGIS với 2 plugin là Point Sampling Tool và``Zonal Statistics plugin``.

Tổng quan về nhiệm vụ

Với một lớp dữ liệu raster về nhiệt độ tối cao ở nước Mỹ, ta cần xuất các giá trị nhiệt độ tại tất cả các vùng đô thị và đồng thời tính toán nhiệt độ trung bình của từng hạt trong nước Mỹ.

Các kỹ năng bạn sẽ học được

  • Thay đổi lưới chiếu của dữ liệu vector.

  • Lựa chọn và bỏ nhiều lớp từ danh sách lớp trong QGIS - QGIS Table of Contents.

Nhận dữ liệu

NOAA’s Climate Prediction Center cung cấp dữ liệu GIS liên quan đến nhiệt độ và lượng mưa ở nước Mỹ. Tải xuống `file raster mới nhất về nhiệt độ tối cao <ftp://ftp.cpc.ncep.noaa.gov/GIS/GRADS_GIS/GeoTIFF/TEMP/us_tmax/>

We will use a CSV file from 2013 US Gazetteer representing urban areas in the US. Download the Urban Areas Gazetteer File.

As we want to aggregate temperature over counties, we will use 2013 TIGER/Line Shapefiles. Download the Counties (and equivalents) shapefile.

For convenience, you may directly download a copy of the datasets from the links below:

us.tmax_nohads_ll_20140525_float.tif

2013_Gaz_ua_national.zip

tl_2013_us_county.zip

Nguồn dữ liệu: [NOAACPC], [USGAZETTEER] [TIGER]

Các bước thực hiện

  1. Go to Layer ‣ Add Raster Layer and browse to the downloaded us.tmax_nohads_ll_{YYYYMMDD}_float.tif file and click Open.
../_images/1131.png
  1. Once the layer is loaded, select the Identify tool and click anywhere on the layer. You will see the temperature value in celsius as the value or Band 1 at that location.
../_images/279.png
  1. Now unzip the downloaded 2013_Gaz_ua_national.zip file and extract the 2013_Gaz_ua_national.txt file on your disk. Go to Layer ‣ Add Delimited Text Layer.
../_images/340.png
  1. In the Create a Layer from Delimited Text File dialog, click Browse and open 2013_Gaz_ua_national.txt. Choose Tab under Custom delimiters. The point coordinates are in Latitude and Longitude, so select INTPTLONG as X field and INTPTLAT as Y field. Check the Use spatial index box and click OK.
../_images/430.png
  1. Now we are ready to extract the temperature values from the raster layer. Install the Point Sampling Tool plugin. See Using Plugins for details on how to install plugins.
../_images/531.png
  1. Open the plugin dialog from Plugins ‣ Analyses ‣ Point sampling tool.
../_images/629.png
  1. In the Point Sampling Tool dialog, select 2013_Gaz_ua_national as the Layer containing sampling points. We must explicitely pick the fields from the input layer that we want in the output layer. Choose GEOID and NAME fields from the 2013_Gaz_ua_national layer. We can sample values from multiple raster band at once, but since our raster has only 1 band, choose the us.tmax_nohads_ll_{YYYYMMDD}_float: Band 1. Name the output vector layer as max_temparature_at_urban_locations.shp. Click the OK to start the sampling process. Click Close once the process finishes.
../_images/728.png
  1. You will see a new layer max_temparature_at_urban_locations loaded in QGIS. Use the Identify tool to click on any point to see the attributes. You will see the us.tmax_no field - which contains the raster pixel value at the location of the point.
../_images/827.png
  1. First part of our analysis is over. Let’s remove the unnecessary layers. Hold the Shift key and select max_temparature_at_urban_locations and 2013_Gaz_ua_national layers. Right-click and select Remove to remove them from QGIS TOC.
../_images/925.png
  1. Go to Layer ‣ Add Vector Layer. Browse to the downloaded tl_2013_us_county.zip file and click Open. Select the tl_2013_us_county.shp as the layer and click OK.
../_images/1026.png
  1. The tl_2013_us_county will be added to QGIS. This layer is in EPSG:4269 NAD83 projection. This doesn’t match the projection of the raster layer. We will re-project this layer to EPSG:4326 WGS84 projection.
../_images/1132.png
  1. Right-click the tl_2013_us_county layer and select Save As...
../_images/1227.png
  1. In the Save Vector layer as.. dialog, click Browse and name the output file as counties.shp. Choose Selected CRS from the CRS dropdown menu. Click Browse and select WGS 84 as the CRS. Check the Add saved file to map and click OK.
../_images/1324.png
  1. Một lớp dữ liệu mới có tên counties sẽ được nhập vào trong QGIS.

../_images/1423.png
  1. Enable the Zonal Statistics Plugins. This is a core plugin so it is already installed. See Using Plugins to know to how enable core plugins.
../_images/1522.png
  1. Go to Raster ‣ Zonal statistics ‣ Zonal statistics.
../_images/1621.png
  1. Select us.tmax_nohads_ll_{YYYYMMDD}_float as the Raster layer and counties as the Polygon layer containing the zones. Enter ZS_ as the Output column prefix. Click OK.
../_images/1720.png
  1. The analysis may take some time depending on the size of the dataset.
../_images/1820.png
  1. Once the processing finishes, select the counties layer. Use the Identify tool and click on any county polygon. You will see three new attributes added to the layer: ZS_count, ZS_mean and ZS_sum. These attributes contain the count of raster pixels, mean of raster pixel values and sum of raster pixel values respectively. Since we are interested in average temperature, the ZS_mean field will be the one to use.
../_images/1918.png
  1. Let’s style this layer to create a temperature map. Right-click the counties layer and select Properties.
../_images/2015.png
  1. Switch to the Style tab. Choose Graduated style and select ZS_mean as the Column. Choose a Color Ramp and Mode of your chose. Click Classify to create the classes. Click OK. (See Trình bày vector cơ bản for more details on styling.)
../_images/2119.png
  1. You will see the county polygons styled using average maximum temperature extracted from the raster grid.
../_images/2218.png
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License