35 class OGRCoordinateTransformation;
38 namespace import_export {
63 void detect(
const std::string& file_name,
64 const std::string& specified_band_names,
65 const std::string& specified_band_dimensions,
68 const bool point_compute_angle,
69 const bool throw_on_error,
72 void import(
size_t& max_threads,
const bool max_threads_using_default);
77 using Coords = std::vector<std::tuple<double, double, float>>;
88 const uint32_t band_idx,
119 std::vector<Geospatial::GDAL::CoordinateTransformationUqPtr>
126 const std::string& specified_band_dimensions,
130 std::string
getBandName(
const uint32_t datasource_idx,
const int band_idx);
PointTransform point_transform_
int specified_band_height_
const NamesAndSQLTypes getBandNamesAndSQLTypes() const
const int getBandsWidth() const
const NullValue getBandNullValue(const int band_idx) const
void getRawBandNamesForFormat(const Geospatial::GDAL::DataSourceUqPtr &datasource)
std::vector< std::tuple< double, double, float >> Coords
Constants for Builtin SQL Types supported by HEAVY.AI.
const uint32_t getNumBands() const
const PointTransform getPointTransform() const
std::vector< std::byte > RawPixels
bool shouldImportBandWithName(const std::string &name)
std::vector< std::vector< std::string > > raw_band_names_
std::vector< Geospatial::GDAL::CoordinateTransformationUqPtr > coordinate_transformations_
bool shouldImportBandWithDimensions(const int width, const int height)
const int getBandsHeight() const
void checkSpecifiedBandNamesFound() const
const NamesAndSQLTypes getPointNamesAndSQLTypes() const
std::vector< ImportBandInfo > import_band_infos_
std::vector< std::string > datasource_names_
void getRawPixels(const uint32_t thread_idx, const uint32_t band_idx, const int y_start, const int num_rows, const SQLTypes column_sql_type, RawPixels &raw_pixel_bytes)
int specified_band_width_
std::unique_ptr< OGRDataSource, DataSourceDeleter > DataSourceUqPtr
std::map< std::string, bool > specified_band_names_map_
std::vector< std::vector< Geospatial::GDAL::DataSourceUqPtr > > datasource_handles_
bool point_compute_angle_
std::pair< double, bool > NullValue
const Coords getProjectedPixelCoords(const uint32_t thread_idx, const int y) const
std::vector< std::pair< std::string, SQLTypes >> NamesAndSQLTypes
std::map< std::string, int > column_name_repeats_map_
std::array< double, 6 > affine_transform_matrix_
void initializeFiltering(const std::string &specified_band_names, const std::string &specified_band_dimensions, const MetadataColumnInfos &metadata_column_infos)
~RasterImporter()=default
std::string getBandName(const uint32_t datasource_idx, const int band_idx)
void detect(const std::string &file_name, const std::string &specified_band_names, const std::string &specified_band_dimensions, const PointType point_type, const PointTransform point_transform, const bool point_compute_angle, const bool throw_on_error, const MetadataColumnInfos &metadata_column_infos)
std::vector< std::unique_ptr< GCPTransformer > > gcp_transformers_
std::vector< MetadataColumnInfo > MetadataColumnInfos