Raport

Dane wektorowe - jest to jeden z rodzajów danych przestrzennych (obok danych rastrowych). Zaliczamy do nich punkty, linie oraz poligony.

Cel ćwiczenia

Celem ćwiczenia jest poznanie funkcji do wczytywania i analiz na danych wektorowych z wykorzystaniem pakietu sf oraz wizualizacja danych wektorowych z wykorzystaniem pakietu tmap.

Opis danych

W ramach tego projektu użyte zostały:

  • dane wektorowe dotyczące ludności, podziału administracyjnego - wojwwództwa i powiaty

  • dane rastrowe - warstwa opady.tif, zawierająca sumę opadów z maja 2019 r. dla Polski. Dane zostały pozyskane z Terra Climate.

Obszar badań

Obszarem badań jest województwa: śląskkie oraz podkarpackie.

Kolejne kroki przetworzeń

Na samym początku należy zainstalować pakiet sf.

installed.packages("sf")
library(sf)

Następnie wczytujemy warstwy shp: powiaty i województwa. Dzięki temu można zwizualizować województwa uwzględniając jego atrybuty np.

plot(woj[1])

Do zwizualizowania granic obiektów z warstwy wektorowej można użyć funkcji st_geometry()

plot(st_geometry(woj)

Kolejną możliwością jest zwizualizowanie naszych obiektów pod względem gęstości zaludnienia np. powyżej 2000

pow_duze = pow[pow$pop_dens > 2000,]

Innym ciekawym działaniem jest możliwość obliczenie powierzchni badanego obszaru na podstawie zaludnienia i gęstości zaludnienia. Pozwoli to na dopisanie tych wartości do kolejnej kolumny naszej warstwy.

area = pow_duze$POP/pow_duze$pop_dens
pow_duze$area = pow_duze$POP/pow_duze$pop_dens

Funkcja st_join() pozwala na dołączenie atrybutów warstwy do innej warstwy. Dzięki argumentowi largest = TRUE, powiaty na granicy dwóch województw nie są podwójnie liczone.

pow_woj = st_join(pow, woj, largest = T)

Kolejnym krokiem jest stworzenie nowej warstwy powiatów leżących w województwie śląskim.

slaskie = pow_woj[pow_woj$wojewodztwo == "śląskie",]

Następnie wykorzystamy funkcję plot(), która jest jedną z możliwości wyświetlania danych wektorowych. W tym przypadku zwizualizujemy gęstość zaludnienia powiatów w województwie śląskim. Dzięki argumentowi breaks ustalone zostały przedziały do naszej wizualizacji.

plot(slaskie[2], breaks = c(0, 250, 500, 1000, 2500, 5000))

Następnie instalujemy i wczutujemy pakiet tmap. Dzięki niemu możemy dodawać kolejne elementy dla tej mapy. W ramach tego zadania została wykonana mapa gęstości dla województwa śląskiego.

tm_shape(slaskie) + 
  tm_fill(col = "gest_zal", palette = "YlOrRd", breaks = c(0, 100, 500, 1000, 2000, 5000), title = "Gęstość zaludnienia")+
  tm_borders(col = "black", lwd = 1, lty = 3)+
  tm_scale_bar()+
  tm_graticules()+
  tm_layout(legend.position = c("left", "bottom"), main.title = "Gęstość zaludnienia w woj. śląskim", main.title.position = 0.04)+
  tm_compass(north = 360, type = "8star", size = 4, position = c("right", "top"))

Dodatkowo wykonana została wizualizacja średnich opadów dla województwa podkarpackiego. Wczytana została warstwa opady.tif,

install.packages("exactextractr")
library(exactextractr)

Następnie została obliczona średnia dla tych opadów i przypisana.

opad_pod = exact_extract(opad, podkarpackie, fun = "mean")
podkarpackie$opady = opad_pod

W ramach tego zadania została wykonana mapa średnich opadóW dla województwa podkarpackiego. Została użyta następna komenda.

tm_shape(podkarpackie) + 
  tm_fill(col = "opady", palette = "YlGnBu", breaks = c(0, 100, 110, 120, 130, 140, 150), title = "Opady")+
  tm_borders(col = "black", lwd = 1, lty = 3)+
  tm_scale_bar()+
  tm_graticules()+
  tm_layout(legend.position = c("left", "bottom"), main.title = "Opady w województwie podkarpackim", main.title.position = 0.11)+
  tm_compass(north = 360, type = "8star", size = 4, position = c("right", "top"))

Wizualizacje

Grafika 1:

Grafika 2:

Poznane podczas zajęć narzędzia pozwalają na prezentacje wynikowych map przy użyciu danych wektorowych. W zależności od posiadanych warstw (opady, ludność) można wykonywać różne obliczenia na potrzeby wizualizacji.Dodatkowo takie rozwiązanie można używać zapewne przy innym rodzaju danych (temperatura czy prędkość wiatru). Ponadto, podczas tworzenia map dostępnych jest wiele dodatkowych funkcji do uzupełniania mapy (np. pakiet RColorBrewer).