On Aug 26, 2011, at 8:11 AM, Howard Butler wrote:

> 
> On Aug 25, 2011, at 6:16 PM, James Hargrave wrote:
> 
>> Hello,
>> 
>> When I use laslib to create a file I am able to then read the file back in
>> and everything seems fine.  However, I am unable to view the file in other
>> applications such as the lasview.exe utility found here:
>> 
>> http://www.cs.unc.edu/~isenburg/lastools/
>> 
>> The steps I use mirror the C++ tutorial from the laslib.org site:
>> 
>>      ofs.open((char*)filename, ios::out | ios::binary);
>>      liblas::Header header;
>> 
>>      writer = new liblas::Writer(ofs, header);
>> 
>> Then in a loop:
>> 
>>      liblas::Point point;
>>      point.SetCoordinates(pt.X(), pt.Y(), pt.Z());
>> 
>>      // fill other properties of point record
>>      if ( rgb )
>>              point.SetColor( liblas::Color( rgb[0], rgb[1], rgb[2] ) );
>> 
>>      writer->WritePoint(point);
>> 
>> 
>> If anyone has any ideas I'd appreciate any suggestions.  If it would help I
>> can also provide a sample output file which I am able to read back in using
>> liblas but does not appear when loaded into lasview.exe .
>> 
>> Thanks,
>> - James
> 
> 
> James,
> 
> Which version of libLAS are you using? The following just worked for me this 
> morning with the latest git HEAD on https://github.com/libLAS/libLAS
> 
> ~/liblas$ las2las TO_core_last_zoom.las lastools-test-from-liblas.las
> ~/lastools/bin/lasinfo lastools-test-from-liblas.las
> 
>> reporting all LAS header entries:
>>  file signature:            'LASF'
>>  file source ID:            0
>>  reserved (global_encoding):0
>>  project ID GUID data 1-4:  0 0 0 ''
>>  version major.minor:       1.0
>>  system identifier:         ''
>>  generating software:       'TerraScan'
>>  file creation day/year:    0/0
>>  header size                227
>>  offset to point data       229
>>  number var. length records 0
>>  point data format          1
>>  point data record length   28
>>  number of point records    213093
>>  number of points by return 128621 84472 0 0 0
>>  scale factor x y z         0.01 0.01 0.01
>>  offset x y z               -0 -0 -0
>>  min x y z                  630250.00 4834500.00 46.83
>>  max x y z                  630500.00 4834750.00 170.65
>> the header is followed by 2 user-defined bytes
>> reporting minimum and maximum for all LAS point record entries ...
>>  x 63025000 63050000
>>  y 483450000 483475000
>>  z 4683 17065
>>  intensity 10 50200
>>  edge_of_flight_line 0 0
>>  scan_direction_flag 0 0
>>  number_of_returns_of_given_pulse 1 2
>>  return_number 1 2
>>  classification 1 1
>>  scan_angle_rank 0 0
>>  user_data 2 4
>>  point_source_ID 0 0
>>  gps_time 413162.560400 414095.322000
>> overview over number of returns of given pulse: 128621 84472 0 0 0 0 0
>> histogram of classification of points:
>>   213093 Unclassified (1)
> 
> 
> Are you making sure to delete the writer in your code? You must delete the 
> writer because it will be writing header details at the end of writing. Also, 
> make sure to do ofs.close() to force the flush of any data left in the 
> ostream buffer.

After some discussion on IRC with Martin, he suggested you run the following:

~/lastools $ lasinfo -repair file-written-by-liblas.las

I don't think your code is updating the header's bounds and return count 
information, and this might be required for lasview.exe to run.

Howard_______________________________________________
Liblas-devel mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/liblas-devel

Reply via email to