Eșantionarea datelor raster, folosind puncte sau poligoane

Atenționare

Acest tutorial este învechit. O versiune actualizată este disponibilă la Sampling Raster Data using Points or Polygons (QGIS3)

Mai multe seturi de date științifice și de mediu vin sub formă de grilă raster. Datele de elevație (DEM) sunt, de asemenea, distribuite ca fișiere raster. În aceste fișiere raster, parametrul reprezentat este codificat sub formă de valori ale pixelilor rasterului. Adesea, este nevoie să extragem valorile pixelilor din anumite locații sau de a le agrega pe un anumit domeniu. Această funcționalitate este disponibilă în QGIS prin două plugin-uri - Point Sampling Tool și Zonal Statistics plugin.

Privire de ansamblu asupra activității

Având la dispoziție o grilă raster a temperaturilor maxime din SUA, va trebui să extragem temperaturile tuturor zonele urbane și, de asemenea, să calculăm temperatura medie pentru fiecare stat din Statele Unite ale Americii.

Alte competențe pe care le veți dobândi

  • Reproiectarea unui strat vectorial.

  • Selectarea și eliminarea straturilor multiple din Cuprinsul QGIS.

Obținerea datelor

NOAA’s Climate Prediction Center pune la dispoziție date GIS referitoare la temperatura și precipitațiile din SUA. Descărcați latest grid file for maximum temperatures. Fișierul va fi denumit us.tmax_nohads_ll_{YYYYMMDD}_float.tif

Vom folosi un fișier CSV din 2013 US Gazetteer reprezentând zonele urbane ale Statelor Unite. Descărcați fișierul Urban Areas Gazetteer.

Pentru că ne dorim să agregăm temperatura de-a lungul statelor, vom folosi 2013 TIGER/Line Shapefiles. Descărcați Counties (and equivalents) shapefile.

Pentru comoditate, puteți descărca o copie a seturilor de date direct de la adresele de mai jos:

us.tmax_nohads_ll_20140525_float.tif

2013_Gaz_ua_national.zip

tl_2013_us_county.zip

Sursele datelor: [NOAACPC], [USGAZETTEER] [TIGER]

Procedura

  1. Mergeți la Layer ‣ Add Raster Layer, navigați către fișierul descărcat us.tmax_nohads_ll_{YYYYMMDD}_float.tif și faceți clic pe Open.

../_images/1206.png
  1. O dată ce stratul este încărcat, selectați instrumentul Identify, apoi faceți clic oriunde, pe strat. Veți vedea, fie valoarea temperaturii în celsius, fie valoarea Benzii 1 de la acea locație.

../_images/2174.png
  1. Acum, dezarhivați fișierul descărcat 2013_Gaz_ua_national.zip și extrageți fișierul 2013_Gaz_ua_national.txt pe disc. Mergeți la Layer ‣ Add Delimited Text Layer.

../_images/3120.png
  1. În fereastra de dialog Create a Layer from Delimited Text File, faceți clic pe Browse și deschideți 2013_Gaz_ua_national.txt. Alegeți Tab din Custom delimiters. Coordonatele punctului sunt date ca Latitudine și Longitudine, astfel că, selectați INTPTLONG pentru X field și INTPTLAT pentru Y field. Bifați caseta Use spatial index și faceți clic pe OK.

../_images/472.png
  1. Acum suntem gata pentru a extrage valorile temperaturii din stratul raster. Instalați plugin-ul Point Sampling Tool. Pentru detalii cu privire la modul de instalare a plugin-urilor, parcurgeți Utilizarea Plugin-urilor.

../_images/566.png
  1. Deschideți fereastra de dialog a plugin-ului, de la Plugins ‣ Analyses ‣ Point sampling tool.

../_images/663.png
  1. În fereastra de dialog Point Sampling Tool, alegeți 2013_Gaz_ua_national pentru Layer containing sampling points. Trebuie să selectăm în mod explicit câmpurile din stratul de intrare pe care le dorim în stratul de ieșire. Alegeți câmpurile GEOID și NAME din stratul 2013_Gaz_ua_national. Putem eșantiona valorile din multiple benzi raster dintr-o dată, dar din moment ce rasterul nostru are doar o bandă, alegeți us.tmax_nohads_ll_{YYYYMMDD}_float: Band 1. Denumiți stratul vectorial de ieșire ca max_temparature_at_urban_locations.shp. Clic pe OK pentru a porni procesul de eșantionare. Clic Close, la încheierea procesului.

../_images/762.png
  1. Veți vedea un nou strat, max_temparature_at_urban_locations, încărcat în QGIS. Folosind instrumentul Identify, faceți clic pe oricare punct, pentru a-i vedea atributele. Veți vedea câmpul us.tmax_no - care conține valoarea pixelilor raster de la locația punctului.

../_images/860.png
  1. Prima parte a analizei s-a încheiat. Haideți să înlăturăm straturile inutile. Mențineți apăsată tasta Shift, apoi selectați straturile max_temparature_at_urban_locations și 2013_Gaz_ua_national. Clic-dreapta și apăsați Remove, pentru a le elimina din Cuprinsul QGIS.

../_images/959.png
  1. Mergeți la Layer ‣ Add Vector Layer. Navigați la fișierul descărcat tl_2013_us_county.zip și faceți clic pe Open. Alegeți tl_2013_us_county.shp, apoi apăsați OK.

../_images/1067.png
  1. tl_2013_us_county va fi adăugat la QGIS. Stratul respectiv este în proiecția EPSG:4269 NAD83. Asta înseamnă că nu se potrivește cu proiecția stratului raster. Vom reproiecta acest strat pentru EPSG:4326 WGS84.

../_images/11106.png
  1. Faceți clic dreapta pe stratul tl_2013_us_county, apoi alegeți Save As...

../_images/1268.png
  1. În fereastra de dialog Save Vector layer as.., faceți clic pe Browse și denumiți fișierul de ieșire drept counties.shp. Alegeți Selected CRS din meniul dropdown CRS. Clic pe Browse, apoi alegeți WGS 84 pentru CRS. Bifați Add saved file to map și faceți clic pe OK.

../_images/1365.png
  1. Un nou strat numit counties va fi adăugat în QGIS.

../_images/1462.png
  1. Activați Zonal Statistics Plugins. Acesta este un plug-in de bază, deci este deja instalat. Parcurgeți Utilizarea Plugin-urilor, pentru a afla cum să activați plugin-urile de bază.

../_images/1558.png
  1. Mergeți la Raster ‣ Zonal statistics ‣ Zonal statistics.

../_images/1655.png
  1. Selectați us.tmax_nohads_ll_{YYYYMMDD}_float pentru Raster layer, apoi sectoarele pentru Polygon layer containing the zones. Introduceți ZS_ în Output column prefix. Clic pe OK.

../_images/1752.png
  1. Analiza poate dura ceva timp, în funcție de mărimea setului de date.

../_images/1849.png
  1. După ce se termină procesarea, selectați stratul counties. Utilizați instrumentul Identify și faceți clic pe orice stat poligonal. Veți vedea trei noi atribute adăugate la stratul: ZS_count, ZS_mean și ZS_sum. Aceste atribute conțin numărul de pixeli raster, media valorilor pixelilor raster și, respectiv, suma valorilor pixelilor raster. Din moment ce ne interesează temperatura medie, vom utiliza câmpul ZS_mean.

../_images/1941.png
  1. Să stilizăm acest strat pentru a crea o hartă a temperaturii. Clic-dreapta pe stratul counties, apoi selectați Properties.

../_images/2036.png
  1. Comutați la fila Style. Alegeți stilul Graduated și selectați ZS_mean ca și Column. Modificați Color Ramp și Mode după dorință. Clic pe Classify pentru a crea clasele. Apăsați pe OK. (Pentru mai multe detalii despre stilizare, parcurgeți Noțiuni de bază despre stilizarea vectorilor.)

../_images/2175.png
  1. Veți vedea poligoanele statale stilizate, utilizând media temperaturii maxime extrasă din grila raster.

../_images/2235.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)