OmniSciDB  95562058bd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Geospatial::GeoGeometryCollection Class Reference

#include <Types.h>

+ Inheritance diagram for Geospatial::GeoGeometryCollection:
+ Collaboration diagram for Geospatial::GeoGeometryCollection:

Public Member Functions

 GeoGeometryCollection (const std::vector< double > &coords, const std::vector< int32_t > &ring_sizes, const std::vector< int32_t > &poly_rings, const std::vector< int32_t > &geo_kinds)
 
 GeoGeometryCollection (const std::string &wkt)
 
void getColumns (std::vector< double > &coords, std::vector< int32_t > &ring_sizes, std::vector< int32_t > &poly_rings, std::vector< int32_t > &geo_kinds, std::vector< double > &bounds) const
 
GeoType getType () const final
 
- Public Member Functions inherited from Geospatial::GeoBase
 GeoBase ()
 
virtual ~GeoBase ()
 
std::string getWktString () const
 
bool getWkb (std::vector< uint8_t > &) const
 
const OGRGeometry * getOGRGeometry () const
 
int32_t getBestPlanarSRID () const
 
bool transform (int32_t srid0, int32_t srid1)
 
virtual bool operator== (const GeoBase &other) const
 
bool isEmpty () const
 
std::unique_ptr< GeoBaserun (GeoOp op, const GeoBase &other) const
 
std::unique_ptr< GeoBaseoptimized_run (GeoOp op, const GeoBase &other) const
 
std::unique_ptr< GeoBaserun (GeoOp op, double param) const
 
bool run (GeoOp op) const
 

Protected Member Functions

 GeoGeometryCollection (OGRGeometry *geom, const bool owns_geom_obj)
 
- Protected Member Functions inherited from Geospatial::GeoBase
 GeoBase (OGRGeometry *geom, const bool owns_geom_obj)
 

Friends

class GeoTypesFactory
 

Additional Inherited Members

- Public Types inherited from Geospatial::GeoBase
enum  GeoType {
  GeoType::kPOINT, GeoType::kLINESTRING, GeoType::kPOLYGON, GeoType::kMULTIPOLYGON,
  GeoType::kGEOMETRY, GeoType::kGEOMETRYCOLLECTION
}
 
enum  GeoOp {
  GeoOp::kPROJECTION = 0, GeoOp::kINTERSECTION = 1, GeoOp::kDIFFERENCE = 2, GeoOp::kUNION = 3,
  GeoOp::kBUFFER = 4, GeoOp::kISVALID = 5, GeoOp::kISEMPTY = 6
}
 
- Static Protected Member Functions inherited from Geospatial::GeoBase
static int createFromWktString (const std::string &wkt, OGRGeometry **geom)
 
static int createFromWkb (const std::vector< uint8_t > &wkb, OGRGeometry **geom)
 
- Protected Attributes inherited from Geospatial::GeoBase
OGRGeometry * geom_ = nullptr
 
bool owns_geom_obj_
 

Detailed Description

Definition at line 189 of file Types.h.

Constructor & Destructor Documentation

Geospatial::GeoGeometryCollection::GeoGeometryCollection ( const std::vector< double > &  coords,
const std::vector< int32_t > &  ring_sizes,
const std::vector< int32_t > &  poly_rings,
const std::vector< int32_t > &  geo_kinds 
)
inline

Definition at line 191 of file Types.h.

194  {};
Geospatial::GeoGeometryCollection::GeoGeometryCollection ( const std::string &  wkt)

Definition at line 766 of file Types.cpp.

References CHECK, Geospatial::GeoBase::createFromWktString(), and Geospatial::GeoBase::geom_.

766  {
767  const auto err = GeoBase::createFromWktString(wkt, &geom_);
768  if (err != OGRERR_NONE) {
769  throw GeoTypesError("GeometryCollection", err);
770  }
771  CHECK(geom_);
772  if (wkbFlatten(geom_->getGeometryType()) != OGRwkbGeometryType::wkbGeometryCollection) {
773  throw GeoTypesError("GeometryCollection",
774  "Unexpected geometry type from WKT string: " +
775  std::string(OGRGeometryTypeToName(geom_->getGeometryType())));
776  }
777 }
OGRGeometry * geom_
Definition: Types.h:86
static int createFromWktString(const std::string &wkt, OGRGeometry **geom)
Definition: Types.cpp:148
#define CHECK(condition)
Definition: Logger.h:197

+ Here is the call graph for this function:

Geospatial::GeoGeometryCollection::GeoGeometryCollection ( OGRGeometry *  geom,
const bool  owns_geom_obj 
)
inlineprotected

Definition at line 205 of file Types.h.

References Geospatial::GeoBase::isEmpty().

206  : GeoBase(geom, owns_geom_obj) {
207  if (!isEmpty()) {
208  throw GeoTypesError("GeoTypesFactory", "Non-empty GEOMETRYCOLLECTION");
209  }
210  }
bool isEmpty() const
Definition: Types.cpp:190

+ Here is the call graph for this function:

Member Function Documentation

void Geospatial::GeoGeometryCollection::getColumns ( std::vector< double > &  coords,
std::vector< int32_t > &  ring_sizes,
std::vector< int32_t > &  poly_rings,
std::vector< int32_t > &  geo_kinds,
std::vector< double > &  bounds 
) const
inline

Definition at line 197 of file Types.h.

201  {};
GeoType Geospatial::GeoGeometryCollection::getType ( ) const
inlinefinalvirtual

Friends And Related Function Documentation

friend class GeoTypesFactory
friend

Definition at line 212 of file Types.h.


The documentation for this class was generated from the following files: