11

I want to load .adf files into R. The data is from this page: http://www.fao.org/geonetwork/srv/en/metadata.show?id=14057

I tried the following code that I found after some research in the internet. The problem is, that in the class RasterLayer I get negativ values that shouldn't be there. I don't know why this happens, so hopefully someone can help me!?

Code:

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

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

The output for 'r' is:

r class : RasterLayer dimensions : 2160, 4320, 9331200 (nrow, ncol, ncell) resolution : 0.08333333, 0.08333333 (x, y) extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs data source : in memory names : band1 values : -997, 16 (min, max)

The '16' in the values refers to the 16 classes of length of growing period. But I wonder where those '-997' come from. Maybe something wrong with the coord. ref?

Here is also a data summary of 'xx':

Data summary: Min. 1st Qu. Median Mean 3rd Qu. Max. NA's -997 3 5 -9 8 16 7123158

And if we look at the data in xx more closely:

table(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

There is really just this '-997' thing in it. I think the NAs are ozeans, so is there something wrong with the data loading or do I just don't understand the data?

2
  • 1
    Please change the title to something intelligent and accurate.
    – mdsumner
    Jan 30, 2015 at 9:08
  • 1
    fwiw, there's no need to use rgdal directly at all, just raster(dpath)
    – mdsumner
    Jul 29, 2017 at 2:37

1 Answer 1

4

You are almost right:

NODATA is set to -32768 for oceans. Additionally, -997 is set for great lakes that are not excluded by the coastline.

Since the pixel content (growing period) makes no sense on lakes, you can safely treat -997 as NODATA too.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.