1

要提取 ENVI .hdr 文件的特定信息,我想使用 caTools::read.ENVI() 将其读入 R。不幸的是,R 只是抛出错误消息,我不知道如何解决这个问题。

到目前为止,我尝试过的内容如下:

# install.packages("rgdal")
# install.packages("raster")
# install.packages("caTools")
library("rgdal")
library("raster")
library("caTools")

hdr_dir <- "D:/ExploreR/X_Test/01_data/dataset.hdr"

hdr_file <- read.ENVI(hdr_dir, headerfile = paste(hdr_dir, ".hdr", sep = ""))

# Error in read.ENVI(hdr_dir, headerfile = paste(hdr_dir, ".hdr", sep = "")) : read.ENVI: Could not open input header file: D:/ExploreR/X_Test/01_data/dataset.hdr.hdr

有谁知道如何解决这个问题?非常感谢您提前提供的帮助!

4

3 回答 3

1

这应该工作

read.ENVI("D:/ExploreR/X_Test/01_data/dataset.hdr")

在您的代码中,您应该将创建文件名与使用它分开。您在创建文件名时犯了一个错误。首先创建它,将它分配给一个变量,然后用 . 测试它是否存在file.exists。此外,要创建文件名,最好file.path使用paste.

library("caTools")

dirname <- "D:/ExploreR/X_Test/01_data/"
filename <- file.path(dirname, "dataset.hdr")
file.exists(filename)

x <- read.ENVI(filename)

或者干脆

f <- "D:/ExploreR/X_Test/01_data/dataset.hdr"
x <- read.ENVI(f)
于 2019-08-28T22:53:59.093 回答
0

文件名是datasetdataset.hdr?似乎您正在编写两次扩展名“.hdr”。

这将是:

hdr_dir <- "D:/ExploreR/X_Test/01_data/dataset"
于 2019-08-13T09:37:17.433 回答
0

base::readLines() 以某种方式做到了!

hdr_file <- readLines(con = "D:/ExploreR/X_Test/01_data/dataset.hdr")
于 2019-08-28T14:10:30.010 回答