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
