[Liblas-commits] hg-main-tree: add compression Option for drivers.las.writer, but...

liblas-commits at liblas.org liblas-commits at liblas.org
Thu Aug 4 17:21:03 EDT 2011


details:   http://hg.libpc.orghg-main-tree/rev/7a056e7bc4e5
changeset: 1011:7a056e7bc4e5
user:      Howard Butler <hobu.inc at gmail.com>
date:      Thu Aug 04 16:21:00 2011 -0500
description:
add compression Option for drivers.las.writer, but it doesn't seem to work yet for some reason :(

diffstat:

 include/pdal/drivers/las/Writer.hpp |   1 -
 src/drivers/las/Writer.cpp          |  25 ++++++++++++++++++++-----
 2 files changed, 20 insertions(+), 6 deletions(-)

diffs (80 lines):

diff -r 653acabaa3e5 -r 7a056e7bc4e5 include/pdal/drivers/las/Writer.hpp
--- a/include/pdal/drivers/las/Writer.hpp	Thu Aug 04 15:30:00 2011 -0500
+++ b/include/pdal/drivers/las/Writer.hpp	Thu Aug 04 16:21:00 2011 -0500
@@ -89,7 +89,6 @@
 
     LasHeader m_lasHeader;
     boost::uint32_t m_numPointsWritten;
-    bool m_isCompressed;
     SummaryData m_summaryData;
     SpatialReference m_spatialReference;
 
diff -r 653acabaa3e5 -r 7a056e7bc4e5 src/drivers/las/Writer.cpp
--- a/src/drivers/las/Writer.cpp	Thu Aug 04 15:30:00 2011 -0500
+++ b/src/drivers/las/Writer.cpp	Thu Aug 04 16:21:00 2011 -0500
@@ -61,6 +61,7 @@
     : pdal::Writer(prevStage, options)
     , m_streamManager(options.getOption<std::string>("filename").getValue())
 {
+
     return;
 }
 
@@ -69,7 +70,6 @@
     : Writer(prevStage, Options::none())
     , m_streamManager(ostream)
     , m_numPointsWritten(0)
-    , m_isCompressed(false)
 {
     return;
 }
@@ -90,14 +90,29 @@
 
     m_streamManager.open();
 
+    try
+    {
+        Option<bool> compression = getOptions().getOption<bool>("compression");
+        setCompressed(compression.getValue());
+    }
+    catch (pdal::option_not_found const&)
+    {
+        // if we didn't get a compression option, no compression for you!
+    }
+    
+
     return;
 }
 
 
 const Options& LasWriter::s_getDefaultOptions()
 {
-    static Option<std::string> option1("filename", "", "file to read from");
-    static Options options(option1);
+    static Options options;
+
+    Option<std::string> filename("filename", "", "file to read from");
+    Option<bool> compression("compression", false, "Do we LASzip-compress the data?");
+    options.add(filename);
+    options.add(compression);
     return options;
 }
 
@@ -331,7 +346,7 @@
             for (unsigned int i=0; i<m_zipPoint->m_lz_point_size; i++)
             {
                 m_zipPoint->m_lz_point_data[i] = buf[i];
-                //printf("%d %d\n", v[i], i);
+                // printf("%d %d\n", buf[i], i);
             }
             bool ok = m_zipper->write(m_zipPoint->m_lz_point);
             assert(ok);
@@ -341,7 +356,7 @@
             Utils::write_n(m_streamManager.ostream(), buf, Support::getPointDataSize(pointFormat));
         }
 #else
-            Utils::write_n(m_ostream, buf, Support::getPointDataSize(pointFormat));
+            Utils::write_n(m_streamManager.ostream(), buf, Support::getPointDataSize(pointFormat));
 
 #endif
         ++numValidPoints;


More information about the Liblas-commits mailing list