Beispiel #1
0
def test_cell_stats_some_data_vars():
    result_arr = cell_stats(
        raster_ds[['arr1', 'arr2', 'arr3']],
        ['arr1', 'arr3'],
    )
    expected_arr = xr.DataArray([[np.nan, 7, 4, 0], [6, 4, np.nan, 2],
                                 [11, 2, 4, 2], [1, 3, 3, np.nan]])

    assert result_arr.equals(expected_arr)
Beispiel #2
0
def test_cell_stats_std():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='std')
    expected_arr = xr.DataArray([
        [np.nan, 1.247219128924647, 0.4714045207910317,
         0.9428090415820634],  # noqa
        [0.9428090415820634, 0.9428090415820634, np.nan,
         1.8856180831641267],  # noqa
        [
            2.6246692913372702, 0.4714045207910317, 0.9428090415820634,
            0.9428090415820634
        ],  # noqa
        [np.nan, 1.247219128924647, 0.4714045207910317, np.nan]
    ])  # noqa

    assert result_arr.equals(expected_arr)
Beispiel #3
0
def test_cell_stats_mean():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='mean')
    expected_arr = xr.DataArray([
        [np.nan, 2.6666666666666665, 1.6666666666666667,
         0.6666666666666666],  # noqa
        [3.3333333333333335, 1.6666666666666667, np.nan,
         2.3333333333333335],  # noqa
        [
            3.6666666666666665, 0.6666666666666666, 1.3333333333333333,
            0.6666666666666666
        ],  # noqa
        [np.nan, 1.3333333333333333, 1.3333333333333333, np.nan]
    ])  # noqa

    assert result_arr.equals(expected_arr)
Beispiel #4
0
def test_cell_stats_min():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='min')
    expected_arr = xr.DataArray([[np.nan, 1, 1, 0], [2, 1, np.nan, 1],
                                 [0, 0, 0, 0], [np.nan, 0, 1, np.nan]])

    assert result_arr.equals(expected_arr)
Beispiel #5
0
def test_cell_stats_median():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='median')
    expected_arr = xr.DataArray([[np.nan, 3, 2, 0], [4, 1, np.nan, 1],
                                 [5, 1, 2, 0], [np.nan, 1, 1, np.nan]])

    assert result_arr.equals(expected_arr)
Beispiel #6
0
def test_cell_stats_max():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='max')
    expected_arr = xr.DataArray([[np.nan, 4, 2, 2], [4, 3, np.nan, 5],
                                 [6, 1, 2, 2], [np.nan, 3, 2, np.nan]])

    assert result_arr.equals(expected_arr)
Beispiel #7
0
def test_cell_stats_all_data_vars():
    result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']])
    expected_arr = xr.DataArray([[np.nan, 8, 5, 2], [10, 5, np.nan, 7],
                                 [11, 2, 4, 2], [np.nan, 4, 4, np.nan]])

    assert result_arr.equals(expected_arr)
Beispiel #8
0
def test_cell_stats_wrong_var_name():
    with pytest.raises(ValueError):
        cell_stats(
            raster_ds[['arr1', 'arr2', 'arr3']],
            data_vars=['arr1', 'arr9'],
        )
Beispiel #9
0
def test_cell_stats_data_vars_elem_type_error():
    with pytest.raises(TypeError):
        cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], data_vars=[0])
Beispiel #10
0
def test_cell_stats_raster_type_error():
    with pytest.raises(TypeError):
        cell_stats(arr1)
Beispiel #11
0
def test_cell_stats_wrong_func():
    with pytest.raises(ValueError):
        cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='med')