在 sf::st_write() 中设置几何列名

Set geometry column name in sf::st_write()

sf 版本 0.9.0 开始,st_write_db()st_read_db() 已失效。这些函数有很好的参数 geom_name = 'wkb_geometry' 允许用户设置新创建的简单特征列的名称 table.

我仍然可以使用 st_write() 以某种方式执行此操作,还是必须在单独的调用中执行此操作?例如。对于 Postgres:ALTER TABLE x REANAME COLUMN geometry TO geom;

也许用 layer_options = 参数?但是我不知道去哪里查找它的可能性?


sf使用GDAL读写数据。 GDAL 文档包含每个驱动程序可能的图层创建选项列表。对于 Postgres,可以在 https://gdal.org/drivers/vector/pg.html#layer-creation-options

下找到

基于此 layer_options="GEOMETRY_NAME=wkb_geometry" 应该可以解决问题。