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.
|
Provides API to work with well deviations (trajectories) More...
#include <h5devcurve.h>
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 H5WellContainer * | openWellContainer ()=0 |
Open H5WellContainer where current dev curve resides. | |
virtual H5Well * | openWell ()=0 |
Open parent H5Well. | |
virtual std::optional< h5gt::DataSet > | getDevCurveD ()=0 |
Get current dev curve's DataSet. | |
Public Member Functions inherited from H5BaseObject | |
virtual H5BasePoints * | openPoints (const std::string &name)=0 |
Open H5BasePoints derived points. | |
virtual H5BasePoints * | openPoints (h5gt::Group group)=0 |
Open H5BasePoints derived points. | |
virtual H5Horizon * | openHorizon (const std::string &name)=0 |
virtual H5Horizon * | openHorizon (h5gt::Group group)=0 |
virtual H5Points1 * | createPoints1 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points1 * | createPoints1 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points2 * | createPoints2 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points2 * | createPoints2 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points3 * | createPoints3 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points3 * | createPoints3 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points4 * | createPoints4 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Points4 * | createPoints4 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Horizon * | createHorizon (std::string &name, H5HorizonParam &p, h5geo::CreationType createFlag)=0 |
virtual H5Horizon * | createHorizon (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 H5Base * | clone ()=0 |
virtual void | Delete ()=0 |
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
|
pure virtual |
Get curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Get curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Get current dev curve's DataSet.
Implemented in H5DevCurveImpl.
|
pure virtual |
Get number of curves.
Implemented in H5DevCurveImpl.
|
pure virtual |
Get number of samples.
Implemented in H5DevCurveImpl.
|
pure virtual |
Get parameters that were used to create current dev curve.
Implemented in H5DevCurveImpl.
|
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.
|
pure virtual |
Check if current dev curve is active for the parent H5Well.
Implemented in H5DevCurveImpl.
|
pure virtual |
Open parent H5Well.
Implemented in H5DevCurveImpl.
|
pure virtual |
Open H5WellContainer where current dev curve resides.
Implemented in H5DevCurveImpl.
|
pure virtual |
Set current dev curve as active for the parent H5Well.
Implemented in H5DevCurveImpl.
|
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.
|
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.
|
pure virtual |
Write AZIM
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write DX
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write DY
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write INCL
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write MD
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write OWT
curve.
Implemented in H5DevCurveImpl.
|
pure virtual |
Write TVD
curve.
Implemented in H5DevCurveImpl.