【问题标题】:How to read a table from an ESRI file geodatabase (.gdb) using R如何使用 R 从 ESRI 文件地理数据库 (.gdb) 中读取表
【发布时间】:2016-10-08 21:10:15
【问题描述】:

我正在尝试使用 R 从没有几何图形的 ESRI 地理数据库 (.gdb) 中读取表。readOGR 会引发错误,因为没有定义几何图形,这很有意义:

 # Load module to get readOGR
 require('rgdal');

 # Load module to get read.dbf
 require('foreign');

Lechargement a necessité le package : 外国

# goto the directory with the GDB files
fgdb <- "c:/Mrnmicro/VulnerabilitePeuplements/gdb/Produits_IEQM_04151.gdb"

# List all feature classes in a file geodatabase
subset(ogrDrivers(), grepl("GDB", name))
      name    long_name write  copy isVector
34 OpenFileGDB ESRI FileGDB FALSE FALSE     TRUE
ogrListLayers(fgdb)
 [1] "ESSENCE_MAJ" "ETAGE_MAJ"   "Perimetre"   "PEE_MAJ"     "META_MAJ"   
attr(,"driver")
[1] "OpenFileGDB"
attr(,"nlayers")
[1] 5

 # Read the feature class
 fc = readOGR(dsn=fgdb,layer="ESSENCE_MAJ",dropNULLGeometries=FALSE)

Error in readOGR(dsn = fgdb, layer = "ESSENCE_MAJ", dropNULLGeometries =             FALSE) : 
  no features found
In addition: Warning message:
In ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv =     use_iconv,  :
  ogrInfo: all features NULL

----------

与 PEE_MAJ 之类的另一层(即 shapefile)的相同代码可以工作。

 fc = readOGR(dsn=fgdb,layer="PEE_MAJ",dropNULLGeometries=FALSE)
OGR data source with driver: OpenFileGDB 
Source: "c:/Mrnmicro/VulnerabilitePeuplements/gdb/Produits_IEQM_04151.gdb",     layer: "PEE_MAJ"
with 135202 features
It has 31 fields

您能帮我阅读一下 ESSENCE_MAJ 表中包含的功能吗?

【问题讨论】:

  • 您解决了吗?我正在尝试找出如何读取压缩的 GDB 文件。

标签: r geospatial esri


【解决方案1】:

我遇到了同样的问题。我目前的解决方案是直接从 R 调用 OGR 库并将表的内容转储到我在 R 中读回的 csv 中:

system("ogr2ogr -f CSV ESSENCE_MAJ.csv Produits_IEQM_04151.gdb ESSENCE_MAJ")

请参阅here 了解更多信息。它在一台 unix 机器上,不太确定在 Windows 上调用 ogr2ogr 的确切命令。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2012-11-28
    • 2014-02-25
    • 2022-10-21
    • 2019-05-22
    • 2019-09-18
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多