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

Provides API to work with well deviations (trajectories) More...

#include <h5devcurve.h>

Inheritance diagram for H5DevCurve:
H5BaseObject H5Base H5BaseImpl< H5DevCurve > H5BaseObjectImpl< H5DevCurve > H5DevCurveImpl

Public Member Functions

virtual bool writeMD (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write MD curve.
 
virtual bool writeAZIM (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write AZIM curve.
 
virtual bool writeINCL (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write INCL curve.
 
virtual bool writeTVD (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write TVD curve.
 
virtual bool writeDX (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write DX curve.
 
virtual bool writeDY (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write DY curve.
 
virtual bool writeOWT (Eigen::Ref< Eigen::VectorXd > v, const std::string &units="")=0
 Write OWT curve.
 
virtual bool setActive ()=0
 Set current dev curve as active for the parent H5Well.
 
virtual bool isActive ()=0
 Check if current dev curve is active for the parent H5Well.
 
virtual void updateMdAzimIncl ()=0
 Calculate MD, AZIM, INCL based on X, Y, TVD
 
virtual void updateTvdDxDy ()=0
 Calculate MD, AZIM, INCL based on X, Y, TVD
 
virtual size_t getNCurves ()=0
 Get number of curves.
 
virtual size_t getNSamp ()=0
 Get number of samples.
 
virtual Eigen::VectorXd getCurve (const h5geo::DevDataType &name, const std::string &units="", bool doCoordTransform=false)=0
 Get curve.
 
virtual Eigen::VectorXd getCurve (const std::string &name, const std::string &units="", bool doCoordTransform=false)=0
 Get curve.
 
virtual std::string getRelativeName ()=0
 Get current dev curve's name.
 
virtual H5DevCurveParam getParam ()=0
 Get parameters that were used to create current dev curve.
 
virtual H5WellContaineropenWellContainer ()=0
 Open H5WellContainer where current dev curve resides.
 
virtual H5WellopenWell ()=0
 Open parent H5Well.
 
virtual std::optional< h5gt::DataSet > getDevCurveD ()=0
 Get current dev curve's DataSet.
 
- 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 well deviations (trajectories)

H5DevCurve stores the following curves: MD, AZIM, INCL, DX, DY, TVD, OWT. All other curves are calculated based on these curves. That is done to prevent calculation errors i.e. everytime MD_AZIM_INCL is transformed to X_Y_TVD an error is accumulating. The same concerns when doing that in backward order: X_Y_TVD to MD_AZIM_INCL.
Dev curve is located in HDF5 container using following pattern: /well/DEV/relative_path_to_dev_curve

Member Function Documentation

◆ getCurve() [1/2]

virtual Eigen::VectorXd H5DevCurve::getCurve ( const h5geo::DevDataType & name,
const std::string & units = "",
bool doCoordTransform = false )
pure virtual

Get curve.

Implemented in H5DevCurveImpl.

◆ getCurve() [2/2]

virtual Eigen::VectorXd H5DevCurve::getCurve ( const std::string & name,
const std::string & units = "",
bool doCoordTransform = false )
pure virtual

Get curve.

Implemented in H5DevCurveImpl.

◆ getDevCurveD()

virtual std::optional< h5gt::DataSet > H5DevCurve::getDevCurveD ( )
pure virtual

Get current dev curve's DataSet.

Implemented in H5DevCurveImpl.

◆ getNCurves()

virtual size_t H5DevCurve::getNCurves ( )
pure virtual

Get number of curves.

Implemented in H5DevCurveImpl.

◆ getNSamp()

virtual size_t H5DevCurve::getNSamp ( )
pure virtual

Get number of samples.

Implemented in H5DevCurveImpl.

◆ getParam()

virtual H5DevCurveParam H5DevCurve::getParam ( )
pure virtual

Get parameters that were used to create current dev curve.

Implemented in H5DevCurveImpl.

◆ getRelativeName()

virtual std::string H5DevCurve::getRelativeName ( )
pure virtual

Get current dev curve's name.

Returned curve name is relative to DEV Group within H5Well. It is possible to use this name when H5Well::openDevCurve for example.

Implemented in H5DevCurveImpl.

◆ isActive()

virtual bool H5DevCurve::isActive ( )
pure virtual

Check if current dev curve is active for the parent H5Well.

Implemented in H5DevCurveImpl.

◆ openWell()

virtual H5Well * H5DevCurve::openWell ( )
pure virtual

Open parent H5Well.

Implemented in H5DevCurveImpl.

◆ openWellContainer()

virtual H5WellContainer * H5DevCurve::openWellContainer ( )
pure virtual

Open H5WellContainer where current dev curve resides.

Implemented in H5DevCurveImpl.

◆ setActive()

virtual bool H5DevCurve::setActive ( )
pure virtual

Set current dev curve as active for the parent H5Well.

Implemented in H5DevCurveImpl.

◆ updateMdAzimIncl()

virtual void H5DevCurve::updateMdAzimIncl ( )
pure virtual

Calculate MD, AZIM, INCL based on X, Y, TVD

TVD, DX, DY must be filled.
Call it everytime TVD, DX or DY were changed

Implemented in H5DevCurveImpl.

◆ updateTvdDxDy()

virtual void H5DevCurve::updateTvdDxDy ( )
pure virtual

Calculate MD, AZIM, INCL based on X, Y, TVD

MD, AZIM, INCL must be filled.
Call it everytime MD, AZIM or INCL were changed

Implemented in H5DevCurveImpl.

◆ writeAZIM()

virtual bool H5DevCurve::writeAZIM ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write AZIM curve.

Implemented in H5DevCurveImpl.

◆ writeDX()

virtual bool H5DevCurve::writeDX ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write DX curve.

Implemented in H5DevCurveImpl.

◆ writeDY()

virtual bool H5DevCurve::writeDY ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write DY curve.

Implemented in H5DevCurveImpl.

◆ writeINCL()

virtual bool H5DevCurve::writeINCL ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write INCL curve.

Implemented in H5DevCurveImpl.

◆ writeMD()

virtual bool H5DevCurve::writeMD ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write MD curve.

Implemented in H5DevCurveImpl.

◆ writeOWT()

virtual bool H5DevCurve::writeOWT ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write OWT curve.

Implemented in H5DevCurveImpl.

◆ writeTVD()

virtual bool H5DevCurve::writeTVD ( Eigen::Ref< Eigen::VectorXd > v,
const std::string & units = "" )
pure virtual

Write TVD curve.

Implemented in H5DevCurveImpl.


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