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](http://geoprofesja.pl/wp-content/uploads/2016/11/r_shp1.jpg)
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](http://geoprofesja.pl/wp-content/uploads/2016/11/r_shp2.jpg)
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.