Я использую сервер rstudio в дистрибутиве redhat linux, и кажется, что в пакете sf отсутствуют некоторые драйверы, особенно драйвер геопакета. Я не могу выяснить источник проблемы.
Запуск этого на моем локальном windows компьютере не вызывает проблем (версия .9-2)
# Create a point
library(sf)
# >Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
pt <- data.frame(x = -81.98964, y = 35.29505)
ptSF <- st_as_sf(pt, coords = c("x","y"),crs=4030)
# Project the point to UTM 17N and write
ptSF17N <- st_transform(ptSF, crs = 2958)
st_write(ptSF17N, "points.gpkg", layer = "outlet", driver = "GPKG")
# > Writing layer `outlet' to data source `points.gpkg' using driver `GPKG'
# > Writing 1 features with 0 fields and geometry type Point.
# Import and verify
import <- st_read("points.gpkg", layer = "outlet")
#Reading layer `outlet' from data source `C:\Users\Andrew\Documents\points.gpkg' using driver `GPKG'
#Simple feature collection with 1 feature and 0 fields
#geometry type: POINT
#dimension: XY
#bbox: xmin: 410017.6 ymin: 3906213 xmax: 410017.6 ymax: 3906213
#CRS: 2958
Однако, выполнение этого же кода на сервере rstudio (также sf версии. 9-2) выдает:
library(sf)
#Linking to GEOS 3.4.2, GDAL 2.2.1, PROJ 4.8.0
pt <- data.frame(x = -81.98964, y = 35.29505)
ptSF <- st_as_sf(pt, coords = c("x","y"),crs=4030)
# Project the point to UTM 17N and write
ptSF17N <- st_transform(ptSF, crs = 2958)
st_write(ptSF17N, "points.gpkg", layer = "outlet", driver = "GPKG")
#driver `GPKG' not available.
#Error in CPL_write_ogr(obj, dsn, layer, driver, as.character(dataset_options), :
# Driver not available.
Я проверил, что драйвер GPKG недоступен с помощью st_drivers (), однако я не совсем понимаю, почему. драйвер GPKG должен поддерживаться с использованием GDAL 2.0 или более поздней версии. Может ли быть, что эти версии GEOS и / или PROJ вызывают эту проблему? Другая проблема, с которой я сталкиваюсь, заключается в том, что мне нужно проработать техническую поддержку, чтобы установить их обновленные версии, но мне нужно попытаться определить проблему заранее, прежде чем я вызову кучу других проблем для множества других людей. Буду очень признателен за любые мысли по этому вопросу.