Tôi đã được giao nhiệm vụ tạo ra một phân tích phù hợp về điều kiện sóng ở Vịnh Mexico. Tôi có 2 nghìn tệp raster khoảng 8 MB mỗi tệp (2438 cột, 1749 hàng, kích thước ô 1km). Tham số trong các tệp raster là chu kỳ sóng và tôi muốn phân loại lại tất cả các raster sao cho nếu 4<= wave period <=9 then make cell = 1
khác ô = 0. Sau đó tổng hợp tất cả các raster thành một raster cuối cùng và chia cho tổng số raster để cung cấp cho tổng tỷ lệ quan sát phù hợp và xuất kết quả sang một số định dạng tương thích ESRI ... có thể là thứ gì đó có thể hỗ trợ nổi nếu cần. Tôi đã không làm việc nhiều với Python hoặc R, nhưng sau khi tìm kiếm trực tuyến, có vẻ hợp lý khi thực hiện quy trình này bằng một trong những ngôn ngữ đó. Tôi đã đưa ra một số mã cho đến nay trong R, nhưng bối rối về cách làm cho nó hoạt động.
library(rgdal)
raster_data <- list.files(path=getwd()) #promt user for dir containing raster files
num_files <- length(raster_data)
for (i in raster_data) { #read in rasters
my_data <- readGDAL(raster_data[i])
Tại thời điểm này, tôi bối rối không biết có nên phân loại lại và bắt đầu tổng hợp dữ liệu trong vòng lặp này hay không. Tôi đoán là có vì nếu không tôi nghĩ rằng tôi có thể sẽ hết bộ nhớ trên máy tính, nhưng không chắc chắn. Tôi cũng không chắc chắn về cách phân loại lại dữ liệu.
Trong nghiên cứu trực tuyến tôi nghĩ rằng tôi sẽ sử dụng reclass(my_data, c(-Inf,3,0, 4,9,1, 10,Inf,0))
, nhưng điều đó có đúng không?
Và để tổng kết tôi sẽ sử dụng sum(stack(my_data))
và bằng cách nào đó đầu ra đó. Ngoài ra ... nếu điều này có thể được thực hiện hoặc viết bằng Python hiệu quả hơn thì tôi cũng sẽ mở nó. Tôi thực sự là người mới bắt đầu khi nói đến lập trình.