0

そのピクセル内にあるポイントを持つピクセルの重心の座標を抽出しようとしています。ここに再現可能な例があります

library(terra)
filename <- system.file("ex/elev.tif", package="terra")
r <- rast(filename)

#Create random points in raster
points<-spatSample(r, 10, as.points=TRUE)
crds<-crds(points)
#Extract the coordinates of the random points
crds
            x        y
 [1,] 5.904167 49.97083
 [2,] 6.262500 50.12917
 [3,] 6.512500 49.63750
 [4,] 6.462500 50.03750
 [5,] 6.137500 49.90417
 [6,] 6.520833 49.96250
 [7,] 5.904167 49.52083
 [8,] 6.187500 49.68750
 [9,] 6.212500 49.68750
[10,] 5.962500 49.86250

#Extract pixel values and centroids of pixels
values<-extract(r, points, xy=TRUE)
values

ID  elevation          x         y
1 373.000000   6.462500  49.52083
2   5.904167  50.037500 367.00000
3  49.970833 368.000000   6.18750
4        NaN   6.137500  49.68750
5   6.262500  49.904167 392.00000
6  50.129167        NaN   6.21250
7        NaN   6.520833  49.68750
8   6.512500  49.962500 431.00000
9  49.637500 305.000000   5.96250
10        NaN   5.904167  49.86250

抽出された xy 座標は元の座標からわずかにずれているだけだと思いますが、代わりに値がすべて混同されているようです。コードに間違いがありますか、またはこれらの値を取得する別の方法はありますか?

4

2 に答える 2