我正在将光栅转换为点进行一些计算。光栅点具有0.5精度,当我尝试获得点矩阵内点的坐标时,R决定仅舍入Y坐标,如下面的示例所示。
rasterdir <- ".../raster1.tif"
r <- raster(rasterdir)
rp <- rasterToPoints(r)
rp1 <- rp[1, ]
> rp[1, ]
x y raster1
534001.500 4750000.500 337.334
.
rp1x <- rp[1, 1]
> rp1x
x
534001.5
.
rp1y <- rp[1, 2]
> rp1y
y
4750001
有任何建议要保持Y在4750000.5 ??
我仍然不知道为什么控制台中没有显示小数,但我发现这些十进制值仍然存在:
nchar(rp [1,2])
和
9
如果始终显示所有小数,则在控制台中读取数字将非常困难。因此,默认情况下,R不会这样做
x <- 12.000005
x
#[1] 12
但是你可以通过多种方式强制显示。例如。
sprintf("%.10f", x)
#[1] "12.0000050000"
要么
options(digits=10)
x
#[1] 12.000005