def test_gdalversion_class_parse(): v = GDALVersion.parse('1.9.0') assert v.major == 1 and v.minor == 9 v = GDALVersion.parse('1.9') assert v.major == 1 and v.minor == 9 v = GDALVersion.parse('1.9a') assert v.major == 1 and v.minor == 9
def test_gdalversion_class_cmp(): assert GDALVersion(1, 0) == GDALVersion(1, 0) assert GDALVersion(2, 0) > GDALVersion(1, 0) assert GDALVersion(1, 1) > GDALVersion(1, 0) assert GDALVersion(1, 2) < GDALVersion(2, 2) # Because we don't care about patch component assert GDALVersion.parse('1.0') == GDALVersion.parse('1.0.10') assert GDALVersion.parse('1.9') < GDALVersion.parse('2.2.0') assert GDALVersion.parse('2.0.0') > GDALVersion(1, 9)
def driver_from_extension(path): """ Attempt to auto-detect driver based on the extension. Parameters ---------- path: str or pathlike object The path to the dataset to write with. Returns ------- str: The name of the driver for the extension. """ try: # in case the path is a file handle # or a partsed path path = path.name except AttributeError: pass # dynamic driver extension lists added in GDAL 2 if GDALVersion().runtime() < GDALVersion.parse('2.0'): # basic list for GDAL 1 driver_extensions = { 'tif': 'GTiff', 'tiff': 'GTiff', 'png': 'PNG', 'jpg': 'JPEG', 'jpeg': 'JPEG', } else: driver_extensions = raster_driver_extensions() try: return driver_extensions[os.path.splitext(path)[-1].lstrip( ".").lower()] except KeyError: raise ValueError("Unable to detect driver. Please specify driver.")
def test_gdalversion_class_parse_err(): invalids = ('foo', 'foo.bar', '1', '1.', '1.a', '.1') for invalid in invalids: with pytest.raises(ValueError): GDALVersion.parse(invalid)
assert src.overviews(3) == [2] def test_build_overviews_two(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=OverviewResampling.nearest) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] @pytest.mark.xfail( GDALVersion.runtime() < GDALVersion.parse("2.0"), reason="Bilinear resampling not supported by GDAL < 2.0", ) def test_build_overviews_bilinear(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=OverviewResampling.bilinear) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] def test_build_overviews_average(data): inputfile = str(data.join('RGB.byte.tif'))
assert src.overviews(1) == [2] assert src.overviews(2) == [2] assert src.overviews(3) == [2] def test_build_overviews_two(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=Resampling.nearest) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] @pytest.mark.xfail(gdal_version < GDALVersion.parse('2.0'), reason="Bilinear resampling not supported by GDAL < 2.0") def test_build_overviews_bilinear(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=Resampling.bilinear) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] def test_build_overviews_average(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4]
assert src.overviews(2) == [2] assert src.overviews(3) == [2] def test_build_overviews_two(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=Resampling.nearest) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] @pytest.mark.xfail( gdal_version < GDALVersion.parse('2.0'), reason="Bilinear resampling not supported by GDAL < 2.0") def test_build_overviews_bilinear(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4] src.build_overviews(overview_factors, resampling=Resampling.bilinear) assert src.overviews(1) == [2, 4] assert src.overviews(2) == [2, 4] assert src.overviews(3) == [2, 4] def test_build_overviews_average(data): inputfile = str(data.join('RGB.byte.tif')) with rasterio.open(inputfile, 'r+') as src: overview_factors = [2, 4]