st_geometry 似乎四舍五入浮点数

时间:2021-04-27 19:04:00

标签: r sf

我注意到在使用 st_transform 后,如果我在 RStudio 中使用 View() 命令查看坐标,我会看到小数位,但 st_geometry 等函数似乎返回四舍五入的整数值。如果 sf 对数字进行四舍五入,我担心我的计算会不正确。

library(sf)

x <- tibble(name='location 1',lon=21.0122,lat=52.2297)

pt <- x %>% st_as_sf(coords=c('lon','lat'),crs=4326) %>%
  st_transform(3035)

如果我打印第一个坐标的值,结果没有小数位

st_geometry(pt)[[1]][1]

[1] 5070109

但是如果我在 RStudio 中查看 sf 对象,它显然是一个浮点数。

pt %>% View
<头>
名称 几何
位置 1 c(5070108.64864491, 3292361.60097363)

1 个答案:

答案 0 :(得分:2)

舍入仅在打印结果时发生。例如:

> sprintf("%.15f", st_geometry(pt)[[1]][1])
[1] "5070108.648660272359848"

> options(digits = 15)
> st_geometry(pt)[[1]][1]
[1] 5070108.64866027

查看 digits 中的参数 ?options 了解更多详情。