Я намагаюся написати кілька шарів до того ж GeoPackage в R, але я отримую повідомлення про помилку, Creation of output file failed
. Я намагався шукати документацію для читання та запису у .gpkg файли за допомогою RGDAL, наприклад, щоб зрозуміти, чи writeOGR()
підтримує насправді декілька шарів, з невеликим успіхом. Чи можливо це навіть, якщо так, як це зробити? Мінімальний робочий приклад:
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)
Мабуть, є ogr2ogr
команда оболонки, яка виконує трюк (hat tip mdsumner ), яку я можу вкласти в функцію R. Однак було б акуратно, якби в sf
пакеті було вбудовано writeOGR () та / або st_write () . Я вважаю, що це залежить від GDAL layer_options
, але, здається, не існує опції типу GPKG для додавання в GDAL .
Я міг би написати просту функцію обгортки для, st_write()
але рідної підтримки в sf
або rgdal
краще.