首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何读取ENVI ..hdr文件?

如何读取ENVI ..hdr文件?
EN

Stack Overflow用户
提问于 2019-08-13 08:47:58
回答 3查看 2.3K关注 0票数 1

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

到目前为止,我所做的努力如下:

代码语言:javascript
运行
复制
# 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

有人知道如何解决这个问题吗?谢谢你提前提供帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-28 22:53:59

这应该能行

代码语言:javascript
运行
复制
read.ENVI("D:/ExploreR/X_Test/01_data/dataset.hdr")

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

代码语言:javascript
运行
复制
library("caTools")

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

x <- read.ENVI(filename)

或者简单的

代码语言:javascript
运行
复制
f <- "D:/ExploreR/X_Test/01_data/dataset.hdr"
x <- read.ENVI(f)
票数 1
EN

Stack Overflow用户

发布于 2019-08-13 09:37:17

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

它将是:

代码语言:javascript
运行
复制
hdr_dir <- "D:/ExploreR/X_Test/01_data/dataset"
票数 0
EN

Stack Overflow用户

发布于 2019-08-28 14:10:30

base::readLines()以某种方式实现它!

代码语言:javascript
运行
复制
hdr_file <- readLines(con = "D:/ExploreR/X_Test/01_data/dataset.hdr")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57474186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档