Sto cercando di scrivere più livelli nello stesso GeoPackage in R, ma ricevo un errore Creation of output file failed
. Ho provato a cercare documentazione per leggere e scrivere su file .gpkg con RGDAL, ad esempio per capire se writeOGR()
supporta effettivamente più livelli, con scarso successo. È anche possibile, in tal caso, come farlo? Esempio di lavoro minimo:
library(sp)
library(maptools)
library(rgdal)
data(wrld_simpl)
norway <- wrld_simpl[wrld_simpl$NAME == "Norway", ]
sweden <- wrld_simpl[wrld_simpl$NAME == "Sweden", ]
file <- tempfile("scandinavia", fileext = c(".gpkg"))
writeOGR(norway, dsn = file, layer = "norway", driver = "GPKG")
writeOGR(sweden, dsn = file, layer = "sweden", driver = "GPKG")
ogrListLayers(file)
Apparentemente esiste un ogr2ogr
comando shell che esegue il trucco (hat tip mdsumner ), che posso avvolgere in una funzione R. Tuttavia, sarebbe pulito se writeOGR () e / o st_write () nel sf
pacchetto includessero questo. Credo che dipenda da GDAL layer_options
, ma non sembra esserci un'opzione di tipo append per GPKG in GDAL .
Potrei scrivere una semplice funzione wrapper per st_write()
ma supporto nativo sf
o rgdal
sarebbe meglio.