2016-07-25 2 views
0

Я загрузил некоторые пространственные данные из моей PostgreSQL БД в R с помощью RPostgreSQL-пакета и ST_AsText:таблица импорта из R в PostgreSQL DB

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

После проделав некоторые анализы я хочу вернуться, что путь. Моя колонка geom формируется как символ/WKT. К сожалению, dbWriteTable не принимает аналогичные аргументы, как dbGetQuery.

  • Каков наилучший способ импорта пространственных данных из R в PostgreSQL?

До сих пор единственным способом я нашел, импортирует данные в БД и используя ST_GeomFromText в качестве дополнительного шага, чтобы получить мой тип геометрии данных.

ответ

0

Я создал таблицу на моей БД, используя dbWriteTable() и postGIStools-пакет, чтобы ВСТАВИТЬ данные (это должен быть 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;") 
Смежные вопросы