У меня есть геопакет, содержащий миллионы точек трафика, а также слой зоны шоссе.Я хотел бы извлечь точки в зонах шоссе в R-сценарии.
Можно запросить данные атрибута, используя библиотеку (RSQLite) и dbGetQuery, но кажется, что пространственные расширения недоступны.Я, вероятно, пытаюсь что-то лучше по-другому.Ниже приведен запрос для извлечения данных, который работает, и простой запрос для воспроизведения ошибки, которую я получаю, с любыми геометрическими функциями.
library(RSQLite)
library(dbplyr)
library(sqldf)
#Connect to geopackage
con <- dbConnect(RSQLite::SQLite(), dbname = "Traffic_data.gpkg",
loadable.extensions = TRUE)
#Select friday traffic
Traffic_Friday <- dbGetQuery(con, "SELECT*
FROM Traffic_data_points
WHERE Day_ = 'Friday' ;")
#But if I include ST_Within:
Traffic_Friday <- dbGetQuery(con, "SELECT*
FROM Traffic_data_points as tp, highway_buf as hb
WHERE tp.Day_ = 'Friday' and ST_Within(tp.geom, hb.geom) ;")
Я получаю эту ошибку: Ошибка в result_create (conn @ ptr, оператор): нет такой функции: ST_Within.То же самое со всеми функциями геометрии
Возможно ли сделать что-то подобное?