Skip to content

源码calc.py文件中的_extract函数存在传参错误 #140

@wait4xx

Description

@wait4xx
def _extract(r_list: Volume_T, dtype: str) -> tuple:
    if len(set(i.range for i in r_list)) > 1:
        raise ValueError("Input radials must have same data range")
    adim_shape = set(i.dims["azimuth"] for i in r_list)
    if max(adim_shape) > 400:
        # CC radar
        adim_interp_to = 512
    else:
        adim_interp_to = 360
    r_data = list()
    elev = list()
    for i in r_list:
        x, d, a = resample(
            i[dtype].values,
            i["distance"].values,
            i["azimuth"].values,
            i.tangential_reso,
            adim_interp_to,
        )
        r_data.append(x)
        elev.append(i.elevation)
    data = np.concatenate(r_data).reshape(
        len(r_list), r_data[0].shape[0], r_data[0].shape[1]
    )
    return data, d, a, np.array(elev)

上述代码第17行:i.tangential_reso,,疑似传参错误,该参数含义为切向分辨率,而非径向分辨率

def resample(
    data: np.ndarray,
    distance: np.ndarray,
    azimuth: np.ndarray,
    d_reso: Number_T,
    a_reso: int,
) -> tuple:
    r"""
    Resample radar radial data which have different number of radials
    in one scan into that of 360 radials

    Args:
        data (numpy.ndarray): Radar radial data.

        distance (numpy.ndarray): Original distance.

        azimuth (numpy.ndarray): Original azimuth.

    Returns:
        numpy.ndarray: Resampled radial data.

        numpy.ndarray: Resampled distance.

        numpy.ndarray: Resampled azimuth.
    """
    # Target grid
    Rrange = np.arange(d_reso, distance.max() + d_reso, d_reso)
    Trange = np.linspace(0, np.pi * 2, a_reso + 1)
    dist, theta = np.meshgrid(Rrange, Trange)
    # Original grid
    d, t = np.meshgrid(distance, azimuth)
    kds = KDResampler(data, d, t, 1)
    r = kds.map_data(dist, theta)
    return r, dist, theta

根据这段代码看,d_reso应该是径向分辨率/径向数据库长,而非tangential_reso(切向分辨率)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions