我注意到在使用 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) |
答案 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
了解更多详情。