我想将井记录从Slb.Ocean.Petrel.DomainObject.Well.WellLog
导出到外部文件,但即使项目设置为使用英尺,我得到的测量深度也以米为单位。
我可以用我得到的转换器转换测井记录样本:
var converter = PetrelUnitSystem.GetConverterToUI(wellLog.WellLogVersion.UnitMeasurement);
如何获得测量深度的转换器?
答案 0 :(得分:2)
Hallgrim,
您可以从不变的海洋单位到Petrel显示单元获得转换器:
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"
,对于以英尺为单位测量深度的项目。