1

我想将测井日志从 a 导出Slb.Ocean.Petrel.DomainObject.Well.WellLog到外部文件,但即使项目设置为使用英尺,我得到的测量深度也以米为单位。

我可以使用以下转换器转换测井样本:

var converter = PetrelUnitSystem.GetConverterToUI(wellLog.WellLogVersion.UnitMeasurement);

如何获得测量深度的转换器?

4

1 回答 1

2

霍尔格林,

你可以得到一个从不变的海洋单元到海燕显示单元的转换器:

IUnitConverter convertToDisplayMD = PetrelUnitSystem.GetConverterToUI(Domain.MD);

这是一个使用它的例子:

double valueToConvert = 3;

IUnit displayMD = PetrelUnitSystem.GetDisplayUnit(Domain.MD.Template);
IUnit oceanMD = PetrelUnitSystem.GetInvariantUnit(Domain.MD.Template);

PetrelLogger.InfoOutputWindow("converting " + valueToConvert.ToString() + 
" from: the Ocean unit for measured depth " + oceanMD.Symbol + 
" to: " + displayMD.Symbol + " = " + convertToDisplayMD.Convert(valueToConvert));

Petrel 消息日志中的输出将是:

“将 3 从:测量深度 m 的海洋单位转换为:ft = 9.84251968503937”

,对于以英尺为单位测量深度的项目。

于 2011-05-09T20:57:27.973 回答