J'essayais de créer une image raster à partir d'une base de données de points espacés de manière irrégulière. Les données ressemblent à
> head(s100_ras)
x y z
1 267573.9 2633781 213.29545
2 262224.4 2633781 69.78261
3 263742.7 2633781 51.21951
4 259328.4 2633781 301.98413
5 264109.8 2633781 141.72414
6 255094.8 2633781 88.90244
Je veux ces valeurs «z» dans un maillage que j'ai créé par
# Create a fine mesh grid
my_mesh=expand.grid(seq(min(s100_ras$Y),max(s100_ras$Y),l=100),
seq(min(s100_ras$X),max(s100_ras$X),l=100))
Je souhaite également que les valeurs z soient attribuées en tant que «NA» pour les points de maillage situés en dehors des points de données. Les points sur le maillage ressemblent à ceci: https://drive.google.com/file/d/0B6GUNg-8d30vYzlwTkhvaHBFTnc/edit?usp=sharing lorsque je trace
plot(my_mesh)
points(s100_ras$Y, s100_ras$X, pch="*", col='blue')
Le problème est que je ne sais pas comment construire sur cela, les étapes suivantes ne fonctionnent pas parce que ma grille maillée et mes points de données ne sont pas de la même échelle !!
library(rgdal)
library(raster)
xyz<-cbind(my_mesh, s100_ras)
r <- rasterFromXYZ(xyz)
image(r)
Si j'essaie de créer un raster en utilisant simplement les points de données (sans aucun maillage), R génère une erreur car mes données sont espacées de manière irrégulière!
library(sp)
s100_ras <- data.frame(expand.grid(x = s100_ras$Y, y = s100_ras$X),
z = as.vector(s100_ras$mean))
coordinates(s100_ras) <- ~x+y
proj4string(s100_ras) <- CRS("+proj=utm +zone=46 +datum=WGS84")
gridded(s100_ras) = TRUE
suggested tolerance minimum: 0.916421
Error in points2grid(points, tolerance, round) :
dimension 1 : coordinate intervals are not constant
De plus, j'essayais de jouer avec la fonction 'rasterize' (pour les grilles irrégulières) de 'raster package', mais je ne pouvais pas y arriver :(. Je sais comment interpoler et créer une grille régulière, mais pour le bien d'originalité, je veux ÉVITER l'interpolation. Est-il possible de faire un raster de points de données irrégulièrement espacés sans idw ou méthodes de krigeage?
SpatialPixelsDataFrame
avec l' tolerance
argument suggéré (0.916421 dans votre cas).