2016-07-25 56 views
0

我装从我的PostgreSQL数据库的一些空间数据为R与RPostgreSQL包的帮助和ST_AsText导入表移植到PostgreSQL数据库

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

已经做了一些分析我想回去那之后办法。我的geom专栏是以字符/ WKT格式化的。不幸的是dbWriteTable不接受与dbGetQuery类似的论点。

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

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

回答

0

我在DB上创建了一个表,使用dbWriteTable()和postGIStools包来INSERT数据(它必须是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;")