GISProjekt R

Wczytanie i zapis warstw wektorowych w R

Analizy na danych przestrzennych nie da się wykonać bez wczytania ich do R. Służy do tego biblioteka rgdal. Zainstaluj i zainicjuj tą bibliotekę w RStudio. Do wczytania warstwy wektorowej do zmiennej służy funkcja readOGR. Wczytanie wymaga zdefiniowania ścieżki folderu w którym znajduje się plik oraz jego nazwy bez rozszerzenia (Plik powiaty użyty w ćwiczeniu pochodzi z PRG pobranego bezpłatnie ze strony CODGiKu):

powiaty = readOGR(“F:/”,”powiaty”)

Wczytaną warstwę można wyświetlić w oknie używając jak w przypadku rastrów funkcji plot:

plot(powiaty)

Wyświetla nam się przed chwilą wczytana warstwa powiatów.

r_shp1

Wczytana warstwa zawiera tabelę atrybutów opisowych, którą możemy wywołać używając polecenie:

powiaty@data

Wyświetli nam się cała zawartość tabeli DBF powiązanej z geometrią. Wyświetlić sześć pierwszych wierszy możemy używając:

head(powiaty@data)

Wartości przechowywane w konkretnej kolumnie tabeli powiaty@data możemy wyświetlić stosując wyrażenie zmienna@data$nazwa_kolumny np.:  powiaty@data$jpt_nazwa_ 

Polecenie wyświetla nam nazwy powiatów przechowywane w atrybucie jpt_nazwa_

Wartości przechowywane w konkretnym wierszu tabeli powiaty@data możemy przejrzeć stosując wyrażenie zmienna@data$[numer_wiersza,] np.:

powiaty@data[5,]

Wybierzmy teraz z naszego zbioru powiat pruszkowski i wyświetlamy go. Najpierw do zmiennej select zapiszemy nr wiersza w którym znajduje się nasz powiat używając funkcji which:

select = which(powiaty@data$jpt_nazwa_ == “powiat pruszkowski”)

Wyświetlamy w konsoli wartość zmiennej select:

select
[1] 23

Teraz do zmiennej powiat zapiszmy obiekt 23 z całego zbioru, korzystając z możliwości wybrania konkretnego wiersza opisanej wyżej. W tym przypadku wybieramy ze zmiennej powiaty jeden powiat używając wcześniej wyznaczonej zmiennej select:

powiat = powiaty[select,]

Wyświetlamy rezultat:

plot(powiat)
r_shp2

Zapiszmy teraz rezultat do pliku shape. Służy do tego funkcja writeOGR w którym musimy zdefiniować co najmniej cztery atrybuty w takiej postaci:

writeOGR(obiekt do zapisu, folder docelowy, nazwa pliku, format zapisu)

W naszym przykładzie będzie to wyglądało następująco:

writeOGR(powiat,“F:/”,”powiat_pruszkowski”,”ESRI Shapefile”)

Plik zapisany zostanie na dysku i możemy go używać w innych programach lub przetworzeniach. Opisane funkcję mają możliwość definiowania wielu szczegółowych parametrów. Wiedzy o tych parametrach można szukać w pomocy lub dokumentacji R.