1
我正在尋找提高速度和降低以下行的內存使用的方式比較快的方式:總結基於R中的多邊形程度柵格值
export <- raster(paste0(catch_dir,'/export_streams.rst'))
catchm_polyg <- readOGR(dsn = catch_dir, layer = 'catchment')
Model_10 <- extract(export, catchm_polyg, fun = sum, na.rm = TRUE)
這給我的總和所有來自export_streams.rst的值,以catchm_polyg作爲範圍。
我想爲不同的輸入數據做很多次。因此,代碼是function
的一部分,然後在foreach
循環中使用。這一切都在一定程度上正常工作。雖然代碼不適用於較大的輸入數據,因爲我顯然沒有足夠的內存(32GB,64位R版本)。計算時間也非常長。有關如何改進代碼的任何建議?
感謝您的回答。 '提取(myrast,myploys,fun = sum,na.rm = TRUE,文件名=「myfile.rst」,overwrite = TRUE)'這給了我作爲數字的總和。但是,如果我現在想要使用這個號碼(例如轉換爲其他單位),我該如何「抓住」這個號碼?因爲代碼顯然不寫一個名爲「myfile.rst」的文件。我也可以寫'extract(myrast,myploys,fun = sum,na.rm = TRUE,overwrite = TRUE)''。我不明白代碼實際上在哪裏「寫入文件」。 – nowi
O對不起。你是正確的寫外部不會使用extract()。我做了相應的編輯。 –