Ограниченное использование оперативной памяти с большими растровыми слоями в R - PullRequest
0 голосов
/ 31 августа 2018

Я использую группу больших растровых слоев для анализа некоторых аспектов управления в Великобритании. Каждый слой получил следующее:

класс: 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).

Я попытался с помощью простого цикла проверить, достигла ли память максимума, и я вижу, что аппарат использует назначенный максимальный объем памяти.

Есть предложения, почему аппарат не использует максимально доступную память? Ясень

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...