设置样本数据的岩石(layers)和地层(surface)的数量。
n_lith
: int
样本数据中岩石的数量。
n_series
: int
样本数据中地层的数量。
None
TypeError
当传递的参数不是整数类型时,会抛出该异常。
ValueError
当传递的参数小于等于0时,会抛出该异常。
import gempy as gp
# 加载样本数据
data = gp.create_data([0,1000,0,1000,0,1000],resolution=[30,30,30])
# 设置2个岩石和3个地层
data.set_number_of_units(n_lith=2, n_series=3)
def set_number_of_units(self, n_lith: int, n_series: int) -> None:
if not isinstance(n_lith, int) or not isinstance(n_series, int):
raise TypeError("Number of surfaces and layers must be integer values.")
elif n_lith <= 0 or n_series <= 0:
raise ValueError("Number of surfaces and layers must be greater than 0.")
else:
self.additional_data["n_lith"] = n_lith
self.additional_data["n_series"] = n_series
以上是 gempy.core.data.Structure
的 set_number_of_units
方法,它允许用户设置样本数据中岩石和地层的数量(也可以理解为样本数据中的层数)。如果参数不合法,该方法会抛出异常。在具体实现中,我们首先检验传递的参数类型是否为整数类型,如果是就继续判断参数值是否合法。如果参数合法,就将新的 n_lith
和 n_series
写入到数据对象的 additional_data
字典中。