Suite

Combiner des rasters en un seul raster avec plusieurs valeurs de champ dans R


J'ai plusieurs objets de brique raster que je voudrais combiner en un seul raster avec plusieurs valeurs de champ pour chaque cellule, mais je ne sais pas comment faire cela dans R.

Par exemple, disons que j'ai deux couches dans une brique raster 2*2.

r <-raster(nrow=2,ncol=2) r[] <- round(runif(ncell(r))* 10,0) s <-raster(nrow=2,ncol=2) s[] <- round(runif(ncell(r))* 10,0) t = brique(r,s)

Je voudrais combiner les valeurs de r et s en un seul raster avec plusieurs valeurs (à l'emplacement [email protected]@attributes, je pense) associées à chaque cellule.

Ainsi, dans l'exemple ci-dessus, si la cellule 1 = 1 dans r et la cellule 1 = 2 dans s, alors la sortie que je souhaite est que le raster résultant contienne deux champs à @[email protected], le premier champ = 1 et le second champ = 2.


Si vous souhaitez conserver le(s) type(s) d'objet en tant que raster, je regarderais la fonction ratifier, bien que je ne pense pas qu'elle soit destinée aux données numériques.

require(raster) r2 <- raster(nrow=10, ncol=10) r2[] = 1 r2[51:100] = 2 r2[3:6, 1:5] = 3 r2 <- ratify(r2) rat <- niveaux(r2)[[1]] rat$MyRATValue <- c(100,200,300) rat$code <- c(1,2,3) niveaux(r2) <- rat r2

Vous pouvez également contraindre l'objet brique raster à un objet SpatialPixelsDataFrame où les emplacements @data contiennent des attributs pour chaque raster. Ce n'est cependant pas nécessairement sûr pour la mémoire.

require(raster) r <-raster(nrow=2,ncol=2) r[] <- round(runif(ncell(r))* 10,0) s <-raster(nrow=2,ncol=2) s [] <- round(runif(ncell(r))* 10,0) r = brick(r,s) r <- as(r, "SpatialPixelsDataFrame") str([email protected]) head([email protected])

Je pense que j'ai trouvé un moyen de le faire.

r <-raster(nrow=2,ncol=2) r[] <- round(runif(ncell(r))* 10,0) s <-raster(nrow=2,ncol=2) s[] <- round(runif(ncell(r))* 10,0) u <-raster(nrow=2,ncol=2) u[] <- round(runif(ncell(r))* 10,0) u = brique( u,r,s) [email protected]@attributes[1][[1]] <- valeurs(u)

Au moins dans l'exemple du jouet, cela fait ce que je voulais qu'il fasse.


Voir la vidéo: TIN to Raster, Raster to TIN in ArcGIS (Octobre 2021).