Skip to content

Commit

Permalink
add a --sample option to 'pdal info', which is off by default for dat…
Browse files Browse the repository at this point in the history
…a output #208
  • Loading branch information
hobu committed Nov 18, 2013
1 parent ff54b7e commit b1b2997
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
3 changes: 2 additions & 1 deletion include/pdal/kernel/Info.hpp
Expand Up @@ -94,7 +94,8 @@ class PDAL_DLL Info : public Application
std::string m_QueryPoint;
double m_QueryDistance;
boost::uint64_t m_numPointsToWrite;
std::string m_pipelineFile;
std::string m_pipelineFile;
bool m_showSample;
};

}} // pdal::kernel
Expand Down
3 changes: 2 additions & 1 deletion src/filters/Stats.cpp
Expand Up @@ -497,6 +497,7 @@ void Stats::readBufferBeginImpl(PointBuffer& buffer)
}
else
{
bool doSample = options.getValueOrDefault<bool>("do_sample", true);
schema::index_by_index const& dims = schema.getDimensions().get<schema::index>();
for (schema::index_by_index::const_iterator iter = dims.begin(); iter != dims.end(); ++iter)
{
Expand All @@ -510,7 +511,7 @@ void Stats::readBufferBeginImpl(PointBuffer& buffer)
getStage().log()->get(logDEBUG2) << "Cumulating exact stats for dimension " << d->getName() << std::endl;
doExact = true;
}
stats::SummaryPtr c = boost::shared_ptr<stats::Summary>(new stats::Summary(bin_count, sample_size, stats_cache_size, seed, doExact));
stats::SummaryPtr c = boost::shared_ptr<stats::Summary>(new stats::Summary(bin_count, sample_size, stats_cache_size, seed, doExact, doSample));

std::pair<DimensionPtr, stats::SummaryPtr> p(d,c);
m_dimensions.push_back(d);
Expand Down
8 changes: 5 additions & 3 deletions src/kernel/Info.cpp
Expand Up @@ -51,6 +51,7 @@ Info::Info(int argc, const char* argv[])
, m_useXML(false)
, m_QueryDistance(0.0)
, m_numPointsToWrite(0)
, m_showSample(false)
{
return;
}
Expand Down Expand Up @@ -101,10 +102,11 @@ void Info::addSwitches()
("metadata,m", po::value<bool>(&m_showMetadata)->zero_tokens()->implicit_value(true), "dump the metadata")
("sdo_pc", po::value<bool>(&m_showSDOPCMetadata)->zero_tokens()->implicit_value(true), "dump the SDO_PC Oracle Metadata")
("stage,r", po::value<bool>(&m_showStage)->zero_tokens()->implicit_value(true), "dump the stage info")
("pipeline-serialization", po::value<std::string>(&m_pipelineFile)->default_value(""), "")
("xml", po::value<bool>(&m_useXML)->zero_tokens()->implicit_value(true), "dump XML instead of JSON")
("sample", po::value<bool>(&m_showSample)->zero_tokens()->implicit_value(true), "randomly sample dimension for stats")
("seed", po::value<boost::uint32_t>(&m_seed)->default_value(0), "Seed value for random sample")
("sample_size", po::value<boost::uint32_t>(&m_sample_size)->default_value(1000), "Sample size for random sample")
("pipeline-serialization", po::value<std::string>(&m_pipelineFile)->default_value(""), "")

;

Expand Down Expand Up @@ -363,12 +365,12 @@ int Info::execute()
m_options.add(cls);
m_options.add(rn);
m_options.add(nr);
Option do_sample("do_sample", m_showSample, "Dont do sampling");
m_options.add(do_sample);
if (m_Dimensions.size())
{
Option dimensions("dimensions", m_Dimensions, "Use explicit list of dimensions");
m_options.add(dimensions);
Option do_sample("do_sample", false, "Dont do sampling");
m_options.add(do_sample);
}

pdal::Options options = m_options + readerOptions;
Expand Down

0 comments on commit b1b2997

Please sign in to comment.