我正在从 R 中的 specialPolygons 对象创建一个 WRT 字符串。

但是,我对输出中的位数感到惊讶。有没有办法减少它?

x = sp::SpatialPolygons(Srl = list(sp::Polygons(srl = list(sp::Polygon(coords = cbind(c(-19.8, -19.9, -19.9, -19.8, -19.8),c(148, 148, 148.2, 148.2, 148)))), ID = "1")), pO = 1:1)
rgeos::writeWKT(x)

这给了我:
"POLYGON ((-19.8000000000000007 148.0000000000000000, -19.8999999999999986 148.0000000000000000, -19.8999999999999986 148.1999999999999886, -19.8000000000000007 148.1999999999999886, -19.8000000000000007 148.0000000000000000))"

最佳答案

优秀的新 sf package 中的函数似乎更像您希望的那样工作:

library(sf)
st_as_text(st_as_sfc(x))
## [1] "POLYGON((-19.8 148, -19.9 148, -19.9 148.2, -19.8 148.2, -19.8 148))"

关于r - 从 rgeos 包中设置 writeWKT 的精度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40757360/

10-13 01:02