Làm cách nào để đọc tệp * .adf vào R?


9

Tôi muốn tải các tệp .adf vào R. Dữ liệu được lấy từ trang này: http://www.fao.org/geonetwork/srv/en/metadata.show?id=14057

Tôi đã thử mã sau đây mà tôi tìm thấy sau một số nghiên cứu trên internet. Vấn đề là, trong lớp RasterLayer tôi nhận được các giá trị negativ không nên có. Tôi không biết tại sao điều này xảy ra, vì vậy hy vọng ai đó có thể giúp tôi!?

Mã số:

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

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

Đầu ra cho 'r' là:

r class: RasterLayer tham chiếu : + proj = longlat + ellps = WGS84 + Towks84 = 0,0,0,0,0,0,0 + nguồn dữ liệu no_defs: trong tên bộ nhớ: giá trị band1: -997, 16 (phút, tối đa)

'16' trong các giá trị đề cập đến 16 lớp độ dài của thời kỳ tăng trưởng. Nhưng tôi tự hỏi những người '-997' đến từ đâu. Có lẽ có gì đó không đúng với sự phối hợp. ref?

Đây cũng là tóm tắt dữ liệu của 'xx':

Tóm tắt dữ liệu: Tối thiểu 1 Qu. Trung bình Trung bình 3 Qu. Tối đa NA -997 3 5 -9 8 16 7123158

Và nếu chúng ta xem xét dữ liệu trong xx chặt chẽ hơn:

bảng (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

Thực sự chỉ có điều '-997' trong đó. Tôi nghĩ rằng NA là ozea, vậy có gì sai khi tải dữ liệu hay tôi chỉ không hiểu dữ liệu?


1
Hãy thay đổi tiêu đề để một cái gì đó thông minh và chính xác.
mdsumner

fwiw, không cần sử dụng rgdal trực tiếp chút nào, chỉ cần raster (dpath)
mdsumner

Câu trả lời:


3

Bạn gần như đúng:

NODATA được đặt thành -32768 cho các đại dương. Ngoài ra, -997 được đặt cho các hồ lớn không bị loại trừ bởi đường bờ biển.

Vì nội dung pixel (thời gian phát triển) không có ý nghĩa gì trên hồ, bạn cũng có thể coi -997 là NODATA một cách an toàn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.