h5geo 0.4.0
C++17 and python API to work with geo-data (seismic, wells, maps, other in process) based on HDF5. Aimed at geoscientists and developers.
Loading...
Searching...
No Matches
H5WellImpl Class Reference
Inheritance diagram for H5WellImpl:
H5BaseObjectImpl< H5Well > H5BaseImpl< H5Well > H5Well H5BaseObject H5Base

Public Member Functions

virtual H5LogCurve * openLogCurve (const std::string &logType, const std::string &logName) override
 Open H5LogCurve.
 
virtual H5LogCurve * openLogCurve (h5gt::Group group) override
 Open H5LogCurve.
 
virtual H5DevCurve * openDevCurve (const std::string &devName) override
 Open H5DevCurve.
 
virtual H5DevCurve * openDevCurve (h5gt::Group group) override
 Open H5DevCurve.
 
virtual H5WellTops * openWellTops () override
 Open H5WellTops.
 
virtual H5LogCurve * createLogCurve (std::string &logType, std::string &logName, H5LogCurveParam &p, h5geo::CreationType createFlag) override
 Create H5LogCurve.
 
virtual H5LogCurve * createLogCurve (h5gt::Group group, H5LogCurveParam &p, h5geo::CreationType createFlag) override
 Create H5LogCurve.
 
virtual H5DevCurve * createDevCurve (std::string &devName, H5DevCurveParam &p, h5geo::CreationType createFlag) override
 Create H5DevCurve.
 
virtual H5DevCurve * createDevCurve (h5gt::Group group, H5DevCurveParam &p, h5geo::CreationType createFlag) override
 Create H5DevCurve.
 
virtual H5WellTops * createWellTops (H5WellTopsParam &p, h5geo::CreationType createFlag) override
 Create H5WellTops.
 
virtual bool setHeadCoord (Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false) override
 Set XY well head coordinates.
 
virtual bool setKB (double &val, const std::string &lengthUnits="") override
 Set XY kelly bushing.
 
virtual bool setUWI (const std::string &str) override
 Set UWI Unique Well Identifier.
 
virtual bool setActiveDevCurve (H5DevCurve *curve) override
 Set selected H5DevCurve as active.
 
virtual Eigen::VectorXd getHeadCoord (const std::string &lengthUnits="", bool doCoordTransform=false) override
 Get XY well head coordinates.
 
virtual double getKB (const std::string &lengthUnits="") override
 Set kelly bushing.
 
virtual std::string getUWI () override
 Get UWI Unique Well Identifier.
 
virtual H5DevCurve * openActiveDevCurve () override
 Get active H5DevCurve.
 
virtual std::vector< h5gt::Group > getDevCurveGroupList () override
 Omit active dev curve.
 
virtual std::vector< h5gt::Group > getLogCurveGroupList () override
 Find and return vector of H5LogCurve Groups within current well.
 
virtual std::vector< std::string > getDevCurveNameList () override
 Find and return vector of H5DevCurve names within current well.
 
virtual std::vector< std::string > getLogCurveNameList () override
 Find and return vector of H5LogCurve names within current well.
 
virtual std::vector< std::string > getLogTypeList () override
 Find and return vector of H5LogCurve types within current well.
 
virtual size_t getDevCurveCount () override
 Get number of H5DevCurves within current well.
 
virtual size_t getLogCurveCount () override
 Get number of H5LogCurves within current well.
 
virtual H5WellParam getParam () override
 Get parameters that were used to create current well.
 
virtual H5WellContainer * openWellContainer () override
 Open H5WellContainer where current well resides.
 
virtual std::optional< h5gt::Group > getDevG () override
 Get current well's DEV Group (where H5DevCurves reside)
 
virtual std::optional< h5gt::Group > getActiveDevG () override
 Get current well's active H5DevCurve Group.
 
virtual std::optional< h5gt::Group > getWellTopsG () override
 Get current well's H5WellTops Group.
 
virtual std::optional< h5gt::Group > getLogG () override
 Get current well's LOG Group (where H5LogCurves reside)
 
virtual std::optional< h5gt::Group > getLogTypeG (const std::string &logType) override
 Get current well's logType Group.
 
- Public Member Functions inherited from H5BaseObjectImpl< H5Well >
virtual H5BasePoints * openPoints (const std::string &name) override
 Open H5BasePoints derived points.
 
virtual H5BasePoints * openPoints (h5gt::Group group) override
 Open H5BasePoints derived points.
 
virtual H5Horizon * openHorizon (const std::string &name) override
 
virtual H5Horizon * openHorizon (h5gt::Group group) override
 
virtual H5Points1 * createPoints1 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points1 * createPoints1 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points2 * createPoints2 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points2 * createPoints2 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points3 * createPoints3 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points3 * createPoints3 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points4 * createPoints4 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points4 * createPoints4 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Horizon * createHorizon (std::string &name, H5HorizonParam &p, h5geo::CreationType createFlag) override
 
virtual H5Horizon * createHorizon (h5gt::Group group, H5HorizonParam &p, h5geo::CreationType createFlag) override
 
virtual H5Base * clone () override
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
H5Base * clone ()
 
virtual bool setSpatialReference (const std::string &str) override
 Set spatial reference for current geo-object using authName:code form.
 
virtual bool setSpatialReference (const std::string &authName, const std::string &code) override
 Set spatial reference for current geo-object.
 
virtual bool setLengthUnits (const std::string &str) override
 Set length units for the current geo-object.
 
virtual bool setTemporalUnits (const std::string &str) override
 Set temporal units for the current geo-object.
 
virtual bool setAngularUnits (const std::string &str) override
 Set angular units for the current geo-object.
 
virtual bool setDataUnits (const std::string &str) override
 Set data units for the current geo-object.
 
virtual bool setNullValue (double val) override
 Set NULL value for the current geo-object.
 
virtual std::string getSpatialReference () override
 Get spatial reference for current geo-object.
 
virtual std::string getLengthUnits () override
 Get length units for the current geo-object.
 
virtual std::string getTemporalUnits () override
 Get temporal units for the current geo-object.
 
virtual std::string getAngularUnits () override
 Get angular units for the current geo-object.
 
virtual std::string getDataUnits () override
 Get data units for the current geo-object.
 
virtual double getNullValue () override
 Get NULL value for the current geo-object.
 
virtual h5gt::File getH5File () const override
 Get HDF5 file.
 
virtual h5gt::Group getObjG () const override
 Get HDF5 Group.
 
virtual std::string getName () const override
 Get geo-object's name without path.
 
virtual std::string getFullName () const override
 Get geo-object's name with full path to that object.
 
virtual std::vector< h5gt::Group > getObjGroupList (const h5geo::ObjectType &objType, bool recursive) override
 Find all geo-objects of specified type within current geo-object and return them as vector of Groups.
 
virtual std::vector< std::string > getObjNameList (const h5geo::ObjectType &objType, bool recursive) override
 Find all geo-objects of specified type within current geo-object and return them as vector of names.
 
virtual size_t getObjCount (const h5geo::ObjectType &objType, bool recursive) override
 Get number of geo-objects of specified type within current geo-object.
 
virtual bool isEqual (H5BaseObject *other) const override
 Check if geo-objects are the same.
 
virtual bool operator== (const H5BaseObject &other) const override
 Check if geo-objects are the same (compares HDF5 Groups)
 
virtual bool operator!= (const H5BaseObject &other) const override
 Check if geo-objects are not the same (compares HDF5 Groups)
 
- Public Member Functions inherited from H5BaseImpl< H5Well >
virtual void Delete () override
 

Protected Member Functions

 H5WellImpl (const h5gt::Group &group)
 
- Protected Member Functions inherited from H5BaseObjectImpl< H5Well >
 H5BaseObjectImpl (const h5gt::Group &group)
 
std::optional< h5gt::Group > getParentG (const h5geo::ObjectType &objType)
 getParent Search for parent of type ObjectType for the objG
 
virtual std::optional< h5gt::Group > getGroupOpt (h5gt::Group &parent, const std::string &groupName) const
 
virtual std::optional< h5gt::DataSet > getDatasetOpt (const h5gt::Group &parent, const std::string &datasetName) const
 
- Protected Member Functions inherited from H5BaseImpl< H5Well >
virtual std::vector< h5gt::Group > getChildGroupList (h5gt::Group &group, const h5geo::ObjectType &objType, bool recursive=false)
 
virtual std::vector< std::string > getChildNameList (h5gt::Group &group, const h5geo::ObjectType &objType, const std::string &referencePath, bool recursive=false)
 referencePath to get relative path from it (set to empty to get full path)
 
virtual size_t getChildCount (h5gt::Group &group, const h5geo::ObjectType &objType, bool recursive=false)
 
std::optional< h5gt::Group > createObject (std::string &objName, h5gt::File parentFile, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 createObject Creates new object. If CREATE_UNDER_NEW_NAME then objName will be chaged to be unique in its parent file.
 
std::optional< h5gt::Group > createObject (std::string &objName, h5gt::Group parentGroup, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 createObject Creates new object. If CREATE_UNDER_NEW_NAME then objName will be chaged to be unique in its parent group.
 
std::optional< h5gt::Group > createObject (h5gt::Group objG, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 
bool isSuccessor (const h5gt::Group &parentG, const h5gt::Group &childG)
 isSuccessor checks whether childG is successor of parentG
 
bool isSuccessor (const std::string &parent, const std::string &child)
 isSuccessor works only with absolute path!
 

Friends

class H5WellContainerImpl
 
class H5LogCurveImpl
 
class H5DevCurveImpl
 
class H5WellTopsImpl
 
class H5BaseObjectImpl< H5Well >
 
H5Well * h5geo::openWell (h5gt::Group group)
 

Additional Inherited Members

- Static Protected Member Functions inherited from H5BaseImpl< H5Well >
static std::optional< h5gt::File > createContainer (std::string &fileName, const h5geo::ContainerType &containerType, h5geo::CreationType createFlag)
 
static std::optional< h5gt::File > createContainer (h5gt::File h5File, const h5geo::ContainerType &containerType, h5geo::CreationType createFlag)
 
- Protected Attributes inherited from H5BaseObjectImpl< H5Well >
h5gt::Group objG
 

Member Function Documentation

◆ createDevCurve() [1/2]

H5DevCurve * H5WellImpl::createDevCurve ( h5gt::Group group,
H5DevCurveParam & p,
h5geo::CreationType createFlag )
overridevirtual

Create H5DevCurve.

Implements H5Well.

◆ createDevCurve() [2/2]

H5DevCurve * H5WellImpl::createDevCurve ( std::string & devName,
H5DevCurveParam & p,
h5geo::CreationType createFlag )
overridevirtual

Create H5DevCurve.

Implements H5Well.

◆ createLogCurve() [1/2]

H5LogCurve * H5WellImpl::createLogCurve ( h5gt::Group group,
H5LogCurveParam & p,
h5geo::CreationType createFlag )
overridevirtual

Create H5LogCurve.

Implements H5Well.

◆ createLogCurve() [2/2]

H5LogCurve * H5WellImpl::createLogCurve ( std::string & logType,
std::string & logName,
H5LogCurveParam & p,
h5geo::CreationType createFlag )
overridevirtual

Create H5LogCurve.

If logType is empty then logName is considered as relative or full path to the log curve.

Implements H5Well.

◆ createWellTops()

H5WellTops * H5WellImpl::createWellTops ( H5WellTopsParam & p,
h5geo::CreationType createFlag )
overridevirtual

Create H5WellTops.

Created object uses WELLTOPS as name

Implements H5Well.

◆ getActiveDevG()

std::optional< h5gt::Group > H5WellImpl::getActiveDevG ( )
overridevirtual

Get current well's active H5DevCurve Group.

Implements H5Well.

◆ getDevCurveCount()

size_t H5WellImpl::getDevCurveCount ( )
overridevirtual

Get number of H5DevCurves within current well.

Implements H5Well.

◆ getDevCurveGroupList()

std::vector< h5gt::Group > H5WellImpl::getDevCurveGroupList ( )
overridevirtual

Omit active dev curve.

Find and return vector of H5DevCurve Groups within current well

Implements H5Well.

◆ getDevCurveNameList()

std::vector< std::string > H5WellImpl::getDevCurveNameList ( )
overridevirtual

Find and return vector of H5DevCurve names within current well.

Implements H5Well.

◆ getDevG()

std::optional< h5gt::Group > H5WellImpl::getDevG ( )
overridevirtual

Get current well's DEV Group (where H5DevCurves reside)

Implements H5Well.

◆ getHeadCoord()

Eigen::VectorXd H5WellImpl::getHeadCoord ( const std::string & lengthUnits = "",
bool doCoordTransform = false )
overridevirtual

Get XY well head coordinates.

Implements H5Well.

◆ getKB()

double H5WellImpl::getKB ( const std::string & lengthUnits = "")
overridevirtual

Set kelly bushing.

Implements H5Well.

◆ getLogCurveCount()

size_t H5WellImpl::getLogCurveCount ( )
overridevirtual

Get number of H5LogCurves within current well.

Implements H5Well.

◆ getLogCurveGroupList()

std::vector< h5gt::Group > H5WellImpl::getLogCurveGroupList ( )
overridevirtual

Find and return vector of H5LogCurve Groups within current well.

Implements H5Well.

◆ getLogCurveNameList()

std::vector< std::string > H5WellImpl::getLogCurveNameList ( )
overridevirtual

Find and return vector of H5LogCurve names within current well.

Implements H5Well.

◆ getLogG()

std::optional< h5gt::Group > H5WellImpl::getLogG ( )
overridevirtual

Get current well's LOG Group (where H5LogCurves reside)

Implements H5Well.

◆ getLogTypeG()

std::optional< h5gt::Group > H5WellImpl::getLogTypeG ( const std::string & logType)
overridevirtual

Get current well's logType Group.

Implements H5Well.

◆ getLogTypeList()

std::vector< std::string > H5WellImpl::getLogTypeList ( )
overridevirtual

Find and return vector of H5LogCurve types within current well.

Implements H5Well.

◆ getParam()

H5WellParam H5WellImpl::getParam ( )
overridevirtual

Get parameters that were used to create current well.

Implements H5Well.

◆ getUWI()

std::string H5WellImpl::getUWI ( )
overridevirtual

Get UWI Unique Well Identifier.

Implements H5Well.

◆ getWellTopsG()

std::optional< h5gt::Group > H5WellImpl::getWellTopsG ( )
overridevirtual

Get current well's H5WellTops Group.

Implements H5Well.

◆ openActiveDevCurve()

H5DevCurve * H5WellImpl::openActiveDevCurve ( )
overridevirtual

Get active H5DevCurve.

Active H5DevCurve is simply HDF5 SOFT link that uses ACTIVE as name

Implements H5Well.

◆ openDevCurve() [1/2]

H5DevCurve * H5WellImpl::openDevCurve ( const std::string & devName)
overridevirtual

Open H5DevCurve.

Implements H5Well.

◆ openDevCurve() [2/2]

H5DevCurve * H5WellImpl::openDevCurve ( h5gt::Group group)
overridevirtual

Open H5DevCurve.

Implements H5Well.

◆ openLogCurve() [1/2]

H5LogCurve * H5WellImpl::openLogCurve ( const std::string & logType,
const std::string & logName )
overridevirtual

Open H5LogCurve.

If logType is empty then logName is considered as relative or full path to the log curve.

Implements H5Well.

◆ openLogCurve() [2/2]

H5LogCurve * H5WellImpl::openLogCurve ( h5gt::Group group)
overridevirtual

Open H5LogCurve.

Implements H5Well.

◆ openWellContainer()

H5WellContainer * H5WellImpl::openWellContainer ( )
overridevirtual

Open H5WellContainer where current well resides.

Implements H5Well.

◆ openWellTops()

H5WellTops * H5WellImpl::openWellTops ( )
overridevirtual

Open H5WellTops.

Look for H5WellTops with WELLTOPS name

Implements H5Well.

◆ setActiveDevCurve()

bool H5WellImpl::setActiveDevCurve ( H5DevCurve * curve)
overridevirtual

Set selected H5DevCurve as active.

Active H5DevCurve is simply HDF5 SOFT link that uses ACTIVE as name

Implements H5Well.

◆ setHeadCoord()

bool H5WellImpl::setHeadCoord ( Eigen::Ref< Eigen::Vector2d > v,
const std::string & lengthUnits = "",
bool doCoordTransform = false )
overridevirtual

Set XY well head coordinates.

Implements H5Well.

◆ setKB()

bool H5WellImpl::setKB ( double & val,
const std::string & lengthUnits = "" )
overridevirtual

Set XY kelly bushing.

Implements H5Well.

◆ setUWI()

bool H5WellImpl::setUWI ( const std::string & str)
overridevirtual

Set UWI Unique Well Identifier.

Implements H5Well.


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