Я использую группу больших растровых слоев для анализа некоторых аспектов управления в Великобритании. Каждый слой получил следующее:
класс: RasterLayer
размеры: 65240, 65628, 4281570720 (nrow, ncol, ncell)
разрешение: 10, 10 (x, y)
экстент: -80, 656200, 5300, 657700 (xmin, xmax, ymin, ymax)
ord.ref .: + proj = tmerc + lat_0 = 49 + lon_0 = -2 + k = 0.9996012717 + x_0 = 400000 + y_0 = -100000 + данные = OSGB36 + единицы = m + no_defs + ellps = airy + towgs84 = 446.448, -125,157,542.060,0.1502,0.2470,0.8421, -20,4894
источник данных: E: \ Land Component Management \ Land_Management_Control \ R_Work \ TempDir \ r_tmp_2018-08-31_100516_1544_40026.grd
имена: слой
значения: 0, 77 (мин, макс)
Я загрузил данные в мой рабочий каталог, используя следующий код:
raster_files = list.files(path = '.', pattern = '.tif$', full.names = TRUE)
Затем я получил каждый слой, используя приведенный ниже код, чтобы получить каждый слой.
LayerType1 = raster(raster_files[1])
Я использую Windows Server 2016 с системным типом 64 бит и 64 ГБ ОЗУ.
Как видите, слои находятся не в памяти, а загружены во временный каталог. Моя проблема в том, что моя машина использует менее 25% от общего объема ОЗУ при обработке этих растров .
Я тестировал разные варианты использования слоев напрямую или в стеке или кирпиче, но все же столкнулся с той же проблемой.
Я прописал максимальное использование плунжера в R (memory.limit(size = 65535) [1] 65535
).
Я попытался с помощью простого цикла проверить, достигла ли память максимума, и я вижу, что аппарат использует назначенный максимальный объем памяти.
Есть предложения, почему аппарат не использует максимально доступную память?
Ясень