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
H5Well Class Referenceabstract

Provides API to work with wells. More...

#include <h5well.h>

Inheritance diagram for H5Well:
H5BaseObject H5Base H5BaseImpl< H5Well > H5BaseObjectImpl< H5Well > H5WellImpl

Public Member Functions

virtual H5LogCurveopenLogCurve (const std::string &logType, const std::string &logName)=0
 Open H5LogCurve.
 
virtual H5LogCurveopenLogCurve (h5gt::Group group)=0
 Open H5LogCurve.
 
virtual H5DevCurveopenDevCurve (const std::string &devName)=0
 Open H5DevCurve.
 
virtual H5DevCurveopenDevCurve (h5gt::Group group)=0
 Open H5DevCurve.
 
virtual H5WellTopsopenWellTops ()=0
 Open H5WellTops.
 
virtual H5LogCurvecreateLogCurve (std::string &logType, std::string &logName, H5LogCurveParam &p, h5geo::CreationType createFlag)=0
 Create H5LogCurve.
 
virtual H5LogCurvecreateLogCurve (h5gt::Group group, H5LogCurveParam &p, h5geo::CreationType createFlag)=0
 Create H5LogCurve.
 
virtual H5DevCurvecreateDevCurve (std::string &devName, H5DevCurveParam &p, h5geo::CreationType createFlag)=0
 Create H5DevCurve.
 
virtual H5DevCurvecreateDevCurve (h5gt::Group group, H5DevCurveParam &p, h5geo::CreationType createFlag)=0
 Create H5DevCurve.
 
virtual H5WellTopscreateWellTops (H5WellTopsParam &p, h5geo::CreationType createFlag)=0
 Create H5WellTops.
 
virtual bool setHeadCoord (Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Set XY well head coordinates.
 
virtual bool setKB (double &val, const std::string &lengthUnits="")=0
 Set XY kelly bushing.
 
virtual bool setUWI (const std::string &str)=0
 Set UWI Unique Well Identifier.
 
virtual bool setActiveDevCurve (H5DevCurve *curve)=0
 Set selected H5DevCurve as active.
 
virtual Eigen::VectorXd getHeadCoord (const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Get XY well head coordinates.
 
virtual double getKB (const std::string &lengthUnits="")=0
 Set kelly bushing.
 
virtual std::string getUWI ()=0
 Get UWI Unique Well Identifier.
 
virtual H5DevCurveopenActiveDevCurve ()=0
 Get active H5DevCurve.
 
virtual std::vector< h5gt::Group > getDevCurveGroupList ()=0
 Omit active dev curve.
 
virtual std::vector< h5gt::Group > getLogCurveGroupList ()=0
 Find and return vector of H5LogCurve Groups within current well.
 
virtual std::vector< std::string > getDevCurveNameList ()=0
 Find and return vector of H5DevCurve names within current well.
 
virtual std::vector< std::string > getLogCurveNameList ()=0
 Find and return vector of H5LogCurve names within current well.
 
virtual std::vector< std::string > getLogTypeList ()=0
 Find and return vector of H5LogCurve types within current well.
 
virtual size_t getDevCurveCount ()=0
 Get number of H5DevCurves within current well.
 
virtual size_t getLogCurveCount ()=0
 Get number of H5LogCurves within current well.
 
virtual H5WellParam getParam ()=0
 Get parameters that were used to create current well.
 
virtual H5WellContaineropenWellContainer ()=0
 Open H5WellContainer where current well resides.
 
virtual std::optional< h5gt::Group > getDevG ()=0
 Get current well's DEV Group (where H5DevCurves reside)
 
virtual std::optional< h5gt::Group > getActiveDevG ()=0
 Get current well's active H5DevCurve Group.
 
virtual std::optional< h5gt::Group > getWellTopsG ()=0
 Get current well's H5WellTops Group.
 
virtual std::optional< h5gt::Group > getLogG ()=0
 Get current well's LOG Group (where H5LogCurves reside)
 
virtual std::optional< h5gt::Group > getLogTypeG (const std::string &logType)=0
 Get current well's logType Group.
 
- Public Member Functions inherited from H5BaseObject
virtual H5BasePointsopenPoints (const std::string &name)=0
 Open H5BasePoints derived points.
 
virtual H5BasePointsopenPoints (h5gt::Group group)=0
 Open H5BasePoints derived points.
 
virtual H5HorizonopenHorizon (const std::string &name)=0
 
virtual H5HorizonopenHorizon (h5gt::Group group)=0
 
virtual H5Points1createPoints1 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points1createPoints1 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points2createPoints2 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points2createPoints2 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points3createPoints3 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points3createPoints3 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points4createPoints4 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5Points4createPoints4 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0
 
virtual H5HorizoncreateHorizon (std::string &name, H5HorizonParam &p, h5geo::CreationType createFlag)=0
 
virtual H5HorizoncreateHorizon (h5gt::Group group, H5HorizonParam &p, h5geo::CreationType createFlag)=0
 
virtual bool setSpatialReference (const std::string &str)=0
 Set spatial reference for current geo-object using authName:code form.
 
virtual bool setSpatialReference (const std::string &authName, const std::string &code)=0
 Set spatial reference for current geo-object.
 
virtual bool setLengthUnits (const std::string &str)=0
 Set length units for the current geo-object.
 
virtual bool setTemporalUnits (const std::string &str)=0
 Set temporal units for the current geo-object.
 
virtual bool setAngularUnits (const std::string &str)=0
 Set angular units for the current geo-object.
 
virtual bool setDataUnits (const std::string &str)=0
 Set data units for the current geo-object.
 
virtual bool setNullValue (double val)=0
 Set NULL value for the current geo-object.
 
virtual std::string getSpatialReference ()=0
 Get spatial reference for current geo-object.
 
virtual std::string getLengthUnits ()=0
 Get length units for the current geo-object.
 
virtual std::string getTemporalUnits ()=0
 Get temporal units for the current geo-object.
 
virtual std::string getAngularUnits ()=0
 Get angular units for the current geo-object.
 
virtual std::string getDataUnits ()=0
 Get data units for the current geo-object.
 
virtual double getNullValue ()=0
 Get NULL value for the current geo-object.
 
virtual h5gt::File getH5File () const =0
 Get HDF5 file.
 
virtual h5gt::Group getObjG () const =0
 Get HDF5 Group.
 
virtual std::string getName () const =0
 Get geo-object's name without path.
 
virtual std::string getFullName () const =0
 Get geo-object's name with full path to that object.
 
virtual std::vector< h5gt::Group > getObjGroupList (const h5geo::ObjectType &objType, bool recursive)=0
 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)=0
 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)=0
 Get number of geo-objects of specified type within current geo-object.
 
virtual bool isEqual (H5BaseObject *other) const =0
 Check if geo-objects are the same.
 
virtual bool operator== (const H5BaseObject &other) const =0
 Check if geo-objects are the same (compares HDF5 Groups)
 
virtual bool operator!= (const H5BaseObject &other) const =0
 Check if geo-objects are not the same (compares HDF5 Groups)
 
- Public Member Functions inherited from H5Base
virtual H5Baseclone ()=0
 
virtual void Delete ()=0
 

Detailed Description

Provides API to work with wells.

Well is an object that doesn't dispose DataSets but uses only HDF5 Groups and Attributes for storing information about well head and kelly bushing for example.
H5DevCurve, H5LogCurve and H5WellTops are separate objects that reside within well.

Member Function Documentation

◆ createDevCurve() [1/2]

virtual H5DevCurve * H5Well::createDevCurve ( h5gt::Group group,
H5DevCurveParam & p,
h5geo::CreationType createFlag )
pure virtual

Create H5DevCurve.

Implemented in H5WellImpl.

◆ createDevCurve() [2/2]

virtual H5DevCurve * H5Well::createDevCurve ( std::string & devName,
H5DevCurveParam & p,
h5geo::CreationType createFlag )
pure virtual

Create H5DevCurve.

Implemented in H5WellImpl.

◆ createLogCurve() [1/2]

virtual H5LogCurve * H5Well::createLogCurve ( h5gt::Group group,
H5LogCurveParam & p,
h5geo::CreationType createFlag )
pure virtual

Create H5LogCurve.

Implemented in H5WellImpl.

◆ createLogCurve() [2/2]

virtual H5LogCurve * H5Well::createLogCurve ( std::string & logType,
std::string & logName,
H5LogCurveParam & p,
h5geo::CreationType createFlag )
pure virtual

Create H5LogCurve.

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

Implemented in H5WellImpl.

◆ createWellTops()

virtual H5WellTops * H5Well::createWellTops ( H5WellTopsParam & p,
h5geo::CreationType createFlag )
pure virtual

Create H5WellTops.

Created object uses WELLTOPS as name

Implemented in H5WellImpl.

◆ getActiveDevG()

virtual std::optional< h5gt::Group > H5Well::getActiveDevG ( )
pure virtual

Get current well's active H5DevCurve Group.

Implemented in H5WellImpl.

◆ getDevCurveCount()

virtual size_t H5Well::getDevCurveCount ( )
pure virtual

Get number of H5DevCurves within current well.

Implemented in H5WellImpl.

◆ getDevCurveGroupList()

virtual std::vector< h5gt::Group > H5Well::getDevCurveGroupList ( )
pure virtual

Omit active dev curve.

Find and return vector of H5DevCurve Groups within current well

Implemented in H5WellImpl.

◆ getDevCurveNameList()

virtual std::vector< std::string > H5Well::getDevCurveNameList ( )
pure virtual

Find and return vector of H5DevCurve names within current well.

Implemented in H5WellImpl.

◆ getDevG()

virtual std::optional< h5gt::Group > H5Well::getDevG ( )
pure virtual

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

Implemented in H5WellImpl.

◆ getHeadCoord()

virtual Eigen::VectorXd H5Well::getHeadCoord ( const std::string & lengthUnits = "",
bool doCoordTransform = false )
pure virtual

Get XY well head coordinates.

Implemented in H5WellImpl.

◆ getKB()

virtual double H5Well::getKB ( const std::string & lengthUnits = "")
pure virtual

Set kelly bushing.

Implemented in H5WellImpl.

◆ getLogCurveCount()

virtual size_t H5Well::getLogCurveCount ( )
pure virtual

Get number of H5LogCurves within current well.

Implemented in H5WellImpl.

◆ getLogCurveGroupList()

virtual std::vector< h5gt::Group > H5Well::getLogCurveGroupList ( )
pure virtual

Find and return vector of H5LogCurve Groups within current well.

Implemented in H5WellImpl.

◆ getLogCurveNameList()

virtual std::vector< std::string > H5Well::getLogCurveNameList ( )
pure virtual

Find and return vector of H5LogCurve names within current well.

Implemented in H5WellImpl.

◆ getLogG()

virtual std::optional< h5gt::Group > H5Well::getLogG ( )
pure virtual

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

Implemented in H5WellImpl.

◆ getLogTypeG()

virtual std::optional< h5gt::Group > H5Well::getLogTypeG ( const std::string & logType)
pure virtual

Get current well's logType Group.

Implemented in H5WellImpl.

◆ getLogTypeList()

virtual std::vector< std::string > H5Well::getLogTypeList ( )
pure virtual

Find and return vector of H5LogCurve types within current well.

Implemented in H5WellImpl.

◆ getParam()

virtual H5WellParam H5Well::getParam ( )
pure virtual

Get parameters that were used to create current well.

Implemented in H5WellImpl.

◆ getUWI()

virtual std::string H5Well::getUWI ( )
pure virtual

Get UWI Unique Well Identifier.

Implemented in H5WellImpl.

◆ getWellTopsG()

virtual std::optional< h5gt::Group > H5Well::getWellTopsG ( )
pure virtual

Get current well's H5WellTops Group.

Implemented in H5WellImpl.

◆ openActiveDevCurve()

virtual H5DevCurve * H5Well::openActiveDevCurve ( )
pure virtual

Get active H5DevCurve.

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

Implemented in H5WellImpl.

◆ openDevCurve() [1/2]

virtual H5DevCurve * H5Well::openDevCurve ( const std::string & devName)
pure virtual

Open H5DevCurve.

Implemented in H5WellImpl.

◆ openDevCurve() [2/2]

virtual H5DevCurve * H5Well::openDevCurve ( h5gt::Group group)
pure virtual

Open H5DevCurve.

Implemented in H5WellImpl.

◆ openLogCurve() [1/2]

virtual H5LogCurve * H5Well::openLogCurve ( const std::string & logType,
const std::string & logName )
pure virtual

Open H5LogCurve.

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

Implemented in H5WellImpl.

◆ openLogCurve() [2/2]

virtual H5LogCurve * H5Well::openLogCurve ( h5gt::Group group)
pure virtual

Open H5LogCurve.

Implemented in H5WellImpl.

◆ openWellContainer()

virtual H5WellContainer * H5Well::openWellContainer ( )
pure virtual

Open H5WellContainer where current well resides.

Implemented in H5WellImpl.

◆ openWellTops()

virtual H5WellTops * H5Well::openWellTops ( )
pure virtual

Open H5WellTops.

Look for H5WellTops with WELLTOPS name

Implemented in H5WellImpl.

◆ setActiveDevCurve()

virtual bool H5Well::setActiveDevCurve ( H5DevCurve * curve)
pure virtual

Set selected H5DevCurve as active.

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

Implemented in H5WellImpl.

◆ setHeadCoord()

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

Set XY well head coordinates.

Implemented in H5WellImpl.

◆ setKB()

virtual bool H5Well::setKB ( double & val,
const std::string & lengthUnits = "" )
pure virtual

Set XY kelly bushing.

Implemented in H5WellImpl.

◆ setUWI()

virtual bool H5Well::setUWI ( const std::string & str)
pure virtual

Set UWI Unique Well Identifier.

Implemented in H5WellImpl.


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