RPostGIS – działamy z rastrami

We wcześniejszym poście zaprezentowaliśmy Wam jak używać biblioteki rpostgis do wczytywania i zapisu danych wektorowych do bazy PostgreSQL/PostGIS. Biblioteka ta pozwala również archiwizować dane rastrowe w bazie. Najpierw wczytajmy bibliotekę:

Do ćwiczenia wykorzystamy Numeryczny Model Terenu wygenerowany w poprzednim poście. Wczytajmy go:

Zdefiniujmy połączenie do naszej bazy:

Przed przystąpieniem do dalszych działań musimy sprawdzić czy nasza baza ma zainstalowane rozszerzenie postgis_raster. Jeżeli nie, możemy z poziomu bazy inicjować rozszerzenie zapytaniem SQL:

Z poziomu R możemy użyć polecenia dbSendQuery z biblioteki RPostgreSQL do wysyłania zapytań:

W przypadku, gdy rozszerzenie istnieje funkcja dbSendQuery zwróci błąd. Można to wykorzystać do sprawdzenia czy rozszerzenie już zostało dodane do naszej bazy.

Raster do bazy zapisujemy z użyciem funkcji pgWriteRaster definiując połączenie do bazy (conn), nazwę tabeli (name) i wgrywany raster (raster):

Raster z bazy wczytujemy używając funkcji pgGetRaster podając połączenie do bazy (conn), nazwę tabeli (name), geometrię dla której zakresu ma zostać wczytany fragment rastra (boundary) :

Nasz pobrany raster wygląda tak:

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