void AttributeFilter::ready(PointContext ctx) { m_gdal_debug = std::shared_ptr<pdal::gdal::Debug>( new pdal::gdal::Debug(isDebug(), log())); for (auto& dim_par : m_dimensions) { Dimension::Id::Enum t = ctx.findDim(dim_par.first); dim_par.second.dim = t; if (dim_par.second.isogr) { OGRDSPtr ds = OGRDSPtr(OGROpen(dim_par.second.datasource.c_str(), 0, 0), OGRDataSourceDeleter()); if (!ds) { std::ostringstream oss; oss << "Unable to open data source '" << dim_par.second.datasource <<"'"; throw pdal_error(oss.str()); } dim_par.second.ds = ds; } } }
void AttributeFilter::ready(PointTableRef table) { if (m_value != m_value) { m_ds = OGRDSPtr(OGROpen(m_datasource.c_str(), 0, 0), OGRDataSourceDeleter()); if (!m_ds) { std::ostringstream oss; oss << getName() << ": Unable to open data source '" << m_datasource << "'"; throw pdal_error(oss.str()); } } }
void AttributeFilter::ready(PointTableRef table) { for (auto& dim_par : m_dimensions) { Dimension::Id::Enum t = table.layout()->findDim(dim_par.first); dim_par.second.dim = t; if (dim_par.second.isogr) { OGRDSPtr ds = OGRDSPtr(OGROpen(dim_par.second.datasource.c_str(), 0, 0), OGRDataSourceDeleter()); if (!ds) { std::ostringstream oss; oss << "Unable to open data source '" << dim_par.second.datasource <<"'"; throw pdal_error(oss.str()); } dim_par.second.ds = ds; } } }