我想知道是否有一种简单的方法来编写包含坐标的点sf
对象(sf
R包)的CSV。
您可以使用st_write(input, "output.csv")
,它会写一个没有坐标的CSV。我写的带坐标的文件是:
coords <- st_coordinates(input)
input_dat <- input %>% st_set_geometry(., NULL)
input_dat <- cbind(input_dat, coords)
但似乎必须有一种更简单的方法。
根据要求,以下是上述代码的设置:
input <- data.frame(ID = 1:10, longitude = rnorm(10), latitude = rnorm(10))
input <- st_as_sf(input, coords = c("longitude", "latitude"))
答案 0 :(得分:7)
我被Jakub Nowosad发送到了解决方案。他向我指出this github issue由Etienne B. Racine解决的问题。
显然GDAL有一个标志,允许您包含坐标。所以:
st_write(input, "output.csv", layer_options = "GEOMETRY=AS_XY")
答案 1 :(得分:3)
您希望对所有其他几何类型的POINT简单要素几何进行不同的处理,使其基本为as.data.frame
;我认为这个特征是蠕变的。我想
cbind(as.data.frame(input), st_coordinates(input))
对于这种特殊情况,很容易。
st_write
是您所有GDAL驱动程序的门户网站,仅此而已,它不会对数据执行任何操作,也不会自行处理GDAL设置。
答案 2 :(得分:1)
应该有一种更简单的方法,我同意。 as.data.frame()
对象的sp
方法会附加坐标,我觉得sf
个对象也应该有一个坐标。但是现在,怎么样:
input %>%
cbind(., st_coordinates(.)) %>%
st_set_geometry(NULL)