【问题标题】:Import table from R into PostgreSQL DB将表从 R 导入 PostgreSQL 数据库
【发布时间】:2016-11-29 01:25:04
【问题描述】:

我在 RPostgreSQL-package 和 ST_AsText 的帮助下将一些空间数据从我的 PostgreSQL DB 加载到 R 中:

dbGetQuery(con, "SELECT id, ST_AsText(geom) FROM table;")

在做了一些分析之后,我想回到那个方向。我的 geom 列仍然格式化为字符/WKT。不幸的是,dbWriteTable 不接受与dbGetQuery 类似的参数。

  • 将空间数据从 R 导入 PostgreSQL 的最佳方法是什么?

到目前为止,我发现的唯一方法是将数据导入数据库并在附加步骤中使用ST_GeomFromText 来获取我的几何数据类型。

【问题讨论】:

    标签: r postgresql postgis


    【解决方案1】:

    我通过使用dbWriteTable() 和 postGIStools-package 在我的数据库上创建了一个表来插入数据(它必须是 SpatialPolygonsDataFrame)。

    ## Create an empty table on DB
    dbWriteTable(con, name=c("public", "<table>"), value=(dataframe[-c(1:nrow(dataframe)), ]))
    require(postGIStools)
    ## INSERT INTO
    postgis_insert(con, df=SpatialPolygonsDataFrame, tbl="table", geom_name="st_astext")
    dbSendQuery(con, "ALTER TABLE <table> RENAME st_astext TO geom;")
    dbSendQuery(con, "ALTER TABLE <table> ALTER COLUMN geom TYPE geometry;")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 2019-10-05
      • 2011-07-22
      • 1970-01-01
      相关资源
      最近更新 更多