Example #1
0
def metadata(scene: str,
             pmin: Union[str, float] = 2.,
             pmax: Union[str, float] = 98.) -> Tuple[str, str, str]:
    """Handle metadata requests."""
    pmin = float(pmin) if isinstance(pmin, str) else pmin
    pmax = float(pmax) if isinstance(pmax, str) else pmax
    info = landsat8.metadata(scene, pmin, pmax)
    return ("OK", "application/json", json.dumps(info))
Example #2
0
def test_metadata_valid_custom(landsat_get_mtl, monkeypatch):
    """Get bounds and get stats for all bands with custom percentiles."""
    monkeypatch.setattr(landsat8, "LANDSAT_BUCKET", LANDSAT_BUCKET)
    landsat_get_mtl.return_value = LANDSAT_METADATA

    meta = landsat8.metadata(LANDSAT_SCENE_C1, pmin=10, pmax=90)
    assert meta["sceneid"] == LANDSAT_SCENE_C1
    assert len(meta["bounds"]["value"]) == 4
    assert len(meta["statistics"].items()) == 11
    assert list(map(int, meta["statistics"]["1"]["pc"])) == [1275, 3918]
Example #3
0
def test_metadata_valid_default(landsat_get_mtl, monkeypatch):
    """Get bounds and get stats for all bands."""
    monkeypatch.setattr(landsat8, "LANDSAT_BUCKET", LANDSAT_BUCKET)
    landsat_get_mtl.return_value = LANDSAT_METADATA

    meta = landsat8.metadata(LANDSAT_SCENE_C1)
    assert meta["sceneid"] == LANDSAT_SCENE_C1
    assert len(meta["bounds"]["value"]) == 4
    assert len(meta["statistics"].items()) == 11
    assert list(map(int, meta["statistics"]["1"]["pc"])) == [1210, 7046]
Example #4
0
def metadata(scene):
    query_args = APP.current_request.query_params
    query_args = query_args if isinstance(query_args, dict) else {}

    pmin = query_args.get('pmin', 2)
    pmin = float(pmin) if isinstance(pmin, str) else pmin

    pmax = query_args.get('pmax', 98)
    pmax = float(pmax) if isinstance(pmax, str) else pmax

    info = landsat8.metadata(scene, pmin, pmax)
    return ('OK', 'application/json', json.dumps(info))
Example #5
0
def test_metadata_valid_custom(landsat_get_mtl, monkeypatch):
    """
    Should work as expected (get metadata and get histogram cuts values
    for all bands)
    """

    monkeypatch.setattr(landsat8, 'LANDSAT_BUCKET', LANDSAT_BUCKET)
    landsat_get_mtl.return_value = LANDSAT_METADATA

    meta = landsat8.metadata(LANDSAT_SCENE_C1)
    assert meta.get('sceneid') == 'LC08_L1TP_016037_20170813_20170814_01_RT'
    assert len(meta.get('bounds')) == 4
    assert meta.get('rgbMinMax')
Example #6
0
def metadata(scene, pmin=2, pmax=98):
    """Handle metadata requests."""
    pmin = float(pmin) if isinstance(pmin, str) else pmin
    pmax = float(pmax) if isinstance(pmax, str) else pmax
    info = landsat8.metadata(scene, pmin, pmax)
    return ("OK", "application/json", json.dumps(info))