我有一个任务是在Petrel中创建一个新的表面。我应该生成两个表面的平均值,并使用Ocean for Petrel软件从它创建一个新的表面(就像一个中间的表面)。
这个是可能的吗?我该从哪里开始呢?我也希望链接到对我有帮助的资源。
发布于 2012-10-03 14:08:45
塞斯利
可以通过调用方法CreateRegularHeightFieldSurface(字符串名,SpatialLatticeInfo点阵)从集合中创建表面;
创建属性作为RegularHeightFieldSurface.CreateProperty(Template模板);
然后,您可以通过I和J索引访问表面和属性的节点。曲面的X和Y将从晶格自动生成。
Point2[] world = …
var surf = c.CreateRegularHeightFieldSurface(name, oldSurf.SpatialLattice, PetrelProject.PrimaryProject.CoordinateReferenceSystem));
SurfaceProperty prop = surf.CreateProperty(PetrelProject.WellKnownTemplates.PetrophysicalGroup.Pressure);
prop.Name = " Pressure ";
var sizeIj = surf.SpatialLattice.OriginalLattice.Arrays.SizeIJ;
for (int i = 0; i < sizeIj.I; i++)
{
for (int j = 0; j < sizeIj.J; j++)
{
surf[i, j] = …;
prop[i, j] = …;
}
}发布于 2012-10-02 23:53:47
安装Ocean SDK,它附带了示例和文档。您应该使用的类是Ocean.chm中的RegularHeightFieldSurface - check。有一个名为PreStackSample的示例,它有一个关于如何创建这样一个曲面的示例。
https://stackoverflow.com/questions/12693002
复制相似问题