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?
źródło
Odpowiedzi:
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.
źródło