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

Provides API to work with maps. More...

#include <h5map.h>

Inheritance diagram for H5Map:
H5BaseObject H5Base H5BaseImpl< H5Map > H5BaseObjectImpl< H5Map > H5MapImpl

Public Member Functions

virtual bool writeData (Eigen::Ref< Eigen::MatrixXd > M, const std::string &dataUnits="")=0
 Write data to DataSet.
 
virtual Eigen::MatrixXd getData (const std::string &dataUnits="")=0
 Read data from DataSet.
 
virtual bool setDomain (const h5geo::Domain &domain)=0
 Set domain for the map (TVD, TVDSS, TWT, OWT)
 
virtual bool setOrigin (Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Set coordinates of upper-left matrix corner.
 
virtual bool setPoint1 (Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Set coordinates of upper-right matrix corner.
 
virtual bool setPoint2 (Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Set coordinates of bottom-left matrix corner.
 
virtual std::optional< h5gt::Group > addAttributeMap (H5Map *map, std::string name="")=0
 Add attribute map.
 
virtual std::optional< h5gt::Group > addInternalAttributeMap (H5Map *map, std::string name="")=0
 Add internal attribute map.
 
virtual std::optional< h5gt::Group > addExternalAttributeMap (H5Map *map, std::string name="")=0
 Add internal attribute map.
 
virtual bool removeAttributeMap (const std::string &name)=0
 Remove attribute map.
 
virtual H5MapopenAttributeMap (const std::string &name)=0
 Open attribute map.
 
virtual std::vector< h5gt::Group > getAttributeMapGroupList ()=0
 Find and return vector of attribute maps Groups within current map.
 
virtual std::vector< std::string > getAttributeMapNameList ()=0
 Find and return vector of attribute maps names within current map.
 
virtual size_t getAttributeMapCount ()=0
 Get number of atribute maps within current map.
 
virtual h5geo::Domain getDomain ()=0
 Get domain (TVD, TVDSS, TWT, OWT)
 
virtual Eigen::VectorXd getOrigin (const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Get coordinates of upper-left matrix corner.
 
virtual Eigen::VectorXd getPoint1 (const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Get coordinates of upper-right matrix corner.
 
virtual Eigen::VectorXd getPoint2 (const std::string &lengthUnits="", bool doCoordTransform=false)=0
 Get coordinates of bottom-left matrix corner.
 
virtual size_t getNX ()=0
 Get number of Eigen column-major matrix columns.
 
virtual size_t getNY ()=0
 Get number of Eigen column-major matrix rows.
 
virtual H5MapParam getParam ()=0
 Get parameters that were used to create current map.
 
virtual H5MapContaineropenMapContainer () const =0
 Open H5MapContainer where current map resides.
 
virtual std::optional< h5gt::DataSet > getMapD () const =0
 Get current map'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 maps.

Map is an object that is represented by a matrix with coordinates of upper-left matrix corner (origin X0, Y0), coordinates of upper-right matrix corner (point1 X1, Y1) and coordinates of lower-left matrix corner (point2 X2, Y2). Thus only single Z value corresponds for each XY point.

Member Function Documentation

◆ addAttributeMap()

virtual std::optional< h5gt::Group > H5Map::addAttributeMap ( H5Map * map,
std::string name = "" )
pure virtual

Add attribute map.

Check if current map and attribute map reside in the same hdf5 container or not (create 'Internal' or 'External' attribute map).
The nX and nY must be equal.
Attribute map is a regular H5Map but resides within parent map.

Parameters
mapmap to be used as attribute
namename for an attribute map
Returns
Group of newly created attribute map

Implemented in H5MapImpl.

◆ addExternalAttributeMap()

virtual std::optional< h5gt::Group > H5Map::addExternalAttributeMap ( H5Map * map,
std::string name = "" )
pure virtual

Add internal attribute map.

Both map and attribute map reside in different HDF5 containers.
Created attribute map is simply HDF5 EXTERNAL link.

Parameters
mapmap to be used as attribute
namename for an attribute map
Returns
Group of newly created attribute map

Implemented in H5MapImpl.

◆ addInternalAttributeMap()

virtual std::optional< h5gt::Group > H5Map::addInternalAttributeMap ( H5Map * map,
std::string name = "" )
pure virtual

Add internal attribute map.

Both map and attribute map reside in the same HDF5 container.
Created attribute map is simply HDF5 SOFT link.

Parameters
mapmap to be used as attribute
namename for an attribute map
Returns
Group of newly created attribute map

Implemented in H5MapImpl.

◆ getAttributeMapCount()

virtual size_t H5Map::getAttributeMapCount ( )
pure virtual

Get number of atribute maps within current map.

Implemented in H5MapImpl.

◆ getAttributeMapGroupList()

virtual std::vector< h5gt::Group > H5Map::getAttributeMapGroupList ( )
pure virtual

Find and return vector of attribute maps Groups within current map.

Implemented in H5MapImpl.

◆ getAttributeMapNameList()

virtual std::vector< std::string > H5Map::getAttributeMapNameList ( )
pure virtual

Find and return vector of attribute maps names within current map.

Implemented in H5MapImpl.

◆ getData()

virtual Eigen::MatrixXd H5Map::getData ( const std::string & dataUnits = "")
pure virtual

Read data from DataSet.

Implemented in H5MapImpl.

◆ getDomain()

virtual h5geo::Domain H5Map::getDomain ( )
pure virtual

Get domain (TVD, TVDSS, TWT, OWT)

Implemented in H5MapImpl.

◆ getMapD()

virtual std::optional< h5gt::DataSet > H5Map::getMapD ( ) const
pure virtual

Get current map's DataSet.

Implemented in H5MapImpl.

◆ getNX()

virtual size_t H5Map::getNX ( )
pure virtual

Get number of Eigen column-major matrix columns.

Implemented in H5MapImpl.

◆ getNY()

virtual size_t H5Map::getNY ( )
pure virtual

Get number of Eigen column-major matrix rows.

Implemented in H5MapImpl.

◆ getOrigin()

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

Get coordinates of upper-left matrix corner.

Implemented in H5MapImpl.

◆ getParam()

virtual H5MapParam H5Map::getParam ( )
pure virtual

Get parameters that were used to create current map.

Implemented in H5MapImpl.

◆ getPoint1()

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

Get coordinates of upper-right matrix corner.

Implemented in H5MapImpl.

◆ getPoint2()

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

Get coordinates of bottom-left matrix corner.

Implemented in H5MapImpl.

◆ openAttributeMap()

virtual H5Map * H5Map::openAttributeMap ( const std::string & name)
pure virtual

Open attribute map.

Implemented in H5MapImpl.

◆ openMapContainer()

virtual H5MapContainer * H5Map::openMapContainer ( ) const
pure virtual

Open H5MapContainer where current map resides.

Implemented in H5MapImpl.

◆ removeAttributeMap()

virtual bool H5Map::removeAttributeMap ( const std::string & name)
pure virtual

Remove attribute map.

Implemented in H5MapImpl.

◆ setDomain()

virtual bool H5Map::setDomain ( const h5geo::Domain & domain)
pure virtual

Set domain for the map (TVD, TVDSS, TWT, OWT)

Implemented in H5MapImpl.

◆ setOrigin()

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

Set coordinates of upper-left matrix corner.

Implemented in H5MapImpl.

◆ setPoint1()

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

Set coordinates of upper-right matrix corner.

Implemented in H5MapImpl.

◆ setPoint2()

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

Set coordinates of bottom-left matrix corner.

Implemented in H5MapImpl.

◆ writeData()

virtual bool H5Map::writeData ( Eigen::Ref< Eigen::MatrixXd > M,
const std::string & dataUnits = "" )
pure virtual

Write data to DataSet.

Implemented in H5MapImpl.


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