J'ai certaines couches raster classées en tant que cartes de couverture terrestre catégorielles. Toutes les couches ayant exactement les mêmes catégories (permet de dire: "water", "Trees", "Urban","bare soil"
), mais ils sont des points de temps différents (par exemple 2005 et 2015) je les charge en mémoire en utilisant la fonction de trame comme ceci:Comment accéder aux noms de classes dans une carte catégorielle raster
comp <- raster("C:/workingDirectory4R/rasterproject/2005marsh3.rst")
ref <- raster("C:/workingDirectory4R/rasterproject/2013marsh3.rst")
"comp"
est le comparison map
à l'instant t+1
et "ref"
est le reference map
à partir de l'heure t
. Ensuite, j'ai utilisé la fonction crosstab
pour générer le confusion table
. Cette table peut être utilisée pour explorer les changements dans les catégories à travers l'intervalle de temps.
contingency.Matrix <- crosstab(comp, ref)
Le résultat est au format matrix
avec les "comp"
catégories dans le column
et "ref"
dans le rows
. Et column
et row
noms étiquetés avec des numéros numéros 1 to 4
.
Maintenant, j'ai 2 questions et j'apprécie vraiment toute aide sur la façon de les résoudre.
1- Je veux assigner les noms de catégorie aux colonnes et aux rangées de le matrix
pour faciliter son interprétation.
2- Maintenant, nous allons dire que j'ai trois raster layers
pour 2005, 2010 et 2015. Cela signifie que j'aurais deux confusion tables
un pour 2005-2010 et autre pour 2010-2015. Quelle est la meilleure procédure pour automatiser ce processus avec l'interaction minimale de l'utilisateur.
J'ai pensé à demander à l'utilisateur de charger les couches raster, puis le code les enregistrer dans une liste. Ensuite, je demande un vecteur d'années de l'utilisateur mais le problème est comment puis-je m'assurer que l'ordre des couches raster et les années sont les mêmes? Et y a-t-il une manière plus élégante de faire ceci.
Merci