Estoy convirtiendo vector a ráster en R. Sin embargo, el proceso fue demasiado largo. ¿Existe la posibilidad de poner el script en procesamiento multiproceso o GPU para hacerlo más rápido?
Mi guión al vector rasterizado.
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
clase: RasterLayer dimensiones: 9636, 11476, 110582736 (nrow, ncol, ncell) resolución: 10, 10 (x, y) extensión: 505755, 620515, 8555432, 8651792 (xmin, xmax, ymin, ymax) coord. árbitro. : + proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0
setor
clase: SpatialPolygonsDataFrame características: 5419 extensión: 505755, 620515.4, 8555429, 8651792 (xmin, xmax, ymin, ymax) coord. árbitro. : + proj = utm + zone = 24 + south + ellps = GRS80 + unidades = m + no_defs variables: 6 nombres: ID, CD_GEOCODI, TIPO, dens_imov, area_m, domicilios1 valores mínimos: 35464, 290110605000001, RURAL, 0.00000003,100004, 1.0000 valores máximos: 58468, 293320820000042, URBANO, 0.54581673,99996, 99.0000
Respuestas:
Traté de "paralelizar" la función
rasterize
usando elR
paqueteparallel
de esta manera:n
partesrasterize
cada parte por separadoEn mi computadora, la
rasterize
función paralelizada tomó 2.75 veces menos que la función no paralelizadarasterize
.Nota: el siguiente código descarga un archivo de forma poligonal (~ 26.2 MB) de la web. Puede usar cualquier objeto SpatialPolygonDataFrame. Este es solo un ejemplo.
Cargar bibliotecas y datos de ejemplo:
Figura 1: Gráfico de Brasil SpatialPolygonsDataFrame
Ejemplo de hilo simple
Tiempo en mi laptop:
Ejemplo de hilo multiproceso
Figura 2: Parcela de trama de Brasil
Tiempo en mi laptop:
Más información sobre paralelización en R :
fuente