Jak odczytać pliki * .adf do R?

9

Chcę załadować pliki .adf do R. Dane pochodzą z tej strony: http://www.fao.org/geonetwork/srv/en/metadata.show?id=14057

Wypróbowałem następujący kod, który znalazłem po kilku badaniach w Internecie. Problem polega na tym, że w klasie RasterLayer otrzymuję wartości ujemne, których nie powinno tam być. Nie wiem, dlaczego tak się dzieje, więc mam nadzieję, że ktoś może mi pomóc !?

Kod:

library(rgdal)
library(RColorBrewer)
dpath<- path...

x <- new("GDALReadOnlyDataset", dpath)
getDriver(x)
getDriverLongName(getDriver(x))
xx<-asSGDF_GROD(x)
r <- raster(xx)

Dane wyjściowe dla „r” to:

klasa r: wymiary RasterLayer: 2160, 4320, 9331200 (nrow, ncol, ncell) rozdzielczość: 0,08333333, 0,08333333 (x, y) zasięg: -180, 180, -90, 90 (xmin, xmax, ymin, ymax) koordyn. ref. : + proj = longlat + ellps = WGS84 + towgs84 = 0,0,0,0,0,0,0 + + źródło danych no_defs: w nazwach pamięci: wartości pasma 1: -997, 16 (min., maks.)

„16” w wartościach odnosi się do 16 klas długości okresu wegetacji. Ale zastanawiam się, skąd pochodzą te „-997”. Może coś jest nie tak z koordyn. ref?

Oto także podsumowanie danych „xx”:

Podsumowanie danych: min. 1st Qu. Mediana oznacza 3. kwartę Max. NA -997 3 5 -9 8 16 7123158

A jeśli przyjrzymy się bliżej danym w xx:

stół (xx $ band1)

-997 1 2 3 4 5 6 7 8 9 10 11 12 31711 429643 83011 166674 207228 270161 240958 183342 118608 98795 88473 73743 56022 13 14 15 16 30104 45521 52216 31832

Naprawdę jest w tym tylko ta „-997”. Myślę, że NA to ozeany, więc czy coś jest nie tak z ładowaniem danych, czy po prostu nie rozumiem danych?

Franz Krah
źródło
1
Zmień tytuł na inteligentny i dokładny.
mdsumner
fwiw, nie ma potrzeby używania rgdal w ogóle, wystarczy raster (dpath)
mdsumner

Odpowiedzi:

3

Masz prawie rację:

NODATA jest ustawiona na -32768 dla oceanów. Dodatkowo, -997 jest ustawiony dla wielkich jezior, które nie są wykluczone przez linię brzegową.

Ponieważ zawartość pikseli (okres wegetacji) na jeziorach nie ma sensu, możesz bezpiecznie traktować -997 jako NODATA.

AndreJ
źródło