从栅格文件获取坐标时避免倒圆角

时间:2018-09-05 15:14:39

标签: r coordinates rounding floating-accuracy geo

我正在将栅格转换为点以进行一些计算。栅格点的精度为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?

2 个答案:

答案 0 :(得分:0)

我仍然不知道为什么控制台中未显示该十进制,但我发现这些十进制值仍然存在:

  

nchar(rp [1,2])

y

9

答案 1 :(得分:0)

如果始终显示所有小数,则在控制台中读取数字将非常困难。因此,默认情况下,R不这样做

x <- 12.000005
x
#[1] 12

但是您可以通过多种方式强制显示。例如

sprintf("%.10f", x)
#[1] "12.0000050000"

options(digits=10)
x
#[1] 12.000005