series
是 ImplicitCoKriging
类中的一个方法,用于计算块序列(sequence of block
s)的概率场值(potential field value
)。
ks
:表示一个块序列,类型为 pandas.DataFrame
,其中包含以下列:
X
、Y
、Z
:该块在三维空间中的中心点坐标。
dip
、azimuth
、polarity
:用于定义三维块的方向和倾角的属性。
id
:每个块的唯一标识符。
range
:由 GaussianDistribution
对象返回的标量值,表示该块范围内可接受的距离范围。
values
:表示一个包含样本点的 pandas.DataFrame
。样本点应满足以下限制:
X
、Y
、Z
列包含 3D 空间中的坐标。
value
表示该样本点的属性值。
output
:表示所需的输出模式。可以为以下三种:
points
:返回所有块序列中的点的概率值。
id
:返回指定块序列中每个块的概率值。
geology
:返回指定块序列中每个块的地质标签 (geological label)。
n_closest
:表示要考虑的最近的样本点个数。默认为 4。
rescale
:表示是否将结果缩放到 [0, 1] 范围内。默认为 True
。
points
:包含每个块序列中每个点的概率值,类型为 numpy.ndarray
。
id
:包含指定块序列中每个块的概率值,类型为 pandas.DataFrame
。
geology
:包含指定块序列中每个块的地质标签,类型为 pandas.DataFrame
。
import gempy as gp
# create the model
model = gp.create_model('my_model')
# add surfaces
gp.init_data(model, [0, 0, 0], [100, 100, 100], [10, 10, 10])
gp.add_surfaces(model, ['surface1', 'surface2'])
# add series
gp.add_series(model, 'series1', ['surface1', 'surface2'], order_series=0)
# initialize interpolator
gp.set_interpolator(model, theano_optimizer='fast_run', compile_theano=True, verbose=[])
# assign data
gp.set_data(model, 'surface1', 50)
gp.set_data(model, 'surface2', 75)
# interpolation
gp.compute_model(model)
# calculate probabilities for a block sequence
ks = gp.get_blocks(model, [0, 0, 0], [100, 100, 100], [20, 20, 20], origin=[0, 0, 0])
values = gp.get_raw_data(model)
k_probs = gp.get_probability(model, ks, values, output='points')