writeOGR错误:输出文件的创建失败

时间:2017-05-08 01:48:59

标签: gdal rgdal

我是一名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

3 个答案:

答案 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