Ich konvertiere Vektor in Raster in R. Der Prozess war jedoch zu lang. Gibt es die Möglichkeit, das Skript in Multithread- oder GPU-Verarbeitung zu versetzen, um es schneller zu machen?
Mein Skript zum gerasterten Vektor.
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
Klasse: RasterLayer Abmessungen: 9636, 11476, 110582736 (nrow, ncol, ncell) Auflösung: 10, 10 (x, y) Ausdehnung: 505755, 620515, 8555432, 8651792 (xmin, xmax, ymin, ymax) Koordinate. ref. : + proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0
Setter
Klasse: SpatialPolygonsDataFrame-Funktionen: 5419 Umfang: 505755, 620515.4, 8555429, 8651792 (xmin, xmax, ymin, ymax) Koordinate. ref. : + proj = utm + zone = 24 + süd + ellps = GRS80 + Einheiten = m + no_defs Variablen: 6 Namen: ID, CD_GEOCODI, TIPO, dens_imov, area_m, domicilios1 min Werte: 35464, 290110605000001, RURAL, 0.00000003,100004, Maximalwerte 1,0000: 58468, 293320820000042, URBANO, 0,54581673,99996, 99,0000
Antworten:
Ich habe versucht, die Funktion mit dem Paket folgendermaßen zu "parallelisieren" :
rasterize
R
parallel
n
Teilerasterize
jedes Teil separatIn meinem Computer
rasterize
dauerte die parallelisierte Funktion 2,75- mal weniger als die nicht parallelisierterasterize
Funktion.Hinweis: Mit dem folgenden Code können Sie ein Polygon-Shapefile (~ 26,2 MB) aus dem Internet herunterladen. Sie können jedes SpatialPolygonDataFrame-Objekt verwenden. Dies ist nur ein Beispiel.
Laden Sie Bibliotheken und Beispieldaten:
Abbildung 1: Brazil SpatialPolygonsDataFrame-Diagramm
Einfaches Thread-Beispiel
Zeit in meinem Laptop:
Beispiel für einen Multithread-Thread
Abbildung 2: Brasilien-Rasterplot
Zeit in meinem Laptop:
Weitere Informationen zur Parallelisierung in R :
quelle