Ejemplo n.º 1
0
def test_pending_for_data_research():
    raster = raster_for_test()
    multiraster = GeoMultiRaster([raster_for_test()])
    assert multiraster.footprint() == raster.footprint()
    assert multiraster == raster
    multicrop = multiraster[10:100, 20:200]
    rastercrop = raster[10:100, 20:200]
    assert (multicrop.image == rastercrop.image).all()
    assert multicrop == rastercrop
Ejemplo n.º 2
0
def test_multiraster_basics():
    raster = raster_for_test()
    multiraster = GeoMultiRaster([raster_for_test()])
    assert (multiraster.image == raster.image).all()
    assert multiraster.shape == raster.shape
    assert multiraster.band_names == raster.band_names
    assert multiraster.crs == raster.crs
    assert multiraster.affine.almost_equals(raster.affine)
Ejemplo n.º 3
0
def test_multiraster_pixel_crop():
    raster = raster_for_test()
    multiraster = GeoMultiRaster([raster_for_test()])
    multicrop = multiraster[10:100, 20:200]
    rastercrop = raster[10:100, 20:200]
    assert multicrop.shape == rastercrop.shape
    assert multicrop.band_names == rastercrop.band_names
    assert multicrop.crs == rastercrop.crs
    assert multicrop.affine.almost_equals(rastercrop.affine)
Ejemplo n.º 4
0
def test_geofeature_from_multi_rasters_returns_a_valid_feature(request):
    rasters = [
        request.getfixturevalue("test_raster_with_url"),
        request.getfixturevalue("test_raster_with_url")
    ]
    raster = GeoMultiRaster(rasters)
    properties = OrderedDict([('prop1', 1), ('prop2', '2'),
                              ('prop3', datetime(2018, 4, 25, 11, 18))])
    feature = GeoFeature.from_raster(raster, properties=properties)
    assert feature.properties == properties
    assert feature.raster() == raster
    assert feature.raster() == GeoRaster2.from_rasters(rasters)
Ejemplo n.º 5
0
def test_geofeature_from_record_for_a_record_with_multi_raster(request):
    rasters = [
        request.getfixturevalue("test_raster_with_url"),
        request.getfixturevalue("test_raster_with_url")
    ]
    raster = GeoMultiRaster(rasters)
    properties = OrderedDict([('prop1', 1), ('prop2', '2'),
                              ('prop3', datetime(2018, 4, 25, 11, 18))])
    feature = GeoFeature.from_raster(raster, properties=properties)
    feature2 = GeoFeature.from_record(feature.to_record(feature.crs),
                                      feature.crs)
    assert feature.has_raster
    assert feature2.has_raster
    assert feature.raster() == feature2.raster()
    assert feature.geometry == feature2.geometry
    assert feature2.to_record(feature2.crs)['properties'] == feature.to_record(
        feature.crs)['properties']
    assert feature2.crs == feature.crs
Ejemplo n.º 6
0
def test_geofeature_from_multi_raster_serializes_with_assets(request):
    rasters = [
        request.getfixturevalue("test_raster_with_url"),
        request.getfixturevalue("test_raster_with_url")
    ]
    raster = GeoMultiRaster(rasters)
    properties = OrderedDict([('prop1', 1), ('prop2', '2'),
                              ('prop3', datetime(2018, 4, 25, 11, 18))])
    feature = GeoFeature.from_raster(raster, properties=properties)
    assert mapping(feature)["assets"] == {
        '0': {
            'href': rasters[0]._filename,
            'bands': rasters[0].band_names,
            'type': RASTER_TYPE,
            'product': 'visual'
        },
        '1': {
            'href': rasters[1]._filename,
            'bands': rasters[1].band_names,
            'type': RASTER_TYPE,
            'product': 'visual'
        }
    }
Ejemplo n.º 7
0
def test_raises_on_empty_rasters():
    with pytest.raises(GeoRaster2Error):
        GeoMultiRaster([])
Ejemplo n.º 8
0
def test_compare_multiraster_and_vrt():
    raster = GeoRaster2.from_rasters([raster_for_test()])
    multiraster = GeoMultiRaster([raster_for_test()])
    assert multiraster == raster
Ejemplo n.º 9
0
def test_from_assets_two_rasters():
    assets = GeoMultiRaster([raster_for_test(), raster_for_test()]).to_assets()
    assert GeoMultiRaster.from_assets(assets) == GeoRaster2.from_assets(assets)
    assert isinstance(GeoMultiRaster.from_assets(assets), GeoMultiRaster)
    assert isinstance(GeoRaster2.from_assets(assets), GeoMultiRaster)
Ejemplo n.º 10
0
def test_from_assets_single_raster():
    assets = raster_for_test().to_assets()
    assert GeoMultiRaster.from_assets(assets) == GeoRaster2.from_assets(assets)
    assert isinstance(GeoMultiRaster.from_assets(assets), GeoRaster2)
    assert isinstance(GeoRaster2.from_assets(assets), GeoRaster2)
Ejemplo n.º 11
0
def test_to_assets():
    raster = raster_for_test()
    multiraster = GeoMultiRaster([raster_for_test()])
    assert raster.to_assets() == multiraster.to_assets()