2016-07-25 96 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;")