我从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对象