2014-10-09 4 views
0

Я запустил lasinfo с .las-файлом и получил следующее сообщение об ошибке.Ошибка Lastools: версия major out of range

$ lasinfo a.las 

error: version major out of range

Интересно, в чем причина и как я могу решить это?

+0

Мне жаль, что я не могу открыть его, так что до сих пор не знаю версии или вырезал кусок. Я проверю его в понедельник, а потом скажу. –

+0

Я проверил файл. И я также читал другие источники las-файла с lastool. Это работает хорошо. Файл, который я упомянул здесь, является файлом las от мобильного съемного автомобиля Trimble. Это заголовок: x?] G] @y] @ b D @ TEMT3D_CAPTURE - BBQ \ D @ } lg, @ N [ a @ LASF_X R8 LASF_Y R8 LASF_Z R8 LASF_INTENSITY R4 LASF_CLASSIFICATION UI1 LASF_POINT_SOURCE_ID UI2 LASF_ATTRIBUTES G3D_LATRANGE R4 G3D_RED UI1 G3D_GREEN UI1 G3D_BLUE UI1 G3D_CLASS_CONFIDENCE UI1 G3D_ANGLEH R4 G3D_ANGLEV R4 G3D_DISTANCE R4 G3D_DEVIATION R4 G3D_SCANSIZE50N, по умолчанию componentNo комментарий в этом componentS999882VQ-25 ~ X –

ответ

1

Без знания вашей версии lastools или данных в заголовке файла я не могу точно сказать, почему «почему» возникает ошибка. Я могу опасаться, что версия las-файла, определенная в заголовке las, слишком высока для вашей версии lastools, которая может выполнять проверку границ этих значений версии (моя локальная версия lastools не делает никаких ограничений, проверяя, что Я вижу, поэтому я не могу быть уверен, что это правильный ответ).

version_major в файле заголовка .las должен быть «1» для всей существующей версии формата файла las: http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html.

Если вы хотите, чтобы проверить lasfile версию, как написано в заголовке лас вы можете использовать следующий питон скрипт (зависит от 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 

Насколько я могу tell, laspy не выполняет никаких проверок этой версии заголовка, поэтому вы должны иметь возможность использовать этот скрипт для проверки разрешенной версии las в вашем файле.

Что касается фиксации вашей проблемы, я не знаю, что вы пытаетесь сделать с этим lasfile, но если вы просто хотите получить информацию об этом (как я мог догадаться по вашему использованию lasinfo команда), вы можете попробовать:

  • libLAS, используйте lasinfo a.las
  • PDAL, используйте pdal info a.las

Оба этих пакеты программного обеспечения является свободным и открытым исходным кодом, и ч n устанавливаться через пакеты или из источников в большинстве основных операционных систем. Я не знаю, будут ли они счастливы читать lasfile с недопустимым version_major, но это было бы достойно.

Если ваш version_major действительно недействителен (например, он установлен на «2» или что-то странное), вы можете попробовать сбросить его с помощью laspy или другого программного пакета.

+0

Спасибо большое за подробный ответ! Это было давно, но вы знаете, что мы, китайцы, не можем легко выйти в интернет за пределами Китая. Спасибо за помощь. Позже я обнаружил, что файл .las находится от мобильного картографического транспортного средства Trimble. И Trimble использует свою персонализированную версию файла .las. Именно поэтому я не могу прочитать файл .las с помощью lasinfo. Lasinfo хорошо работает со стандартными файлами .las. –