Class foreign_storage::GeospatialEncoder¶
-
class
GeospatialEncoder
¶ Subclassed by foreign_storage::OdbcGeospatialEncoder, foreign_storage::ParquetGeospatialEncoder, foreign_storage::ParquetGeospatialImportEncoder
Public Functions
-
virtual
~GeospatialEncoder
()¶
-
GeospatialEncoder
(const RenderGroupAnalyzerMap *render_group_analyzer_map)¶
-
GeospatialEncoder
(std::list<Chunk_NS::Chunk> &chunks, const RenderGroupAnalyzerMap *render_group_analyzer_map)¶
-
GeospatialEncoder
(std::list<Chunk_NS::Chunk> &chunks, std::list<std::unique_ptr<ChunkMetadata>> &chunk_metadata, const RenderGroupAnalyzerMap *render_group_analyzer_map)¶
Protected Functions
-
void
appendBaseAndRenderGroupDataAndUpdateMetadata
(const int64_t row_count)¶
-
void
validateMetadataSizing
(std::list<std::unique_ptr<ChunkMetadata>> &chunk_metadata) const¶
-
void
appendArrayDatumsToBufferAndUpdateMetadata
()¶
-
void
appendToArrayEncoderAndUpdateMetadata
(const std::vector<ArrayDatum> &datum_parse_buffer, Encoder *encoder, ChunkMetadata *chunk_metadata) const¶
-
void
processGeoElement
(std::string_view geo_string_view)¶
-
void
processNullGeoElement
()¶
-
void
clearParseBuffers
()¶
-
void
clearDatumBuffers
()¶
-
template<typename
T
>
std::list<T>::iteratorgetIteratorForGeoColumnType
(std::list<T> &list, const SQLTypes column_type, const GeoColumnType geo_column)¶
-
std::tuple<Encoder *, ChunkMetadata *, const ColumnDescriptor *>
initEncoderAndGetEncoderAndMetadata
(std::list<Chunk_NS::Chunk> &chunks, std::list<std::unique_ptr<ChunkMetadata>> &chunk_metadata, const SQLTypes sql_type, GeoColumnType geo_column_type)¶
-
const ColumnDescriptor *
getColumnDescriptor
(std::list<Chunk_NS::Chunk> &chunks, const SQLTypes sql_type, GeoColumnType geo_column_type)¶
-
bool
hasBoundsColumn
() const¶
-
bool
hasRingSizesColumn
() const¶
-
bool
hasRenderGroupColumn
() const¶
-
bool
hasPolyRingsColumn
() const¶
Protected Attributes
-
const ColumnDescriptor *
geo_column_descriptor_
¶
-
StringNoneEncoder *
base_column_encoder_
¶
-
ChunkMetadata *
base_column_metadata_
¶
-
ChunkMetadata *
coords_column_metadata_
¶
-
ChunkMetadata *
bounds_column_metadata_
¶
-
ChunkMetadata *
ring_sizes_column_metadata_
¶
-
ChunkMetadata *
poly_rings_column_metadata_
¶
-
ChunkMetadata *
render_group_column_metadata_
¶
-
const ColumnDescriptor *
coords_column_descriptor_
¶
-
const ColumnDescriptor *
bounds_column_descriptor_
¶
-
const ColumnDescriptor *
ring_sizes_column_descriptor_
¶
-
const ColumnDescriptor *
poly_rings_column_descriptor_
¶
-
const ColumnDescriptor *
render_group_column_descriptor_
¶
-
std::vector<std::string>
base_values_
¶
-
std::vector<double>
coords_parse_buffer_
¶
-
std::vector<double>
bounds_parse_buffer_
¶
-
std::vector<int>
ring_sizes_parse_buffer_
¶
-
std::vector<int>
poly_rings_parse_buffer_
¶
-
std::vector<ArrayDatum>
coords_datum_buffer_
¶
-
std::vector<ArrayDatum>
bounds_datum_buffer_
¶
-
std::vector<ArrayDatum>
ring_sizes_datum_buffer_
¶
-
std::vector<ArrayDatum>
poly_rings_datum_buffer_
¶
-
std::vector<int32_t>
render_group_value_buffer_
¶
-
const RenderGroupAnalyzerMap *
render_group_analyzer_map_
¶
Protected Static Functions
-
static void
throwMalformedGeoElement
(const std::string &omnisci_column_name)¶
-
static void
throwMismatchedGeoElement
(const std::string &omnisci_column_name)¶
Protected Static Attributes
-
constexpr bool
PROMOTE_POLYGON_TO_MULTIPOLYGON
= true¶
-
virtual