Bagaimana cara membaca file * .adf ke dalam R?

9

Saya ingin memuat file .adf ke dalam R. Data berasal dari halaman ini: http://www.fao.org/geonetwork/srv/en/metadata.show?id=14057

Saya mencoba kode berikut yang saya temukan setelah beberapa penelitian di internet. Masalahnya adalah, bahwa di kelas RasterLayer saya mendapatkan nilai negatif yang seharusnya tidak ada di sana. Aku tidak tahu mengapa ini terjadi, jadi semoga seseorang bisa membantuku !?

Kode:

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

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

Output untuk 'r' adalah:

kelas r: Dimensi RasterLayer: 2160, 4320, 9331200 (nrow, ncol, ncell) resolusi: 0,08333333, 0,08333333 (x, y) sejauh: -180, 180, -90, 90 (xmin, xmax, ymin, ymax) coord. ref. : + proj = longlat + ellps = WGS84 + towgs84 = 0,0,0,0,0,0,0 + sumber data no_defs: dalam nama memori: band1 nilai: -997, 16 (min, maks)

Angka '16' mengacu pada 16 kelas panjang periode pertumbuhan. Tapi saya ingin tahu dari mana '997 'itu berasal. Mungkin ada yang salah dengan coord. ref?

Berikut ini juga ringkasan data 'xx':

Ringkasan data: Min. 1 Qu. Median Mean 3 Qu. Maks. NA's -997 3 5 -9 8 16 7123158

Dan jika kita melihat data dalam xx lebih dekat:

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

Sebenarnya ada hal '-997' di dalamnya. Saya pikir NAS adalah ozeans, jadi apakah ada yang salah dengan pemuatan data atau apakah saya hanya tidak mengerti datanya?

Franz Krah
sumber
1
Ubah judul menjadi sesuatu yang cerdas dan akurat.
mdsumner
fwiw, tidak perlu menggunakan rgdal langsung sama sekali, hanya raster (dpath)
mdsumner

Jawaban:

3

Anda hampir benar:

NODATA diatur ke -32768 untuk lautan. Selain itu, -997 diatur untuk danau-danau besar yang tidak dikecualikan oleh garis pantai.

Karena konten piksel (masa tumbuh) tidak masuk akal di danau, Anda dapat dengan aman memperlakukan -997 sebagai NODATA juga.

AndreJ
sumber