OmniSciDB
a5dc49c757
|
Namespaces | |
anonymous_namespace{GDAL.cpp} | |
anonymous_namespace{Types.cpp} | |
Classes | |
class | GDAL |
struct | WkbView |
class | GeoTypesError |
class | GeoBase |
class | GeoPoint |
class | GeoMultiPoint |
class | GeoLineString |
class | GeoMultiLineString |
class | GeoPolygon |
class | GeoMultiPolygon |
class | GeoGeometry |
class | GeoGeometryCollection |
class | GeoTypesFactory |
Functions | |
int32_t | get_compression_scheme (const SQLTypeInfo &ti) |
uint64_t | compress_coord (double coord, const SQLTypeInfo &ti, bool x) |
uint64_t | compress_null_point (const SQLTypeInfo &ti, bool x) |
std::vector< uint8_t > | compress_coords (const std::vector< double > &coords, const SQLTypeInfo &ti) |
template<typename T > | |
void | unpack_geo_vector (std::vector< T > &output, const int8_t *input_ptr, const size_t sz) |
template<> | |
void | unpack_geo_vector< int32_t > (std::vector< int32_t > &output, const int8_t *input_ptr, const size_t sz) |
template<typename T > | |
void | decompress_geo_coords_geoint32 (std::vector< T > &dec, const int8_t *enc, const size_t sz) |
template<> | |
std::shared_ptr< std::vector < double > > | decompress_coords< double, SQLTypeInfo > (const SQLTypeInfo &geo_ti, const int8_t *coords, const size_t coords_sz) |
template<> | |
std::shared_ptr< std::vector < double > > | decompress_coords< double, int32_t > (const int32_t &ic, const int8_t *coords, const size_t coords_sz) |
bool | is_null_point (const SQLTypeInfo &geo_ti, const int8_t *coords, const size_t coords_sz) |
template<typename T , typename C > | |
std::shared_ptr< std::vector< T > > | decompress_coords (const C &compression, const int8_t *coords, const size_t coords_sz) |
DEVICE double | decompress_longitude_coord_geoint32 (const int32_t compressed) |
DEVICE double | decompress_latitude_coord_geoint32 (const int32_t compressed) |
DEVICE bool | is_null_point_longitude_geoint32 (const int32_t compressed) |
DEVICE bool | is_null_point_latitude_geoint32 (const int32_t compressed) |
DEVICE uint64_t | compress_longitude_coord_geoint32 (const double coord) |
DEVICE uint64_t | compress_latitude_coord_geoint32 (const double coord) |
DEVICE constexpr uint64_t | compress_null_point_longitude_geoint32 () |
DEVICE constexpr uint64_t | compress_null_point_latitude_geoint32 () |
std::shared_ptr < Analyzer::Constant > | convert_coords (const std::vector< double > &coords, const SQLTypeInfo &ti) |
std::shared_ptr < Analyzer::Constant > | convert_rings (const std::vector< int > &rings) |
bool | geos_validation_available () |
bool | geos_validate_wkb (const unsigned char *, const size_t) |
Variables | |
const std::string | kGeoColumnName {"geom"} |
std::mutex | transformation_map_mutex_ |
std::map< std::tuple< int32_t, int32_t >, std::shared_ptr < OGRCoordinateTransformation > > | transformation_map_ |
uint64_t Geospatial::compress_coord | ( | double | coord, |
const SQLTypeInfo & | ti, | ||
bool | x | ||
) |
Definition at line 33 of file Compression.cpp.
References compress_latitude_coord_geoint32(), compress_longitude_coord_geoint32(), SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), and kENCODING_GEOINT.
Referenced by compress_coords().
std::vector< uint8_t > Geospatial::compress_coords | ( | const std::vector< double > & | coords, |
const SQLTypeInfo & | ti | ||
) |
Definition at line 52 of file Compression.cpp.
References CHECK, compress_coord(), compress_null_point(), coord(), SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), SQLTypeInfo::get_notnull(), SQLTypeInfo::get_output_srid(), SQLTypeInfo::get_type(), is_null_point(), kENCODING_GEOINT, kPOINT, NULL_ARRAY_DOUBLE, and to_string().
Referenced by Parser::InsertValuesStmt::analyze(), import_export::ImporterUtils::composeNullPointCoords(), convert_coords(), import_export::import_thread_shapefile(), import_export::Importer::importGDALRaster(), foreign_storage::GeospatialEncoder::processGeoElement(), foreign_storage::GeospatialEncoder::processNullGeoElement(), import_export::Importer::set_geo_physical_import_buffer(), import_export::Importer::set_geo_physical_import_buffer_columnar(), GeoPointValueConverter::toCompressedCoords(), RelAlgTranslator::translateGeoLiteral(), writeBackCellGeoNestedArray(), and writeBackCellGeoPoint().
|
inline |
Definition at line 68 of file CompressionRuntime.h.
References compressed_coord().
Referenced by compress_coord(), Geo::compress_y_coord(), and Column< GeoPoint >::setItem().
|
inline |
Definition at line 62 of file CompressionRuntime.h.
References compressed_coord().
Referenced by compress_coord(), Geo::compress_x_coord(), and Column< GeoPoint >::setItem().
uint64_t Geospatial::compress_null_point | ( | const SQLTypeInfo & | ti, |
bool | x | ||
) |
Definition at line 41 of file Compression.cpp.
References compress_null_point_latitude_geoint32(), compress_null_point_longitude_geoint32(), SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), kENCODING_GEOINT, anonymous_namespace{Utm.h}::n, NULL_ARRAY_DOUBLE, and NULL_DOUBLE.
Referenced by compress_coords().
DEVICE constexpr uint64_t Geospatial::compress_null_point_latitude_geoint32 | ( | ) |
Definition at line 79 of file CompressionRuntime.h.
Referenced by compress_null_point().
DEVICE constexpr uint64_t Geospatial::compress_null_point_longitude_geoint32 | ( | ) |
Definition at line 74 of file CompressionRuntime.h.
Referenced by compress_null_point().
std::shared_ptr<Analyzer::Constant> Geospatial::convert_coords | ( | const std::vector< double > & | coords, |
const SQLTypeInfo & | ti | ||
) |
Definition at line 26 of file Conversion.h.
References compress_coords(), SQLTypeInfo::get_compression(), kARRAY, kENCODING_GEOINT, kTINYINT, SQLTypeInfo::set_comp_param(), SQLTypeInfo::set_compression(), SQLTypeInfo::set_size(), SQLTypeInfo::set_subtype(), and Datum::tinyintval.
Referenced by Analyzer::GeoConstant::makePhysicalConstant().
std::shared_ptr<Analyzer::Constant> Geospatial::convert_rings | ( | const std::vector< int > & | rings | ) |
Definition at line 44 of file Conversion.h.
References Datum::intval, kARRAY, kINT, SQLTypeInfo::set_size(), and SQLTypeInfo::set_subtype().
Referenced by Analyzer::GeoConstant::makePhysicalConstant().
std::shared_ptr<std::vector<T> > Geospatial::decompress_coords | ( | const C & | compression, |
const int8_t * | coords, | ||
const size_t | coords_sz | ||
) |
std::shared_ptr<std::vector<double> > Geospatial::decompress_coords< double, int32_t > | ( | const int32_t & | ic, |
const int8_t * | coords, | ||
const size_t | coords_sz | ||
) |
Definition at line 164 of file Compression.cpp.
References CHECK_EQ, COMPRESSION_GEOINT32, COMPRESSION_NONE, decompress_geo_coords_geoint32(), and unpack_geo_vector().
Referenced by to_Geospatial_GeoLineString(), to_Geospatial_GeoMultiLineString(), to_Geospatial_GeoMultiPoint(), to_Geospatial_GeoMultiPolygon(), and to_Geospatial_GeoPolygon().
std::shared_ptr<std::vector<double> > Geospatial::decompress_coords< double, SQLTypeInfo > | ( | const SQLTypeInfo & | geo_ti, |
const int8_t * | coords, | ||
const size_t | coords_sz | ||
) |
Definition at line 147 of file Compression.cpp.
References CHECK_EQ, decompress_geo_coords_geoint32(), kENCODING_GEOINT, kENCODING_NONE, and unpack_geo_vector().
Referenced by NestedArrayToGeoTargetValue(), GeoTargetValueSerializer< kPOINT >::serialize(), GeoWktSerializer< kPOINT >::serialize(), GeoTargetValueSerializer< kMULTIPOINT >::serialize(), GeoWktSerializer< kMULTIPOINT >::serialize(), GeoTargetValueSerializer< kLINESTRING >::serialize(), GeoWktSerializer< kLINESTRING >::serialize(), GeoTargetValueSerializer< kMULTILINESTRING >::serialize(), GeoWktSerializer< kMULTILINESTRING >::serialize(), GeoTargetValueSerializer< kPOLYGON >::serialize(), GeoWktSerializer< kPOLYGON >::serialize(), GeoTargetValueSerializer< kMULTIPOLYGON >::serialize(), and GeoWktSerializer< kMULTIPOLYGON >::serialize().
void Geospatial::decompress_geo_coords_geoint32 | ( | std::vector< T > & | dec, |
const int8_t * | enc, | ||
const size_t | sz | ||
) |
Definition at line 131 of file Compression.cpp.
References decompress_latitude_coord_geoint32(), and decompress_longitude_coord_geoint32().
Referenced by decompress_coords< double, int32_t >(), and decompress_coords< double, SQLTypeInfo >().
|
inline |
Definition at line 46 of file CompressionRuntime.h.
Referenced by decompress_coord(), decompress_geo_coords_geoint32(), Geo::decompress_y_coord(), get_bucket_key_for_range_compressed_impl(), and RangeKeyHandler::operator()().
|
inline |
Definition at line 40 of file CompressionRuntime.h.
Referenced by decompress_coord(), decompress_geo_coords_geoint32(), Geo::decompress_x_coord(), get_bucket_key_for_range_compressed_impl(), and RangeKeyHandler::operator()().
bool Geospatial::geos_validate_wkb | ( | const unsigned char * | , |
const size_t | |||
) |
Definition at line 153 of file GeosValidation.cpp.
Referenced by Geospatial::anonymous_namespace{Types.cpp}::validate_ogr().
bool Geospatial::geos_validation_available | ( | ) |
Definition at line 149 of file GeosValidation.cpp.
Referenced by Parser::anonymous_namespace{ParserNode.cpp}::parse_copy_params(), and Geospatial::anonymous_namespace{Types.cpp}::validate_ogr().
int32_t Geospatial::get_compression_scheme | ( | const SQLTypeInfo & | ti | ) |
Definition at line 23 of file Compression.cpp.
References COMPRESSION_GEOINT32, COMPRESSION_NONE, SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), kENCODING_GEOINT, and kENCODING_NONE.
Referenced by spatial_type::AreaPerimeter::codegen(), spatial_type::Centroid::codegen(), spatial_type::Distance::codegen(), CodeGenerator::codegenGeoBinOper(), CodeGenerator::codegenGeoUOper(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateFunctionWithGeoArg(), RelAlgTranslator::translateTernaryGeoFunction(), and RelAlgTranslator::translateUnaryGeoFunction().
bool Geospatial::is_null_point | ( | const SQLTypeInfo & | geo_ti, |
const int8_t * | coords, | ||
const size_t | coords_sz | ||
) |
Definition at line 178 of file Compression.cpp.
References CHECK_EQ, SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), SQLTypeInfo::get_notnull(), SQLTypeInfo::get_type(), is_null_point_longitude_geoint32(), kENCODING_GEOINT, kENCODING_NONE, kPOINT, and NULL_ARRAY_DOUBLE.
Referenced by compress_coords(), anonymous_namespace{ResultSetIteration.cpp}::GeoLazyFetchHandler::fetch(), anonymous_namespace{ResultSetIteration.cpp}::GeoQueryOutputFetchHandler::fetch(), import_export::Importer::set_geo_physical_import_buffer(), and import_export::Importer::set_geo_physical_import_buffer_columnar().
|
inline |
Definition at line 57 of file CompressionRuntime.h.
|
inline |
Definition at line 52 of file CompressionRuntime.h.
Referenced by is_null_point().
void Geospatial::unpack_geo_vector | ( | std::vector< T > & | output, |
const int8_t * | input_ptr, | ||
const size_t | sz | ||
) |
Definition at line 101 of file Compression.cpp.
References CHECK_EQ, and heavydb.dtypes::T.
Referenced by decompress_coords< double, int32_t >(), decompress_coords< double, SQLTypeInfo >(), GeoTargetValueSerializer< kMULTILINESTRING >::serialize(), GeoWktSerializer< kMULTILINESTRING >::serialize(), GeoTargetValueSerializer< kPOLYGON >::serialize(), GeoWktSerializer< kPOLYGON >::serialize(), GeoTargetValueSerializer< kMULTIPOLYGON >::serialize(), and GeoWktSerializer< kMULTIPOLYGON >::serialize().
void Geospatial::unpack_geo_vector< int32_t > | ( | std::vector< int32_t > & | output, |
const int8_t * | input_ptr, | ||
const size_t | sz | ||
) |
|
inline |
Definition at line 23 of file ColumnNames.h.
Referenced by DBHandler::detect_column_types(), and QueryRunner::ImportDriver::importGeoTable().
std::map<std::tuple<int32_t, int32_t>, std::shared_ptr<OGRCoordinateTransformation> > Geospatial::transformation_map_ |
Definition at line 117 of file Types.cpp.
Referenced by Geospatial::GeoBase::getTransformation().
std::mutex Geospatial::transformation_map_mutex_ |
Definition at line 115 of file Types.cpp.
Referenced by Geospatial::GeoBase::getTransformation().