Przyspieszanie skryptów – zewnętrzny program (RSAGA)

Co w przypadku, gdy wszystkie funkcje które przetestowaliśmy/napisaliśmy nie pozwalają nam uzyskać zadowalających czasów wykonania zaplanowanego zadania? Możemy skorzystać z innych programów, które posiadają interesujące nas funkcje i mają zaimplementowaną bibliotekę w R. 

Pokażemy Wam jak to zrobić na przykładzie poczciwego Zonal Statistics, który męczymy już od jakiegoś czasu. Do przetwarzania naszych danych wykorzystamy inne otwarte oprogramowanie jakim jest SAGA GIS (http://www.saga-gis.org).

Potrzeba nam będzie do tego biblioteka RSAGA:

Biblioteka potrzebuje programu SAGA-GIS zainstalowanego na naszym komputerze. Domyślnie szuka dostępu do niego pod ścieżkami:

W przypadku zainstalowania go w inny miejscu biblioteka będzie szukała go na całym dysku. W celu przyspieszenia całego procesu możemy podać ścieżkę do środowiska SAGI sami:

Sprawdźmy czy poprawnie utworzyliśmy środowisko wyświetlając wersję naszej SAGI:

SAGA-GIS umożliwia przetwarzanie danych poprzez swoje GUI (saga_gui.exe) oraz linię komend (saga_cmd.exe). Biblioteka RSAGA wykorzystuje linię komend. Jak tworzyć komendy można zapoznać się w dokumentacji każdej z wersji dostępnej tutaj: http://www.saga-gis.org/saga_tool_doc/

Krótko mówiąc narzędzia pogrupowane są w biblioteki. Dla każdego z narzędzi możemy zdefiniować parametry. W naszym przypadku skorzystamy z narzędzia “Grid Statistics for Polygons” znajdującego się w bibliotece “shapes_grid”. W R saga_cmd uruchomimy poprzez funkcję rsaga.geoprocessor:

,gdzie:

lib – to biblioteka z interesującym nas narzędziem

module – to numer porządkowy naszego narzędzia 

param – to lista parametrów narzędzia

W celu zapoznania się jak powinna wyglądać nasza komenda najlepiej zajrzeć do dokumentacji. Na dole opisu każdego narzędzia jest przykład komendy:

http://www.saga-gis.org/saga_tool_doc/7.0.0/shapes_grid_2.html

Po wykonaniu w lokalizacji podanej w RESULT pojawi się plik wektorowy z przypisanymi wartościami statystyk z rastra. Wczytajmy go:

I przejrzyjmy statystyki:

Biblioteka RSAGA posiada zaimplementowaną część narzędzi SAGA-GIS bezpośrednio w R, których można użyć bez szczegółowej znajomości dokumentacji. Taką funkcją jest na przykład rsaga.contour służąca do generowania warstwic. Zapoznanie tych funkcji pozostawiamy już Wam.

Już niebawem w kolejnym wpisie pokażemy Wam jak możecie wykorzystać funkcje innych programów w Waszym kodzie, które nie mają jeszcze biblioteki w R.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Translate using Google Translate»
Social media & sharing icons powered by UltimatelySocial

Podoba Ci się nasza strona? Odwiedź nasz profil