Saya mengubah vektor menjadi raster di R. Namun prosesnya terlalu lama. Apakah ada kemungkinan untuk menempatkan skrip ke dalam pemrosesan multithread atau GPU untuk melakukannya lebih cepat?
Script saya untuk vektor raster.
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')
raster
kelas: Dimensi RasterLayer: 9636, 11476, 110582736 (nrow, ncol, ncell) resolusi: 10, 10 (x, y) sejauh: 505755, 620515, 8555432, 8651792 (xmin, xmax, ymin, ymax) coord. ref. : + proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0
setor
kelas: SpatialPolygonsDataFrame fitur: 5419 luas: 505755, 620515.4, 8555429, 8651792 (xmin, xmax, ymin, ymax) coord. ref. : + proj = utm + zona = 24 + selatan + ellps = GRS80 + unit = m + variabel no_defs: 6 nama: ID, CD_GEOCODI, TIPO, dens_imov, area_m, domicilios1 nilai minimum: 35464, 290110605000001, RURAL, 0,00000003,100004, Nilai maks 1,0000: 58468, 293320820000042, URBANO, 0,54581673,99996, 99,0000
Jawaban:
Saya mencoba "memparalelkan" fungsi
rasterize
menggunakanR
paketparallel
dengan cara ini:n
bagianrasterize
setiap bagian secara terpisahDi komputer saya,
rasterize
fungsi yang diparalelkan mengambil 2,75 kali lebih sedikit dari fungsi yang tidak diparalelkanrasterize
.Catatan: kode di bawah ini mengunduh shapefile poligon (~ 26,2 MB) dari web. Anda bisa menggunakan objek SpatialPolygonDataFrame apa pun. Ini hanya sebuah contoh.
Muat perpustakaan dan contoh data:
Gambar 1: Plot Brasil SpatialPolygonsDataFrame
Contoh utas sederhana
Waktu di laptop saya:
Contoh thread multithread
Gambar 2: Plot Raster Brasil
Waktu di laptop saya:
Info lebih lanjut tentang paralelisasi di R :
sumber