Избегайте округления при получении координат из растрового файла - PullRequest
0 голосов
/ 05 сентября 2018

Я конвертирую растр в точки, чтобы сделать некоторые расчеты. Растровые точки имеют точность 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 голосов
/ 05 сентября 2018

Чтение чисел в консоли было бы очень сложно, если бы всегда отображались все десятичные дроби. Таким образом, по умолчанию R не делает этого

x <- 12.000005
x
#[1] 12

Но вы можете заставить показывать то несколькими способами. Э.Г.

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

Или

options(digits=10)
x
#[1] 12.000005
0 голосов
/ 05 сентября 2018

Я до сих пор не знаю, почему это десятичное число не отображается в консоли, но я понял, что эти десятичные значения все еще там:

NCHAR (гр [1,2])

у

9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...