我使用.las文件运行lasinfo
并收到以下错误消息。
$ lasinfo a.las
错误:版本主要超出范围
我想知道是什么原因以及如何解决?
答案 0 :(得分:1)
如果不了解你的lastools版本或文件头中的数据,我不能肯定地说出“为什么”错误被抛出。我可以猜测,las文件中定义的las文件版本对于你的lastools版本来说太高了,它可能会对这些版本值进行边界检查(我的本地版本的lastools不做任何边界检查我可以看到,所以我不能确定这是正确的答案。)
对于所有现有版本的las文件格式,.las头文件中的 version_major
必须为“1”:http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html。
如果您想检查las文件中的las文件版本,可以使用以下python脚本(取决于laspy
,安装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版本。
关于修复你的问题,我不知道你正在尝试用这个las文件做什么,但如果你只是想获得它的信息(正如我可能猜到你使用{{ 1}}命令)你可以尝试:
这两个软件包都是免费和开源的,可以通过软件包或大多数主要操作系统的源代码安装。我不知道他们是否愿意阅读带有无效pdal info a.las
的las文件,但是值得一试。
如果您的version_major
确实无效(例如设置为“2”或类似的奇怪内容),您可以尝试使用version_major
或其他软件套件重置它。