Izvršavanje prostornih spajanja (QGIS3)

Prostorno spajanje je klasičan GIS problem - prenos atributa sa jednog sloja na drugi na osnovu njihovog prostornog odnosa. U QGIS-u je ova funkcionalnost dostupna putem algoritma za obradu „Spajanje atributa po lokaciji“.

Pregled zadatka

Koristićemo 2 sloja - jedan shapefile sa granicama opštine Njujorka i drugi shapefile sa ocenom kolovoza ulica za sve ulice u Njujorku. Prvi zadatak će biti pronalaženje prosečne ocene ulica u svakoj opštini korišćenjem prostornog spajanja sa algoritmom sumiranja. Drugi zadatak će biti dodavanje imena opštine karakteristikama ulica putem prostornog spajanja jedan-na-više.

Druge veštine koje ćete naučiti

  • Kreiranje filtera za privremeno isključivanje određenih karakteristika iz izračunavanja.

Dobijte podatke

NYC Open Data Portal je odličan izvor besplatnih podataka za grad Njujork.

Preuzmite zip datoteku Granice opštine koristeći opciju Izvoz na portalu.

../../_images/data116.png

Preuzmite zip datoteku Street Pavement Rating koristeći opciju Izvoz na portalu.

../../_images/data26.png

Radi lakšeg snalaženja, možete direktno preuzeti kopiju skupova podataka sa donjih linkova:

nybb_19a.zip

V_SSS_SEGMENTRATING_1.zip

Izvor podataka [CITYOFNY]

Procedura

  1. Pronađite datoteku nybb_19a.zip u QGIS pregledaču i proširite je. Izaberite sloj nybb_19a/nybb.shp i prevucite ga na platno. Ovo je poligonski sloj koji predstavlja granice opština u gradu Njujorku.

../../_images/1135.png
  1. Zatim, pronađite datoteku V_SSS_SEGMENTRATING_1.zip i proširite je. Izaberite sloj dot_V_SSS_SEGMENTRATING_1_20190129.shp i dodajte ga na platno. Ovo je linijski sloj svih ulica u gradu.

../../_images/2107.png
  1. Hajde da ispitamo atribute dostupne za svaku karakteristiku sloja „dot_V_SSS_SEGMENTRATING_1_20190129“. Kliknite desnim tasterom miša i izaberite Otvori tabelu atributa.

../../_images/350.png
  1. Primetićete atribut pod nazivom „Rating_B“ koji ima vrednosti u opsegu od 0 -10 koje predstavljaju ocenu segmenta ulice. Atribut „RatingWord“ ima opisnu ocenu. Možemo koristiti polje „Rating_B“ da izračunamo prosečnu ocenu.

../../_images/427.png
  1. Možda ste primetili da neke karakteristike imaju ocenu „NR“. To su segmenti koji nisu ocenjeni. Njihovo uključivanje u našu analizu neće biti ispravno. Pre nego što izvršimo prostorno spajanje, podesimo Filter da bismo isključili ove zapise. Kliknite desnim tasterom miša na sloj dot_V_SSS_SEGMENTRATING_1_20190129 i izaberite Filter.

../../_images/525.png
  1. U Query Builder, otkucajte sledeći izraz da biste izabrali sve zapise koji nisu ocenjeni sa NR. Izraz možete kreirati i interaktivno klikom na Field, Operator i odabirom odgovarajuće Value. Kliknite na OK.

"RatingWord" != 'NR'
../../_images/625.png
  1. Primetićete da sloj „dot_V_SSS_SEGMENTRATING_1_20190129“ sada ima ikonu filtera koja ukazuje da je na ovaj sloj primenjen aktivan filter. Sada možemo da napravimo prostorno spajanje koristeći ovaj sloj. Idite na Processing ‣ Toolbox.

../../_images/724.png
  1. Pretražite i pronađite algoritam Vektor opšti ‣ Spoji atribut po lokaciji (rezime). Dvaput kliknite da biste ga pokrenuli.

../../_images/824.png
  1. U dijalogu Spoji atribut po lokaciji (rezime), izaberite nybb kao Ulazni sloj. Sloj ulice dot_V_SSS_SEGMENTRATING_1_20190129 biće Spoji sloj. Možete ostaviti Geometrijski predikat na podrazumevanu vrednost Ukrštanja. Kliknite na dugme pored Polja za sumiranje.

../../_images/924.png

Белешка

Savet koji će vam pomoći da izaberete ispravne ulazne i spojne slojeve: Ulazni sloj je onaj koji će biti modifikovan novim atributima u prostornom spoju. Pošto želimo da se polje prosečne ocene doda sloju opštine, to će biti ulazni sloj.

  1. Izaberite „Ocena_B“ i kliknite na :guilabel:„U redu“.

../../_images/1031.png
  1. Slično tome, kliknite na dugme pored Sažeci za izračunavanje.

../../_images/1136.png
  1. Izaberite „mean“ kao operator sumiranja i kliknite na OK. Sada smo spremni da započnemo obradu. Kliknite na Run.

../../_images/1232.png
  1. Algoritam za obradu će proći kroz karakteristike i primeniti prostorno spajanje. Proverite da li je obrada bila uspešna i kliknite na Zatvori.

../../_images/1330.png
  1. Nazad u glavnom QGIS prozoru, videćete novi sloj „Spojeni sloj“ dodat na platno. Otvorite tabelu atributa za ovaj sloj. Videćete novu kolonu „Rating_B_mean“ dodatu u sloj opštine sa prosečnom ocenom svih ulica koje se ukrštaju sa tim objektom.

../../_images/1428.png
  1. Sada možemo izvršiti obrnutu operaciju. Ponekad vaša analiza zahteva dobijanje atributa iz drugog sloja na osnovu prostornog odnosa, ali ne i izračunavanje rezimea. Za takvu analizu možemo koristiti algoritam „Spoji atribut po lokaciji“. Zadatak je dodati naziv opštine svakoj karakteristici u sloju ulica na osnovu toga sa kojim poligonom opštine se preseca. Pre nego što pokrenemo ovaj algoritam, uklonimo filter iz sloja „dot_V_SSS_SEGMENTRATING_1_20190129“. Kliknite na ikonu filtera i pritisnite Obriši u Kreatoru upita. Kliknite na U redu.

../../_images/1523.png
  1. Isključite Spojeni sloj u panelu Slojevi. Pronađite algoritam Vektorski opšti ‣ Spoji atribut po lokaciji u okviru alata za obradu i dvaput kliknite na njega da biste ga pokrenuli.

../../_images/1621.png
  1. Izaberite dot_V_SSS_SEGMENTRATING_1_20190129 kao Ulazni sloj i nybb kao Spoji sloj. Možete ostaviti Geometrijski predikat na podrazumevanu vrednost Preseci. Kliknite na dugme pored Polja za dodavanje i izaberite BoroName. Kliknite na U redu.

../../_images/1723.png
  1. Dug linije može da prelazi granicu opštine, tako da biramo Tip spajanja kao Kreiraj odvojeni objekat za svaki locirani objekat (jedan-prema-više). Kliknite na Pokreni.

../../_images/1820.png
  1. Kada se obrada završi, otvorite tabelu atributa novododatog „Spojenog sloja“. Videćete da je svakom elementu ulice dodat novi atribut „BoroName“.

../../_images/1917.png

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