How do I write a .LAS file from .mat data?

11 Ansichten (letzte 30 Tage)
Nicole Zuck
Nicole Zuck am 17 Jan. 2022
Beantwortet: Walter Roberson am 17 Jan. 2022
I am trying to save XYZ data as a .LAS file to use in another program, but I keep getting the following error.
I am using the LASwrite function (see https://www.mathworks.com/matlabcentral/fileexchange/66033-lasio for the tool download).
The error message:
Dot indexing is not supported for variables of this type.
Error in LASwrite (line 106)
guid_1 = s.header.project_id_1;
Error in SurveyProcessing (line 83)
LASwrite(drone, 'D:\Drone LAS and tif files\2021.03.21\drone.las');
How do I fix my script? I'm not sure if the struct needs to be formatted differently, or is there is a better method entirely.
Thanks!
% first put data into a struct
drone.header = {}; % I've tried running it with and without this header
drone.X = droneX; % X Y and Z data are 890723x1 doubles representing stateplane coordinates and elevation
drone.Y = droneY;
drone.Z = droneZ;
% then use LASwrite (need tool download)
LASwrite(drone, 'D:\Drone LAS and tif files\2021.03.21\drone.las');

Antworten (1)

Walter Roberson
Walter Roberson am 17 Jan. 2022
guid1 = uint32(0); %32 bit
guid2 = uint16(0); %16 bit
guid3 = uint16(0); %16 bit
guid3 = blanks(8); %unsigned char 8 bytes
drone.header = struct('project_id_1', guid1, 'project_id_2', guid2, 'project_id_3', guid3, 'project_id_4', guid4);
Under at least some circumstances, the header might perhaps also require fields named
  • offset_to_evlr
  • number_of_evlr
  • n_points_by_return
  • n_points_by_return_extended

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by