Prostorsko združevanje podatkov (QGIS3)

Združevanje podatkov je klasičen GIS problem. Gre za prenos atributov iz enega sloja v drug sloj na podlagi njihove prostorske povezave. V QGIS-u imamo za to na voljo orodje Join attributes by location.

Pregled naloge

Uporabili bomo 2 sloja - vektorski sloj z mejami okrožij New Yorka in sloj z oceno cestišč za vse ulice v New Yorku. Prva naloga bo, da z uporabo metode prostorskega združevanja in summary algoritma poiščemo povprečno oceno ulic v posameznem okrožju. Druga naloga bo, da z metodo prostorskega združevanja ena proti več, one-to-many, pripišemo ulicam imena okrožij.

Česa se bomo še naučili

  • Ustvarjanja filtrov za začasno izključitev določenih funkcij iz izračuna.

Pridobivanja podatkov

NICE Open Data Portal je odličen vir brezplačnih podatkov za mesto New York.

Z uporabo možnosti Export na portalu prenesite datoteko Borough Boundaries zip.

../../_images/data19.png

Z uporabo možnosti Export na portalu prenesite datoteko Street Pavement Rating zip.

../../_images/data23.png

Lahko jih prenesete tudi neposredno na spodnji povezavi:

nybb_19a.zip

V_SSS_SEGMENTRATING_1.zip

Vir podatkov [CITYOFNY]

Postopek

  1. V brskalniku QGIS poiščite datoteko nybb_19a.zip in jo razširite. Izberite sloj``nybb_19a/nybb.shp`` in ga dodajte v glavno okno. To je sloj poligonov, ki zajema meje okrožij v New Yorku.

../../_images/1106.png
  1. Nato poiščite datoteko V_SSS_SEGMENTRATING_1.zip in jo razširite. Izberite sloj dot_V_SSS_SEGMENTRATING_1_20190129.shp in ga dodajte med podatkovne sloje. To je linijski sloj vseh ulic v mestu.

../../_images/2101.png
  1. Proučite atribute, ki so na voljo za vsak grafični objekt v sloju dot_V_SSS_SEGMENTRATING_1_20190129. Kliknite z desno tipko na miški in izberite Open Attribute Table.

../../_images/347.png
  1. Opazili boste atribut Rating_B, ki zajema vrednosti v razponu od 0 do 10 in predstavlja oceno segmenta ulice. Atribut RatingWord predstavlja opisno oceno. Atribut Rating_B lahko uporabite za izračun povprečne ocene.

../../_images/420.png
  1. Morda ste opazili, da imajo nekateri atributi oceno NR. To so segmenti, ki niso ocenjeni. Njihova vključitev v analizo ne bo pravilna. Preden izvedete prostorsko združevanje nastavite**Filter** za izključitev izbranih zapisov NR. Z desno tipko na miški kliknite na sloj dot_V_SSS_SEGMENTRATING_1_20190129 in izberite Filter`.

../../_images/520.png
  1. V Query Builder vnesite izraz, s katerim izberete vse zapise, ki niso ocenjeni z NR. Izraz lahko sestavite tudi interaktivno, tako da kliknete na Field, Operator in izberete ustrezno Value. Kliknite OK.

"RatingWord" != 'NR'
../../_images/620.png
  1. Opazili boste, da ima zdaj sloj``dot_V_SSS_SEGMENTRATING_1_20190129`` ikono filtra, ki označuje, da je zanj uporabljen aktiven filter. S tem slojem izvedite prostorsko združevanje. Pojdite na Processing ‣ Toolbox.

../../_images/719.png
  1. Poiščite orodje Vector general ‣ Join attribute by location (summary). Zaženete ga z dvojnim klikom.

../../_images/819.png
  1. V pogovornem oknu Join attribute by location (summary) z Input layer izberite vhodni sloj nybb. Sloj ulic dot_V_SSS_SEGMENTRATING_1_20190129 bo dodan kot Join layer. Za Geometry predicate uporabite privzete nastavitve z vrednostjo Intersects. V:guilabel:Fields to sumarize kliknite gumb .

../../_images/919.png

Opomba

Nasvet za pomoč pri izbiri pravilnih vhodnih in združenih slojev: Vhodni sloj je tisti, ki bo z metodo prostorskega združevanja spremenjen tako, da bodo dodani novi atributi. Ker želimo, da se vrednost povprečne ocene doda sloju okrožij, bo ta sloj dan kot vhodni sloj.

  1. Izberite Rating_B in kliknite OK.

../../_images/1026.png
  1. Podobno kliknite gumb v Summaries to calculate.

../../_images/1129.png
  1. Kot operator izberite mean in kliknite OK. Zdaj ste pripravljeni na začetek obdelave. Kliknite Run.

../../_images/1227.png
  1. Algoritem obdelave bo obdelal grafične objete in pri tem uporabil prostorsko združevanje. Preverite, ali je bila obdelava uspešna, in kliknite Close.

../../_images/1325.png
  1. V glavnem oknu QGIS-a boste videli nov sloj Joined layer. Odprite atributno tabelo. Videli boste, da je vhodnemu sloju okrožij dodan nov atribut Rating_B_mean s povprečno oceno vseh ulic, ki se stikajo z izbranim pojavom.

../../_images/1423.png
  1. Zdaj lahko izvedete obratno operacijo. Včasih analiza zahteva pridobitev atributov iz drugega sloja na podlagi prostorskega razmerja, vendar pri tem ne sme uporabiti summary. Za takšno analizo lahko uporabite orodje``Join attribute by location``. Naloga je, da vsakemu elementu v sloju ulic dodate imena okrožij glede na to, s katerim poligonom okrožij je v preseku. Preden zaženete ta algoritem, odstranite filter v sloju dot_V_SSS_SEGMENTRATING_1_20190129. Kliknite ikono filtra in pritisnite gumb Clear v oknu Query Builder. Kliknite OK.

../../_images/1520.png
  1. Med podatkovnimi sloji Layers odznačite sloj Joined layer. Med orodji poiščite algoritem Vector general ‣ Join attribute by location in ga zaženite z dvakratnim klikom.

../../_images/1619.png
  1. Izberite dot_V_SSS_SEGMENTRATING_1_20190129 kot Input layer in nybb kot Join layer. Geometry predicate lahko pustite privzeto vrednost Intersects. Kliknite gumb v Fields to add in izberite BoroName. Kliknite OK.

../../_images/1720.png
  1. Ulica lahko prečka mejo okrožja, zato kot Join type izberite``Crate separate feature for each located feature (one-to-many)``. Kliknite Run.

../../_images/1818.png
  1. Po končani obdelavi odprite atributno tabelo novega sloja dodanega kot Joined layer`. Videli boste, da je vsaki ulici pripisan nov atribut BoroName.

../../_images/1915.png

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