Zasięg – Boundary Box
Często chcemy uzyskać zasięg naszej warstwy wektorowej, tzw. bounding box. Jak to zrobić w R? Możemy zastosować funkcję extent z pakietu raster, która zwróci nam graniczne współrzędne warstwy:
library(raster) extent(kolej) > extent(kolej) class : Extent xmin : 638667.5 xmax : 678777.7 ymin : 490053.6 ymax : 519583.1
Gdy chcemy uzyskać wektorową warstwę zawierającą zasięg, możemy skorzystać z używanej już wcześniej biblioteki rgeos. Biblioteka ta zawiera narzędzie o nazwie gEnvelope zwracające warstwę zasięgu, którą zapiszemy do zmiennej bbox:
library(rgeos) bbox = gEnvelope(kolej)
Wyświetlmy wynik działania funkcji:
plot(bbox)
Dodajmy jeszcze warstwę z której tworzyliśmy zasięg:
plot(kolej, add = TRUE, col = "red")
Wygenerowaliśmy warstwę zasięgu warstwy kolej. A jak wygenerować zasięgi dla poszczególnych odcinków linii w warstwie kolej. Nic trudnego wystarczy do naszej funkcji gEnvelope dodać argument używany przez nas już wcześniej byid:
bbox_single = gEnvelope(kolej, byid = T)
Wyświetlmy wynik naszego działania:
plot(bbox_single) plot(kolej,add = T,col="red")
Pamiętaj, że najpierw trzeba dane wektorowe wczytać! Do pokazania Wam funkcji gEnvelope wykorzystaliśmy dane z poprzednich wpisów.