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):
1 |
powiaty = readOGR(“F:/”,”powiaty”) |
Wczytaną warstwę można wyświetlić w oknie używając jak w przypadku rastrów funkcji plot:
1 |
plot(powiaty) |
Wyświetla nam się przed chwilą wczytana warstwa powiatów.

Wczytana warstwa zawiera tabelę atrybutów opisowych, którą możemy wywołać używając polecenie:
1 |
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:
1 |
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.:
1 |
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:
1 |
select = which(powiaty@data$jpt_nazwa_ == “powiat pruszkowski”) |
Wyświetlamy w konsoli wartość zmiennej select:
1 2 |
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:
1 |
powiat = powiaty[select,] |
Wyświetlamy rezultat:
1 |
plot(powiat) |

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:
1 |
writeOGR(obiekt do zapisu, folder docelowy, nazwa pliku, format zapisu) |
W naszym przykładzie będzie to wyglądało następująco:
1 |
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.