0

lasinfo使用 .las 文件运行并收到以下错误消息。

$ lasinfo a.las 

错误:主版本超出范围

我想知道是什么原因,我该如何解决?

4

1 回答 1

1

在不了解您的 lastools 版本或文件头中的数据的情况下,我无法确定抛出错误的“原因”。我可以猜测 las 标头中定义的 las 文件版本对于您的 lastools 版本来说太高了,这可能会对这些版本值进行边界检查(我的本地版本的 lastools 没有进行任何边界检查我可以看到,所以我不能确定这是正确的答案)。

version_major对于 las 文件格式的所有现有版本,在 .las 头文件中必须为“1”:http ://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html 。

如果您想检查 lasfile 版本,因为它写在 las 标头中,您可以使用以下 python 脚本(取决于laspy, install with pip install laspy):

import laspy.file
lasfile = laspy.file.File("a.las")
print "File major version:", lasfile.header.version_major
print "File minor version:", lasfile.header.version_minor

据我所知,laspy不会对该标头版本进行任何检查,因此您应该能够使用该脚本来检查文件中广告的 las 版本。

关于解决您的问题,我不知道您要使用此 lasfile 做什么,但如果您只是想获取有关它的信息(我可能会通过您使用该lasinfo命令来猜测),您可以尝试:

这两个软件包都是免费和开源的,可以在大多数主要操作系统上通过软件包或从源代码安装。我不知道他们是否会乐于阅读带有 invalid 的 lasfile version_major,但值得一试。

如果你version_major真的是无效的(例如它被设置为“2”或类似的奇怪的东西),你可以尝试使用laspy或其他软件套件重置它。

于 2015-02-01T22:57:17.750 回答