mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#11514 OSDU: parse and add datum elevation to well paths.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "RimOsduWellPath.h"
|
||||
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimOsduWellPath, "OsduWellPath" );
|
||||
@@ -20,6 +21,9 @@ RimOsduWellPath::RimOsduWellPath()
|
||||
CAF_PDM_InitFieldNoDefault( &m_wellboreTrajectoryId, "WellboreTrajectoryId", "Wellbore Trajectory Id" );
|
||||
m_wellboreTrajectoryId.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitField( &m_datumElevationFromOsdu, "DatumElevationFromOsdu", 0.0, "Datum Elevation From OSDU" );
|
||||
m_datumElevationFromOsdu.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
// Required, as these settings are set in RimWellPath()
|
||||
m_name.uiCapability()->setUiReadOnly( false );
|
||||
m_name.uiCapability()->setUiHidden( false );
|
||||
@@ -82,6 +86,22 @@ QString RimOsduWellPath::wellboreTrajectoryId() const
|
||||
return m_wellboreTrajectoryId;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimOsduWellPath::setDatumElevationFromOsdu( double datumElevation )
|
||||
{
|
||||
m_datumElevationFromOsdu = datumElevation;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RimOsduWellPath::datumElevationFromOsdu() const
|
||||
{
|
||||
return m_datumElevationFromOsdu;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -91,6 +111,7 @@ void RimOsduWellPath::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering
|
||||
osduGroup->add( &m_wellId );
|
||||
osduGroup->add( &m_wellboreId );
|
||||
osduGroup->add( &m_wellboreTrajectoryId );
|
||||
osduGroup->add( &m_datumElevationFromOsdu );
|
||||
|
||||
RimWellPath::defineUiOrdering( uiConfigName, uiOrdering );
|
||||
}
|
||||
|
||||
@@ -36,6 +36,9 @@ public:
|
||||
void setWellboreTrajectoryId( const QString& wellboreTrajectoryId );
|
||||
QString wellboreTrajectoryId() const;
|
||||
|
||||
void setDatumElevationFromOsdu( double datumElevationFromOsdu );
|
||||
double datumElevationFromOsdu() const;
|
||||
|
||||
protected:
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
|
||||
@@ -43,4 +46,5 @@ private:
|
||||
caf::PdmField<QString> m_wellId;
|
||||
caf::PdmField<QString> m_wellboreId;
|
||||
caf::PdmField<QString> m_wellboreTrajectoryId;
|
||||
caf::PdmField<double> m_datumElevationFromOsdu;
|
||||
};
|
||||
|
||||
@@ -178,8 +178,9 @@ void RimWellPathCollection::loadDataAndUpdate()
|
||||
}
|
||||
else if ( oWPath )
|
||||
{
|
||||
RiaOsduConnector* osduConnector = app->makeOsduConnector();
|
||||
auto [wellPathGeometry, errorMessage] = loadWellPathGeometryFromOsdu( osduConnector, oWPath->wellboreTrajectoryId() );
|
||||
RiaOsduConnector* osduConnector = app->makeOsduConnector();
|
||||
auto [wellPathGeometry, errorMessage] =
|
||||
loadWellPathGeometryFromOsdu( osduConnector, oWPath->wellboreTrajectoryId(), oWPath->datumElevationFromOsdu() );
|
||||
if ( wellPathGeometry.notNull() )
|
||||
{
|
||||
oWPath->setWellPathGeometry( wellPathGeometry.p() );
|
||||
@@ -1052,7 +1053,8 @@ void RimWellPathCollection::onChildAdded( caf::PdmFieldHandle* containerForNewOb
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::pair<cvf::ref<RigWellPath>, QString> RimWellPathCollection::loadWellPathGeometryFromOsdu( RiaOsduConnector* osduConnector,
|
||||
const QString& wellboreTrajectoryId )
|
||||
const QString& wellboreTrajectoryId,
|
||||
double datumElevation )
|
||||
{
|
||||
auto [fileContents, errorMessage] = osduConnector->requestWellboreTrajectoryParquetDataById( wellboreTrajectoryId );
|
||||
if ( !errorMessage.isEmpty() )
|
||||
@@ -1060,7 +1062,7 @@ std::pair<cvf::ref<RigWellPath>, QString> RimWellPathCollection::loadWellPathGeo
|
||||
return { nullptr, errorMessage };
|
||||
}
|
||||
|
||||
return RifOsduWellPathReader::readWellPathData( fileContents );
|
||||
return RifOsduWellPathReader::readWellPathData( fileContents, datumElevation );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -135,7 +135,8 @@ public:
|
||||
|
||||
void onChildAdded( caf::PdmFieldHandle* containerForNewObject ) override;
|
||||
|
||||
static std::pair<cvf::ref<RigWellPath>, QString> loadWellPathGeometryFromOsdu( RiaOsduConnector* osduConnector, const QString& fileId );
|
||||
static std::pair<cvf::ref<RigWellPath>, QString>
|
||||
loadWellPathGeometryFromOsdu( RiaOsduConnector* osduConnector, const QString& wellTrajectoryId, double datumElevation );
|
||||
|
||||
static std::pair<cvf::ref<RigOsduWellLogData>, QString> loadWellLogFromOsdu( RiaOsduConnector* osduConnector, const QString& wellLogId );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user