Exemplo n.º 1
0
def _load_meta(filename, ftype, **kwargs):

    if ftype == 'netcdf':
        return load_netcdf_meta(filename)
    elif ftype == 'hdf5':
        return load_hdf5_meta(filename)
    elif ftype == 'hdf4':
        return load_hdf4_meta(filename)
    elif ftype == 'tif':
        return load_dir_of_tifs_meta(filename, **kwargs)
    elif ftype == 'hdf':
        try:
            return load_hdf4_meta(filename, **kwargs)
        except Exception as e:
            logger.info('NOTE: guessed HDF4 type. Failed: {}. \nTrying HDF5'.format(repr(e)))
            return load_hdf5_meta(filename, **kwargs)
Exemplo n.º 2
0
def test_load_subdataset():
    import gdal
    f = HDF5_FILES[0]
    _, layer_specs = get_layer_specs(f)
    data_file = gdal.Open(f)
    meta = load_hdf5_meta(f)
    data_array = load_subdataset(data_file.GetSubDatasets()[0][0],
                                 meta['layer_meta'][0], layer_specs[0])
    assert data_array.data is not None
Exemplo n.º 3
0
def test_load_subdataset():
    f = HDF5_FILES[0]
    _ , band_specs = get_band_specs(f)
    data_file = gdal.Open(f)
    meta = load_hdf5_meta(f)
    data_array = load_subdataset(data_file.GetSubDatasets()[0][0],
                                 meta['band_meta'][0],
                                 band_specs[0])
    assert 'canvas' in data_array.attrs.keys()
    assert data_array.data is not None
Exemplo n.º 4
0
def test_reader_kwargs():
    sub_dataset_names, band_specs = get_band_specs(HDF5_FILES[0])
    band_specs_kwargs = []
    for b in band_specs:
        b = attr.asdict(b)
        b['buf_xsize'], b['buf_ysize'] = 200, 300
        band_specs_kwargs.append(BandSpec(**b))
    meta = load_hdf5_meta(HDF5_FILES[0])
    es = load_hdf5_array(HDF5_FILES[0], meta, band_specs_kwargs)
    for b in es.band_order:
        assert getattr(es, b).values.shape == (300, 200)
Exemplo n.º 5
0
def test_read_array(filename):
    sub_dataset_names, band_specs = get_band_specs(filename)
    meta = load_hdf5_meta(filename)
    es = load_hdf5_array(filename, meta, band_specs)
    assert len(es.data_vars) == len(sub_dataset_names)
    for band in es.data_vars:
        sample = getattr(es, band)
        assert sample.y.size == 1800
        assert sample.x.size == 3600
        assert len(es.data_vars) == len(band_specs)
        assertions_on_band_metadata(sample.attrs)
Exemplo n.º 6
0
def test_reader_kwargs():
    sub_dataset_names, layer_specs = get_layer_specs(HDF5_FILES[0])
    layer_specs_kwargs = []
    for b in layer_specs:
        b = b.get_params()
        b['buf_xsize'], b['buf_ysize'] = 200, 300
        layer_specs_kwargs.append(LayerSpec(**b))
    meta = load_hdf5_meta(HDF5_FILES[0])
    dset = load_hdf5_array(HDF5_FILES[0], meta, layer_specs_kwargs)
    for b in dset.layer_order:
        assert getattr(dset, b).values.shape == (300, 200)
Exemplo n.º 7
0
def test_read_array(filename):
    sub_dataset_names, layer_specs = get_layer_specs(filename)
    meta = load_hdf5_meta(filename)
    dset = load_hdf5_array(filename, meta, layer_specs)
    assert len(dset.data_vars) == len(sub_dataset_names)
    for layer in dset.data_vars:
        sample = getattr(dset, layer)
        assert sample.y.size == 1800
        assert sample.x.size == 3600
        assert len(dset.data_vars) == len(layer_specs)
        assertions_on_layer_metadata(sample.attrs)
Exemplo n.º 8
0
def test_read_meta(hdf):
    meta = load_hdf5_meta(hdf)
    assertions_on_metadata(meta)