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.ndarray 或 pandas.DataFrame 构建规则网格 BaseDataArray。
参数:
data(pd.DataFrame | np.ndarray):输入数据。columns(list | None):列名定义;用于识别坐标列与数据列。data_name(str | None):可选数据名(用于设置坐标中的name字段)。
返回:BaseDataArray。
说明:内部会进行排序、索引展开与网格化,坐标默认使用cnorth、ceast。
警告
当前实现中 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。
参考#
相关类型:BaseArray