BaseDataArray#

BaseDataArray 是对 xarray.DataArray 的扩展,增加了地学处理中常用的数据转换、坐标旋转与访问器能力。

API 总览#

类:BaseDataArray#

继承:xarray.DataArray

构造函数 __init__(data=dtypes.NA, coords=None, dims=None, name=None, attrs=None, indexes=None, fastpath=False)#

功能:初始化一个 BaseDataArray 实例,参数与 xarray.DataArray 基本一致。
说明:主要作为父类透传,保留原生 DataArray 构造行为。


访问器属性#

base_array#

功能:提供 BaseArray 相关工具方法入口。
说明:通过缓存访问器注册,避免重复创建对象。

plot#

功能:提供 BaseDataArrayPlotAccessor 绘图能力。
说明:用于一对一绘图等可视化流程。

quad_tree#

功能:提供 QuadTreeForBaseDataArray 四叉树处理能力。
说明:可用于网格分块、分辨率控制等场景。

signal_detector#

功能:提供 SignalDetector 信号检测能力。
说明:使用带缓存的访问器注册(内部键名为 jump_detector)。


方法#

to_dataset(**kwargs)#

功能:将当前 BaseDataArray 转换为 BaseDataset
参数

  • **kwargs:透传给 xarray.DataArray.to_dataset()
    返回BaseDataset

to_dataframe()#

功能:将当前对象转换为 BaseDataFrame
参数:无。
返回BaseDataFrame

to_base_array()#

功能:将当前对象封装为 BaseArray
参数:无。
返回BaseArray

rotate_coords(angle_deg, origin=None)#

功能:仅旋转二维坐标系,不改变数据值。
参数

  • angle_deg (float):逆时针旋转角度(单位:度)。

  • origin (tuple | None):旋转中心 (x0, y0);为 None 时使用网格中心。
    返回:新的 BaseDataArray(坐标为旋转后的二维坐标)。
    说明:内部调用 cls_rotate_coords_cartesian()


类方法#

cls_rotate_coords_cartesian(da, angle_deg, origin=None)#

功能:对输入二维 DataArray 执行笛卡尔坐标旋转,仅更新坐标不修改数值。
参数

  • da (xr.DataArray):输入二维数组(维度顺序假定为 (y_dim, x_dim))。

  • angle_deg (float):逆时针旋转角度(度)。

  • origin (tuple | None):旋转中心 (x0, y0);缺省使用网格中心。
    返回BaseDataArray
    异常:当 da.ndim != 2 时抛出 ValueError("只支持二维 DataArray")

create_from_numpy_or_pandas(data, columns=None, data_name=None)#

功能:从 numpy.ndarraypandas.DataFrame 构建规则网格 BaseDataArray
参数

  • data (pd.DataFrame | np.ndarray):输入数据。

  • columns (list | None):列名定义;用于识别坐标列与数据列。

  • data_name (str | None):可选数据名(用于设置坐标中的 name 字段)。
    返回BaseDataArray
    说明:内部会进行排序、索引展开与网格化,坐标默认使用 cnorthceast

警告

当前实现中 create_from_numpy_or_pandas() 使用了 os.path.basename(data_name),但源码未显式导入 os。若传入 data_name,可能触发 NameError

类:BaseDataArrayList#

轻量容器类,用于管理多个 BaseDataArray 对象。

__init__(values)#

功能:初始化对象列表。
参数

  • values (list[BaseDataArray]):BaseDataArray 实例列表。

__getitem__(index)#

功能:按索引获取 BaseDataArray
参数

  • index (int):元素索引。
    返回BaseDataArray

参考#