我是一名R新秀并尝试使用adehabitatHR软件包中的内核密度估算来创建鱼类遥测数据的家庭范围
kud <- kernelUD(muskydetectdata.P[,6], h="href", extent = 5)
class(kud)
image(kud)
kud[[1]]@h
muskykud.P95 <- getverticeshr(kud, percent = 95)
muskykud.P95
muskykud.P50 <- getverticeshr(kud, percent = 50)
muskykud.P50
导出到shapefile时
writeOGR(muskydetectdata.sp,"musky_kde1", "gps",
driver="ESRI Shapefile",
dataset_options= "FieldName= id")
显示错误消息
##creation of output file failed
我还尝试使用writeSpatialShape
类似的结果
我在Windows 64位上使用R版本3.3.2
答案 0 :(得分:6)
我遇到了同样的问题,只有当我添加了我的目录的全名和图层名称以及shp后缀时才解决它:
writeOGR(muskydetectdata.sp, dsn="d:/your directory here/musky_kde.shp", Layer="musky_kde", driver="ESRI Shapefile")
答案 1 :(得分:1)
我有同样的错误。
我通过更正保存的目录(确保它存在)来解决我的问题
e.g。
writeOGR(muskydetectdata.sp, dsn = save.dir, layer = filename.save, driver = 'ESRI Shapefile')
其中save.dir是您要保存为字符串的目录,而filename.save是您希望保存为的文件名(不包括扩展名)
答案 2 :(得分:0)
我猜你试图在现有文件上写,writeOGR
函数不允许这样做。我想这是OGR支持的一些驱动程序的已知行为(据我记得在R中,如在python和C API中)。
您必须在写作之前检查文件是否存在并将其删除(或更改您要使用的路径)。
例如,第一次写入操作成功,但覆盖文件的尝试失败并显示错误消息:
> rgdal::writeOGR(spdf, 'b.shp', layer="brazil", driver='ESRI Shapefile')
> rgdal::writeOGR(spdf, 'b.shp', layer="brazil", driver='ESRI Shapefile')
Error in rgdal::writeOGR(spdf, "b.shp", layer = "brazil", driver = "ESRI Shapefile") :
Creation of output file failed