从光栅文件获取坐标时避免舍入
Avoid round when getting coordinates from raster file
我正在将栅格转换为点以进行一些计算。栅格点的精度为 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 中的任何建议??
如果始终显示所有小数,在控制台中读取数字将非常困难。所以,默认情况下,R 不会那样做
x <- 12.000005
x
#[1] 12
但是您可以通过多种方式强制显示。例如
sprintf("%.10f", x)
#[1] "12.0000050000"
或者
options(digits=10)
x
#[1] 12.000005
我正在将栅格转换为点以进行一些计算。栅格点的精度为 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 中的任何建议??
如果始终显示所有小数,在控制台中读取数字将非常困难。所以,默认情况下,R 不会那样做
x <- 12.000005
x
#[1] 12
但是您可以通过多种方式强制显示。例如
sprintf("%.10f", x)
#[1] "12.0000050000"
或者
options(digits=10)
x
#[1] 12.000005