pdal::StageFactory factory; pdal::PointTable table; std::string sReaderDriver = pdal::StageFactory::inferReaderDriver(inputfilename); if (!sReaderDriver.empty()) { pdal::Stage *pReader = factory.createStage(sReaderDriver); pdal::Options readerOptions; readerOptions.add("filename", inputfilename); if (pReader) { pReader->setOptions(readerOptions); pdal::PointViewSet set; pdal::PointViewPtr pView; pReader->prepare(table); set = pReader->execute(table); pView = *set.begin(); int nSize = pView->size(); for (int i = 0; i < nSize; i++) { ... } ... }