can not save xyzrgb

146 views
Skip to first unread message

hu luwa

unread,
Nov 14, 2015, 12:40:27 PM11/14/15
to LAStools - efficient tools for LiDAR processing
i have a problem for saving rgb to las file with laslib. 

LASwriteOpener lasWriteOpener;
lasWriteOpener.set_file_name(sPathOut.c_str());

LASwriter* laswriter = lasWriteOpener.open(&lasheader);
..... 
laspoint.set_rgb(&tRGB[0]);

when the program is running over ,i can not save the color of each point .

Anybody can help me ?

Martin Isenburg

unread,
Nov 15, 2015, 4:52:34 AM11/15/15
to LAStools - efficient command line tools for LIDAR processing
Hello,

to write our colored points you will need to set-up your LASpoint and your LASheader such that colors are supported as shown in the pseudo code below:

[...]
      int point_type = 2;
      int point_size = 26;

      LASheader header;
      header.point_data_format = point_type;
      header.point_data_record_length = point_size;

     LASpoint point;
      if ((strstr(file_name, ".laz") || strstr(file_name, ".LAZ"))
      {
        header.laszip = new LASzip;
        laszip->setup(point_type, point_size);
        point.init(&header, header.laszip->num_items, header.laszip->items, &header);
      }
      else
      {
        point.init(&header, point_type, point_size, &header);
      }

      LASwriteOpener writeOpener;
      writeOpener.set_file_name(file_name);

      LASwriter* writer = writeOpener.open(&header);
      while (something is true)
      {
          point.set_x(x);
          [...]
          point.set_rgb(&RGB[0]);
          writer->write_point(&point);
          writer->update_inventory(&point);
      }
      writer->update_header(&header, TRUE);
      writer->close();
      delete writer;
[...]

Reply all
Reply to author
Forward
0 new messages