Class Geospatial::GeoTypesFactory

class GeoTypesFactory

Public Static Functions

OGRGeometry *createOGRGeometry(const std::string &wkt_or_wkb_hex)
std::unique_ptr<GeoBase> createGeoType(const std::string &wkt_or_wkb_hex)
std::unique_ptr<GeoBase> createGeoType(const std::vector<uint8_t> &wkb)
std::unique_ptr<GeoBase> createGeoType(OGRGeometry *geom)
bool getGeoColumns(const std::string &wkt_or_wkb_hex, SQLTypeInfo &ti, std::vector<double> &coords, std::vector<double> &bounds, std::vector<int> &ring_sizes, std::vector<int> &poly_rings, const bool promote_poly_to_mpoly = false)
bool getGeoColumns(const std::vector<uint8_t> &wkb, SQLTypeInfo &ti, std::vector<double> &coords, std::vector<double> &bounds, std::vector<int> &ring_sizes, std::vector<int> &poly_rings, const bool promote_poly_to_mpoly = false)
bool getGeoColumns(OGRGeometry *geom, SQLTypeInfo &ti, std::vector<double> &coords, std::vector<double> &bounds, std::vector<int> &ring_sizes, std::vector<int> &poly_rings, const bool promote_poly_to_mpoly = false)
bool getGeoColumns(const std::vector<std::string> *wkt_or_wkb_hex_column, SQLTypeInfo &ti, std::vector<std::vector<double>> &coords_column, std::vector<std::vector<double>> &bounds_column, std::vector<std::vector<int>> &ring_sizes_column, std::vector<std::vector<int>> &poly_rings_column, const bool promote_poly_to_mpoly = false)
void getNullGeoColumns(SQLTypeInfo &ti, std::vector<double> &coords, std::vector<double> &bounds, std::vector<int> &ring_sizes, std::vector<int> &poly_rings, const bool promote_poly_to_mpoly = false)

Private Static Functions

std::unique_ptr<GeoBase> createGeoTypeImpl(OGRGeometry *geom, const bool owns_geom_obj = true)
void getGeoColumnsImpl(const std::unique_ptr<GeoBase> &geospatial_base, SQLTypeInfo &ti, std::vector<double> &coords, std::vector<double> &bounds, std::vector<int> &ring_sizes, std::vector<int> &poly_rings, const bool promote_poly_to_mpoly = false)