【问题标题】:Opening SHP file in RStudio在 RStudio 中打开 SHP 文件
【发布时间】:2013-06-26 14:53:10
【问题描述】:

我有一个包含所有法国行政限制的五个文件的包(here)。 所有这五个文件 LIMITE_DEPARTEMENT.SHP/DBF/AVL/PRJ/SHX 都在文件夹 /home/jonathan/R 中。

我使用这个代码:

library(maptools)
setwd('/home/jonathan/R')
france<-readShapeSpatial("LIMITE_DEPARTEMENT", proj4string=CRS("+proj=longlat"))

这让我很感动:

Error in read.dbf(filen1) : unable to open DBF file

我已经在 R (3.0.1) 和 Rstudio (0.97.551) 中尝试过。 我也读过这个post 和这个one。但是,现在我不知道我能做什么......

感谢您的帮助。

【问题讨论】:

    标签: r shapefile maptools


    【解决方案1】:

    该错误与dbf文件的扩展名是.DBF而不是.dbf有关,因此一种解决方法是重命名它。

    并且最好使用rgdal::readOGR函数来读取R中的shapefile。

    我的 /tmp 文件夹中有 shape 文件,因此请将其更改为您的实际路径以使其正常工作

    require(rgdal)
    file.copy(from = "/tmp/LIMITE_DEPARTEMENT.DBF", 
              to = "/tmp/LIMITE_DEPARTEMENT.dbf")
    file.remove("/tmp/LIMITE_DEPARTEMENT.DBF")
    depart <- readOGR(dsn = "/tmp", layer = "LIMITE_DEPARTEMENT")
    str(depart, max.level = 2)
    ## Formal class 'SpatialLinesDataFrame' [package "sp"] with 4 slots
    ##   ..@ data       :'data.frame':  330 obs. of  2 variables:
    ##   ..@ lines      :List of 330
    ##   .. .. [list output truncated]
    ##   ..@ bbox       : num [1:2, 1:2] 99226 6049647 1242375 7110524
    ##   .. ..- attr(*, "dimnames")=List of 2
    ##   ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
    

    【讨论】:

    • 宾果游戏!它是如此简单......(而且很棘手)谢谢,谢谢,谢谢...... :)
    【解决方案2】:

    我也是从 R(法语……)开始的,我遇到了类似的问题,你得到的信息也一样。而且我发现了一个解决方案:我刚刚将精确的方式插入到 .shp 文件中。例如,在我的 Mac 上:/Applications/R/DEPARTEMENT/DEPARTEMENT.SHP。 GEOFLAT 2014 剧目(包含文件“DEPARTEMENT.SHP”)已从 IGN 网站(国家地理研究所)下载。第一次,我将 'SHP' 更改为 'shp'(并在 R consol 中这样写:'DEPARTEMENT.shp'):没有结果。第二次,我想到了文件的完整路径:和成功。

    我使用了 'maps' 和 'maptools' 扩展(有 'sp' 等等)。

    请尝试一下,然后回答我。

    【讨论】:

      【解决方案3】:

      查看与rgdal 一起提供的readOGR(dsn = "/path/to/data", layer = "LIMITE_DEPARTEMENT", ...)。 .dbf 文件通常没有问题。

      【讨论】:

        【解决方案4】:

        也许你必须打开外部包才能读取 .dbf 文件。

        【讨论】:

        • 外国包裹现在转了……没有任何改变。我也试过 «法国
        • 我尝试了 shape
        • grrr ... 那么这里发生了什么?如果我重命名“shape.shp”和“shape.dbf”中的文件,则错误变为“打开 SHP 文件时出错”。 // 你是否使用任何其他包? sp/gripd/lattice/gpclib ?
        • 其实没有。。我已经安装了sp和maptools。
        猜你喜欢
        • 1970-01-01
        • 2017-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多