在R中加载LAS文件提示「文件不存在」问题求助
读取LAS文件提示File does not exist的原因及解决办法
- 第一个核心错误是误用
system.file()函数:该函数的作用是定位R包安装目录下的内置示例文件,只有随R包预装的文件才能用这个函数读取,你自己从外网下载的LAS文件不在rlas包的安装路径中,用这个函数获取到的路径是空值,自然会触发文件不存在的报错。教程中的示例之所以这么写,是因为example.laz是rlas包自带的演示数据,不适用于你自己的本地文件。 - 第二个常见原因是路径配置不符合R的规则:即使你人工核查过路径,也可能存在R无法识别的问题,可按以下步骤排查修复:
- 直接废弃
system.file()的写法,读取你自己的本地文件不需要调用该函数 - 运行
getwd()查看当前R的工作目录,如果你的UMBC文件夹放在该工作目录下,直接使用以下代码读取即可:las <- readLAS("UMBC/UMBC_034.las") - 如果不想匹配工作目录,可以直接写绝对路径,注意路径中的分隔符要使用正斜杠
/,或者双反斜杠\\,不能使用单个反斜杠,示例:# Windows系统示例 las <- readLAS("C:/Users/用户名/项目文件夹/UMBC/UMBC_034.las") # macOS/Linux系统示例 las <- readLAS("/home/用户名/项目文件夹/UMBC/UMBC_034.las") - 每次调试路径前,先运行
file.exists("你填写的文件路径")校验,只有返回结果为TRUE时,才说明R能正常识别该路径,返回FALSE就继续核对路径拼写、大小写(非Windows系统大小写敏感)、文件后缀是否正确。
- 直接废弃
- 小概率排查点:如果你的文件实际是laz压缩格式但手动改了后缀名,也可能触发读取失败,可重新从数据源下载确认文件格式正确性。
内容的提问来源于stack exchange,提问作者O_Paris
相关产品推荐
相关产品推荐

