This is an automated email from the git hooks/post-receive script. sebastic-guest pushed a commit to branch upstream-master in repository pktools.
commit 94c4eef7b02cac77f4875df5726e08cd38ef717b Author: Pieter Kempeneers <kempe...@gmail.com> Date: Thu Apr 17 19:42:52 2014 +0200 support laz files in pklas2img --- ChangeLog | 3 ++- src/apps/pklas2img.cc | 15 +++++++++++---- src/lasclasses/FileReaderLas.cc | 6 ++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 49ee4c7..7650758 100755 --- a/ChangeLog +++ b/ChangeLog @@ -285,4 +285,5 @@ version 2.5.2 thanks to suggestion of Francesco Paolo Lovergine - subdirectory pktools for include headers thanks to suggestion of Francesco Paolo Lovergine - - + - pklas2img + support for compressed point cloud (LAZ) files diff --git a/src/apps/pklas2img.cc b/src/apps/pklas2img.cc index 48dc13d..29df82b 100644 --- a/src/apps/pklas2img.cc +++ b/src/apps/pklas2img.cc @@ -140,7 +140,7 @@ int main(int argc,char **argv) { unsigned long int nPoints=0; unsigned long int ipoint=0; for(int iinput=0;iinput<input_opt.size();++iinput){ - assert(input_opt[iinput].find(".las")!=string::npos); + // assert(input_opt[iinput].find(".las")!=string::npos); FileReaderLas lasReader; try{ lasReader.open(input_opt[iinput]); @@ -149,6 +149,9 @@ int main(int argc,char **argv) { cout << errorString << endl; exit(1); } + catch(...){ + exit(2); + } nPoints=lasReader.getPointCount(); totalPoints+=nPoints; @@ -230,11 +233,9 @@ int main(int argc,char **argv) { for(int icol=0;icol<ncol;++icol) outputData[irow][icol]=0; - cout << "Reading " << input_opt.size() << " las files" << endl; + cout << "Reading " << input_opt.size() << " point cloud files" << endl; pfnProgress(progress,pszMessage,pProgressArg); for(int iinput=0;iinput<input_opt.size();++iinput){ - if(verbose_opt[0]) - cout << "opening input LAS file " << input_opt[iinput] << endl; FileReaderLas lasReader; try{ lasReader.open(input_opt[iinput]); @@ -243,6 +244,12 @@ int main(int argc,char **argv) { cout << errorString << endl; exit(1); } + if(verbose_opt[0]){ + if(lasReader.isCompressed()) + cout << "Reading compressed point cloud " << input_opt[iinput]<< endl; + else + cout << "Reading uncompressed point cloud " << input_opt[iinput] << endl; + } //set bounding filter // lasReader.addBoundsFilter(minULX,maxULY,maxLRX,minLRY); //set returns filter diff --git a/src/lasclasses/FileReaderLas.cc b/src/lasclasses/FileReaderLas.cc index aceaac1..f6873c0 100644 --- a/src/lasclasses/FileReaderLas.cc +++ b/src/lasclasses/FileReaderLas.cc @@ -83,9 +83,11 @@ void FileReaderLas::close(void) void FileReaderLas::setCodec(const std::string& filename){ m_ifstream = new(std::ifstream); m_ifstream->open(m_filename.c_str(),std::ios::in|std::ios::binary); - m_reader = new liblas::Reader(*m_ifstream); + liblas::ReaderFactory f; + liblas::Reader reader = f.CreateWithStream(*m_ifstream); + m_reader=new liblas::Reader(reader); + // m_reader = new liblas::Reader(*m_ifstream); //Note: It is possible to use the basic liblas::Reader constructor that takes in a std::istream, but it will not be able to account for the fact that the file might be compressed. Using the ReaderFactory will take care of all of this for you. - // liblas::ReaderFactory rfactory; // m_reader=&rfactory.CreateWithStream(ifs); } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel