R sf :: st_read при подключении к postgis - PullRequest
0 голосов
/ 07 июня 2018

Я не понимаю функцию st_read из пакета sf.Я пытаюсь следовать примеру, приведенному в справке, с моими собственными постгисданными.

**Connection to postgis:**

connz <- dbConnect(PostgreSQL(), dbname="gisdb", user = "postgres", password="postgres", host = "127.0.0.1")

**check tables in connection**

dbListTables(connz)

**Response**

*...

[41] "mijnlocatiesgoogle20171127" "vakantie"                  
[43] "vakantieactiviteiten"       "uitmetbram"  
...

Итак, есть соединение

**Get data using st_read**

xx = st_read(connz, "vakantie", query = "SELECT * FROM vakantie LIMIT 3;")

***Response**
xx = st_read(connz, "vakantie", query = "SELECT * FROM vakantie LIMIT 3;")

Предупреждение: в st_read.DBIObject (...): Игнорирование аргумента запроса, только с использованием таблицы *

Вопрос: Почему аргумент запроса игнорируется и как мне заставить его работать,

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Просто удалите аргумент таблицы.

xx = st_read(connz, query = "SELECT * FROM vakantie LIMIT 3;")

Мне также повезло больше с драйвером RPostgres::Postgres() вместо PostgreSQL().Вы также должны указать порт при определении объекта подключения.

connz <- dbConnect(drv = RPostgres::Postgres(), dbname="gisdb", user = "postgres", password="postgres", host = "127.0.0.1")
0 голосов
/ 20 июля 2018

Аргумент запроса игнорируется, поскольку при указании таблицы sf предполагается, что вы хотите внести таблицу целиком.Просто запустите запрос, потому что вы уже указали таблицу в этом запросе.Опция table там избыточна, и поведение по умолчанию попытается прочитать всю таблицу в результате.

...