r-将data.table功能添加到sf对象



我从PostGIS数据库中读取了一个sf对象,如下所示:

parking <- st_read(dsn = con, query='SELECT * FROM "osm"."planet_osm_point"')

parking具有以下类别:

> class(parking)
[1] "sf"         "data.frame"¨

我想将data.table功能添加到属性表中。

当我做时

parking <- as.data.table(parking)

sf对象丢失了,我只有一个data.table。我想保留几何图形。

如何将data.table添加到sf功能集合?

使用sf::st_as_sf()

如果没有可复制的示例,就不可能知道这是否适用于您,但当我使用readOGR()获取sf对象时,我会运行st_as_sf()将它们转换为一个简单的特征集合,该集合的行为类似于tibble,具有dplyr谓词的方法,但在其几何列中保留几何图形。

我认为投影是保留的,但不是100%确定。

我知道这并不理想,但作为一种变通方法,您可以转换sf::st_as_sf(as.data.frame(data_table)),其中data_table是您的data.table对象。

在我的案例中,我用data.table完成了所有的数据清理和争论步骤,然后将结果转换为sf对象

最新更新