Я конвертирую вектор в растр в R. Однако процесс был слишком долгим. Есть ли возможность поместить скрипт в многопоточную или графическую обработку, чтобы сделать это быстрее?
Мой скрипт в растеризованный вектор.
r.raster = raster()
extent(r.raster) = extent(setor) #definindo o extent do raster
res(r.raster) = 10 #definindo o tamanho do pixel
setor.r = rasterize(setor, r.raster, 'dens_imov')
r.raster
класс: RasterLayer размеры: 9636, 11476, 110582736 (nrow, ncol, ncell) разрешение: 10, 10 (x, y) экстент: 505755, 620515, 8555432, 8651792 (координаты xmin, xmax, ymin, ymax). ссылка : + proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0
Setor
Класс: SpatialPolygonsDataFrame Особенности: 5419 экстент: 505755, 620515.4, 8555429, 8651792 (xmin, xmax, ymin, ymax) координат. ссылка : + proj = utm + zone = 24 + south + ellps = GRS80 + unit = m + no_defs переменные: 6 имен: ID, CD_GEOCODI, TIPO, dens_imov, area_m, domicilios1 min значения: 35464, 290110605000001, RURAL, 0,00000003,100004, Максимальные значения 1,0000: 58468, 293320820000042, URBANO, 0,54581673,99996, 99,0000
Ответы:
Я попытался «распараллелить» функцию,
rasterize
используяR
пакетparallel
следующим образом:n
частиrasterize
каждая часть отдельноВ моем компьютере
rasterize
функция распараллеливания выполнялась в 2,75 раза меньше, чемrasterize
функция без распараллеливания .Примечание. Приведенный ниже код загружает шейп-файл многоугольника (~ 26,2 МБ) из Интернета. Вы можете использовать любой объект SpatialPolygonDataFrame. Это только пример.
Загрузите библиотеки и пример данных:
Рисунок 1: График Бразилии SpatialPolygonsDataFrame
Пример простой темы
Время в моем ноутбуке:
Пример многопоточности
Рисунок 2: График растров Бразилии
Время в моем ноутбуке:
Больше информации о распараллеливании в R :
источник