从光栅文件获取坐标时避免舍入

问题描述 投票:0回答:2

我正在将光栅转换为点进行一些计算。光栅点具有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 coordinates rounding floating-accuracy geo
2个回答
0
投票

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

nchar(rp [1,2])

9


0
投票

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

x <- 12.000005
x
#[1] 12

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

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

要么

options(digits=10)
x
#[1] 12.000005
© www.soinside.com 2019 - 2024. All rights reserved.