Guest User

Untitled

a guest
Apr 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. r.raster = raster()
  2. extent(r.raster) = extent(setor) #definindo o extent do raster
  3. res(r.raster) = 10 #definindo o tamanho do pixel
  4. setor.r = rasterize(setor, r.raster, 'dens_imov')
  5.  
  6. # Load libraries
  7. library('raster')
  8. library('rgdal')
  9.  
  10. # Load a SpatialPolygonsDataFrame example
  11. # Load Brazil administrative level 2 shapefile
  12. BRA_adm2 <- raster::getData(country = "BRA", level = 2)
  13.  
  14. # Plot BRA_adm2
  15. plot(BRA_adm2)
  16. box()
  17.  
  18. # Define RasterLayer object
  19. r.raster <- raster()
  20.  
  21. # Define raster extent
  22. extent(r.raster) <- extent(BRA_adm2)
  23.  
  24. # Define pixel size
  25. res(r.raster) <- 0.1
  26.  
  27. # Simple thread -----------------------------------------------------------
  28.  
  29. # Rasterize
  30. system.time(BRA_adm2.r <- rasterize(BRA_adm2, r.raster, 'NAME_2'))
  31.  
  32. # Output:
  33. # user system elapsed
  34. # 23.883 0.010 23.891
  35.  
  36. # Multithread -------------------------------------------------------------
  37.  
  38. # Load 'parallel' package for support Parallel computation in R
  39. library('parallel')
  40.  
  41. # Calculate the number of cores
  42. no_cores <- detectCores() - 1
  43.  
  44. # Number of polygons features in SPDF
  45. features <- 1:nrow(BRA_adm2[,])
  46.  
  47. # Split features in n parts
  48. n <- 50
  49. parts <- split(features, cut(features, n))
  50.  
  51. # Initiate cluster (after loading all the necessary object to R environment: BRA_adm2, parts, r.raster, n)
  52. cl <- makeCluster(no_cores, type = "FORK")
  53. print(cl)
  54.  
  55. # Parallelize rasterize function
  56. system.time(rParts <- parLapply(cl = cl, X = 1:n, fun = function(x) rasterize(BRA_adm2[parts[[x]],], r.raster, 'NAME_2')))
  57.  
  58. # Finish
  59. stopCluster(cl)
  60.  
  61. # Merge all raster parts
  62. rMerge <- do.call(merge, rParts)
  63.  
  64. # Plot raster
  65. plot(rMerge)
  66.  
  67. # Output:
  68. # user system elapsed
  69. # 0.203 0.033 8.688
Add Comment
Please, Sign In to add comment