def test_gdal_grid_10(): if gdal_grid is None: return 'skip' ################# outfiles.append('tmp/grid_avdist_150_50_-15.tif') try: os.remove(outfiles[-1]) except: pass # Create a GDAL dataset from the values of "grid.csv". # We are using all the points from input dataset to average, so # the result is a raster filled with the same value in each node. gdaltest.runexternal(gdal_grid + ' -txe 440720.0 441920.0 -tye 3751320.0 3750120.0 -outsize 20 20 -ot Float64 -l grid -a average_distance_pts:radius1=150.0:radius2=50.0:angle=-15.0:min_points=0:nodata=0.0 data/grid.vrt ' + outfiles[-1]) # We should get the same values as in "ref_data/grid_avdist_150_50_-15.tif" ds = gdal.Open(outfiles[-1]) ds_ref = gdal.Open('ref_data/grid_avdist_150_50_-15.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref, verbose = 0) ds_ref = None if maxdiff > 1: gdaltest.compare_ds(ds, ds_ref, verbose = 1) gdaltest.post_reason('Image too different from the reference') return 'fail' ds = None return 'success'
def mrsid_online_3(): if gdaltest.jp2mrsid_drv is None: return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.j2k', 'Bretagne1.j2k'): return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.bmp', 'Bretagne1.bmp'): return 'skip' # checksum = 14443 on my PC tst = gdaltest.GDALTest('JP2MrSID', 'tmp/cache/Bretagne1.j2k', 1, None, filename_absolute=1) if tst.testOpen() != 'success': return 'fail' ds = gdal.Open('tmp/cache/Bretagne1.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne1.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref, verbose=0) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 17: print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) gdaltest.compare_ds(ds, ds_ref, verbose=1) gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def test_gdalwarp_12(): if test_cli_utilities.get_gdalwarp_path() is None: return 'skip' gdaltest.runexternal( test_cli_utilities.get_gdalwarp_path() + ' -ts 40 40 -rc tmp/testgdalwarp_gcp.tif tmp/testgdalwarp12.tif') ds = gdal.Open('tmp/testgdalwarp12.tif') if ds is None: return 'fail' ref_ds = gdal.Open('ref_data/testgdalwarp12.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds, verbose=0) if maxdiff > 1: gdaltest.compare_ds(ds, ref_ds, verbose=1) ref_ds = None gdaltest.post_reason('Image too different from reference') return 'fail' ds = None ref_ds = None return 'success'
def test_gdal_grid_15(use_quadtree): if gdal_grid is None: pytest.skip() ################# outfiles.append('tmp/grid_avdist_150_150.tif') try: os.remove(outfiles[-1]) except OSError: pass with gdaltest.config_option('GDAL_GRID_POINT_COUNT_THRESHOLD', '0' if use_quadtree else '1000000000'): # Create a GDAL dataset from the values of "grid.csv". # We are using all the points from input dataset to average, so # the result is a raster filled with the same value in each node. gdaltest.runexternal( gdal_grid + ' -txe 440720.0 441920.0 -tye 3751320.0 3750120.0 -outsize 20 20 -ot Float64 -l grid -a average_distance:radius1=150.0:radius2=150.0:angle=0.0:min_points=0:nodata=0.0 data/grid.vrt ' + outfiles[-1]) # We should get the same values as in "ref_data/grid_avdist_150_150.tif" ds = gdal.Open(outfiles[-1]) ds_ref = gdal.Open('ref_data/grid_avdist_150_150.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref, verbose=0) if maxdiff > 1: gdaltest.compare_ds(ds, ds_ref, verbose=1) pytest.fail('Image too different from the reference') ds = None ds_ref = None
def ecw_online_3(): if gdaltest.jp2ecw_drv is None: return "skip" if gdaltest.ecw_drv.major_version > 3: gdaltest.post_reason("4.x SDK gets unreliable results for jp2") return "skip" if not gdaltest.download_file("http://www.openjpeg.org/samples/Bretagne1.j2k", "Bretagne1.j2k"): return "skip" if not gdaltest.download_file("http://www.openjpeg.org/samples/Bretagne1.bmp", "Bretagne1.bmp"): return "skip" # checksum = 16481 on my PC tst = gdaltest.GDALTest("JP2ECW", "tmp/cache/Bretagne1.j2k", 1, None, filename_absolute=1) if tst.testOpen() != "success": return "fail" ds = gdal.Open("tmp/cache/Bretagne1.j2k") ds_ref = gdal.Open("tmp/cache/Bretagne1.bmp") maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 16: gdaltest.post_reason("Image too different from reference") return "fail" return "success"
def test_gdaldem_lib_hillshade_azimuth(): from sys import version_info src_ds = gdal.GetDriverByName('MEM').Create('', 100, 100, 1) src_ds.SetGeoTransform([2,0.01,0,49,0,-0.01]) sr = osr.SpatialReference() sr.ImportFromEPSG(4326) src_ds.SetProjection(sr.ExportToWkt()) for j in range(100): data = '' for i in range(100): val = 255 - 5 * max(abs(50-i),abs(50-j)) data = data + ('%c' % (val)) if version_info >= (3,0,0): data = bytes(data, 'ISO-8859-1') src_ds.GetRasterBand(1).WriteRaster(0,j,100,1,data) # Light from the east ds = gdal.DEMProcessing('', src_ds, 'hillshade', format = 'MEM', azimuth = 90, scale = 111120, zFactor = 100) if ds is None: return 'fail' ds_ref = gdal.Open('data/pyramid_shaded_ref.tif') if gdaltest.compare_ds(ds, ds_ref, verbose = 1) > 1: gdaltest.post_reason('Bad checksum') return 'fail' ds = None ds_ref = None return 'success'
def ecw_online_4(): if gdaltest.jp2ecw_drv is None: return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.j2k', 'Bretagne2.j2k'): return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.bmp', 'Bretagne2.bmp'): return 'skip' # Checksum = 53054 on my PC tst = gdaltest.GDALTest( 'JP2ECW', 'tmp/cache/Bretagne2.j2k', 1, None, filename_absolute = 1 ) if tst.testOpen() != 'success': return 'fail' ds = gdal.Open('tmp/cache/Bretagne2.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne2.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref, width = 256, height = 256) # print(ds.GetRasterBand(1).Checksum()) # print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 1: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def jpeg2000_online_4(): if gdaltest.jpeg2000_drv is None: return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.j2k', 'Bretagne2.j2k'): return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.bmp', 'Bretagne2.bmp'): return 'skip' tst = gdaltest.GDALTest('JPEG2000', 'tmp/cache/Bretagne2.j2k', 1, None, filename_absolute=1) # Jasper cannot handle this image # Actually, a patched Jasper can ;-) if tst.testOpen() != 'success': gdaltest.post_reason('Expected failure: Jasper cannot handle this image yet') return 'expected_fail' ds = gdal.Open('tmp/cache/Bretagne2.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne2.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 17: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def ecw_17(): if gdaltest.jp2ecw_drv is None: return 'skip' if gdaltest.ecw_drv.major_version > 3: gdaltest.post_reason('4.x SDK gets unreliable results for jp2') return 'skip' ds = gdal.Open('data/int16.jp2') ds_ref = gdal.Open('data/int16.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Quite a bit of difference... if maxdiff > 6: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def test_gdaldem_hillshade_azimuth(): if test_cli_utilities.get_gdaldem_path() is None: pytest.skip() from sys import version_info ds = gdal.GetDriverByName('GTiff').Create('tmp/pyramid.tif', 100, 100, 1) ds.SetGeoTransform([2, 0.01, 0, 49, 0, -0.01]) sr = osr.SpatialReference() sr.ImportFromEPSG(4326) ds.SetProjection(sr.ExportToWkt()) for j in range(100): data = '' for i in range(100): val = 255 - 5 * max(abs(50 - i), abs(50 - j)) data = data + ('%c' % (val)) if version_info >= (3, 0, 0): data = bytes(data, 'ISO-8859-1') ds.GetRasterBand(1).WriteRaster(0, j, 100, 1, data) ds = None # Light from the east gdaltest.runexternal( test_cli_utilities.get_gdaldem_path() + ' hillshade -s 111120 -z 100 -az 90 -co COMPRESS=LZW tmp/pyramid.tif tmp/pyramid_shaded.tif' ) ds_ref = gdal.Open('data/pyramid_shaded_ref.tif') ds = gdal.Open('tmp/pyramid_shaded.tif') assert gdaltest.compare_ds(ds, ds_ref, verbose=1) <= 1, 'Bad checksum' ds = None ds_ref = None
def test_gdaldem_color_relief_vrt(): if test_cli_utilities.get_gdaldem_path() is None: return 'skip' gdaltest.runexternal(test_cli_utilities.get_gdaldem_path() + ' color-relief -of VRT ../gdrivers/data/n43.dt0 data/color_file.txt tmp/n43_colorrelief.vrt') src_ds = gdal.Open('../gdrivers/data/n43.dt0') ds = gdal.Open('tmp/n43_colorrelief.vrt') if ds is None: return 'fail' ds_ref = gdal.Open('tmp/n43_colorrelief.tif') if gdaltest.compare_ds(ds, ds_ref, verbose = 0) > 1: gdaltest.post_reason('Bad checksum') return 'fail' ds_ref = None src_gt = src_ds.GetGeoTransform() dst_gt = ds.GetGeoTransform() for i in range(6): if abs(src_gt[i] - dst_gt[i]) > 1e-10: gdaltest.post_reason('Bad geotransform') return 'fail' dst_wkt = ds.GetProjectionRef() if dst_wkt.find('AUTHORITY["EPSG","4326"]') == -1: gdaltest.post_reason('Bad projection') return 'fail' src_ds = None ds = None return 'success'
def test_gdaldem_color_relief_vrt(): if test_cli_utilities.get_gdaldem_path() is None: pytest.skip() gdaltest.runexternal( test_cli_utilities.get_gdaldem_path() + ' color-relief -of VRT ../gdrivers/data/n43.dt0 data/color_file.txt tmp/n43_colorrelief.vrt' ) src_ds = gdal.Open('../gdrivers/data/n43.dt0') ds = gdal.Open('tmp/n43_colorrelief.vrt') assert ds is not None ds_ref = gdal.Open('tmp/n43_colorrelief.tif') assert gdaltest.compare_ds(ds, ds_ref, verbose=0) <= 1, 'Bad checksum' ds_ref = None src_gt = src_ds.GetGeoTransform() dst_gt = ds.GetGeoTransform() for i in range(6): assert abs(src_gt[i] - dst_gt[i]) <= 1e-10, 'Bad geotransform' dst_wkt = ds.GetProjectionRef() assert dst_wkt.find('AUTHORITY["EPSG","4326"]') != -1, 'Bad projection' src_ds = None ds = None
def test_jpeg2000_online_3(): if not gdaltest.download_file( 'http://www.openjpeg.org/samples/Bretagne1.j2k', 'Bretagne1.j2k'): pytest.skip() if not gdaltest.download_file( 'http://www.openjpeg.org/samples/Bretagne1.bmp', 'Bretagne1.bmp'): pytest.skip() # Checksum = 14443 on my PC tst = gdaltest.GDALTest('JPEG2000', 'tmp/cache/Bretagne1.j2k', 1, None, filename_absolute=1) tst.testOpen() ds = gdal.Open('tmp/cache/Bretagne1.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne1.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression assert maxdiff <= 17, 'Image too different from reference'
def test_gdaldem_hillshade_azimuth(): if test_cli_utilities.get_gdaldem_path() is None: return 'skip' from sys import version_info ds = gdal.GetDriverByName('GTiff').Create('tmp/pyramid.tif', 100, 100, 1) ds.SetGeoTransform([2,0.01,0,49,0,-0.01]) sr = osr.SpatialReference() sr.ImportFromEPSG(4326) ds.SetProjection(sr.ExportToWkt()) for j in range(100): data = '' for i in range(100): val = 255 - 5 * max(abs(50-i),abs(50-j)) data = data + ('%c' % (val)) if version_info >= (3,0,0): data = bytes(data, 'ISO-8859-1') ds.GetRasterBand(1).WriteRaster(0,j,100,1,data) ds = None # Light from the east gdaltest.runexternal(test_cli_utilities.get_gdaldem_path() + ' hillshade -s 111120 -z 100 -az 90 -co COMPRESS=LZW tmp/pyramid.tif tmp/pyramid_shaded.tif') ds_ref = gdal.Open('data/pyramid_shaded_ref.tif') ds = gdal.Open('tmp/pyramid_shaded.tif') if gdaltest.compare_ds(ds, ds_ref, verbose = 1) > 1: gdaltest.post_reason('Bad checksum') return 'fail' ds = None ds_ref = None return 'success'
def test_mrsid_online_4(): if gdaltest.jp2mrsid_drv is None: pytest.skip() if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.j2k', 'Bretagne2.j2k'): pytest.skip() if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.bmp', 'Bretagne2.bmp'): pytest.skip() # Checksum = 53186 on my PC tst = gdaltest.GDALTest('JP2MrSID', 'tmp/cache/Bretagne2.j2k', 1, None, filename_absolute=1) tst.testOpen() ds = gdal.Open('tmp/cache/Bretagne2.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne2.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref, width=256, height=256) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 1: print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) pytest.fail('Image too different from reference')
def jp2openjpeg_online_4(): if gdaltest.jp2openjpeg_drv is None: return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.j2k', 'Bretagne2.j2k'): return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne2.bmp', 'Bretagne2.bmp'): return 'skip' tst = gdaltest.GDALTest( 'JP2OpenJPEG', 'tmp/cache/Bretagne2.j2k', 1, None, filename_absolute = 1 ) if tst.testOpen() != 'success': return 'expected_fail' ds = gdal.Open('tmp/cache/Bretagne2.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne2.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref, 0, 0, 1024, 1024) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 10: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def test_jpeg2000_online_3(): if gdaltest.jpeg2000_drv is None: pytest.skip() if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.j2k', 'Bretagne1.j2k'): pytest.skip() if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.bmp', 'Bretagne1.bmp'): pytest.skip() # Checksum = 14443 on my PC tst = gdaltest.GDALTest('JPEG2000', 'tmp/cache/Bretagne1.j2k', 1, None, filename_absolute=1) tst.testOpen() ds = gdal.Open('tmp/cache/Bretagne1.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne1.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression assert maxdiff <= 17, 'Image too different from reference'
def test_gdalwarp_lib_14(): ds = gdal.Warp('', '../gcore/data/byte.tif', format = 'MEM', width = 40, height = 40, resampleAlg = gdal.GRIORA_Lanczos) ref_ds = gdal.Open('ref_data/testgdalwarp14.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds, verbose=0) ref_ds = None if maxdiff > 1: gdaltest.compare_ds(ds, ref_ds, verbose=1) gdaltest.post_reason('Image too different from reference') return 'fail' ds = None return 'success'
def test_pct2rgb_1(): try: from osgeo import gdalnumeric gdalnumeric.BandRasterIONumPy except: return 'skip' script_path = test_py_scripts.get_py_script('pct2rgb') if script_path is None: return 'skip' test_py_scripts.run_py_script(script_path, 'pct2rgb', 'tmp/test_rgb2pct_1.tif tmp/test_pct2rgb_1.tif' ) ds = gdal.Open('tmp/test_pct2rgb_1.tif') if ds.GetRasterBand(1).Checksum() != 20963: print(ds.GetRasterBand(1).Checksum()) return 'fail' ori_ds = gdal.Open('../gcore/data/rgbsmall.tif') max_diff = gdaltest.compare_ds(ori_ds, ds) if max_diff > 18: return 'fail' ds = None ori_ds = None return 'success'
def test_gdaldem_lib_hillshade_azimuth(): src_ds = gdal.GetDriverByName('MEM').Create('', 100, 100, 1) src_ds.SetGeoTransform([2, 0.01, 0, 49, 0, -0.01]) sr = osr.SpatialReference() sr.ImportFromEPSG(4326) src_ds.SetProjection(sr.ExportToWkt()) for j in range(100): data = '' for i in range(100): val = 255 - 5 * max(abs(50 - i), abs(50 - j)) data = data + chr(val) data = data.encode('ISO-8859-1') src_ds.GetRasterBand(1).WriteRaster(0, j, 100, 1, data) # Light from the east ds = gdal.DEMProcessing('', src_ds, 'hillshade', format='MEM', azimuth=90, scale=111120, zFactor=100) assert ds is not None ds_ref = gdal.Open('data/pyramid_shaded_ref.tif') assert gdaltest.compare_ds(ds, ds_ref, verbose=1) <= 1, 'Bad checksum' ds = None ds_ref = None
def test_gdaldem_color_relief_vrt(): if test_cli_utilities.get_gdaldem_path() is None: return 'skip' gdaltest.runexternal( test_cli_utilities.get_gdaldem_path() + ' color-relief -of VRT ../gdrivers/data/n43.dt0 data/color_file.txt tmp/n43_colorrelief.vrt' ) src_ds = gdal.Open('../gdrivers/data/n43.dt0') ds = gdal.Open('tmp/n43_colorrelief.vrt') if ds is None: return 'fail' ds_ref = gdal.Open('tmp/n43_colorrelief.tif') if gdaltest.compare_ds(ds, ds_ref, verbose=0) > 1: gdaltest.post_reason('Bad checksum') return 'fail' ds_ref = None src_gt = src_ds.GetGeoTransform() dst_gt = ds.GetGeoTransform() for i in range(6): if abs(src_gt[i] - dst_gt[i]) > 1e-10: gdaltest.post_reason('Bad geotransform') return 'fail' dst_wkt = ds.GetProjectionRef() if dst_wkt.find('AUTHORITY["EPSG","4326"]') == -1: gdaltest.post_reason('Bad projection') return 'fail' src_ds = None ds = None return 'success'
def test_gdalwarp_33(): if test_cli_utilities.get_gdalwarp_path() is None: pytest.skip() if test_cli_utilities.get_gdal_translate_path() is None: pytest.skip() gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -dstalpha ../gcore/data/ycbcr_with_mask.tif tmp/testgdalwarp33.tif') src_ds = gdal.Open('../gcore/data/ycbcr_with_mask.tif') ds = gdal.Open('tmp/testgdalwarp33.tif') assert ds is not None # There are expected diffs because of the artifacts due to JPEG compression in 8x8 blocks # that are partially masked. gdalwarp will remove those artifacts max_diff = gdaltest.compare_ds(src_ds, ds) assert max_diff <= 40 src_ds = None gdaltest.runexternal(test_cli_utilities.get_gdal_translate_path() + ' -expand gray GTIFF_DIR:2:../gcore/data/ycbcr_with_mask.tif tmp/testgdalwarp33_mask.tif') mask_ds = gdal.Open('tmp/testgdalwarp33_mask.tif') expected_cs = mask_ds.GetRasterBand(1).Checksum() mask_ds = None cs = ds.GetRasterBand(4).Checksum() ds = None assert cs == expected_cs, 'did not get expected checksum on alpha band'
def ecw_17(): if gdaltest.jp2ecw_drv is None: return 'skip' if gdaltest.ecw_drv.major_version > 3: gdaltest.post_reason( '4.x SDK gets unreliable results for jp2') return 'skip' ds = gdal.Open( 'data/int16.jp2' ) ds_ref = gdal.Open( 'data/int16.tif' ) maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Quite a bit of difference... if maxdiff > 6: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def ecw_online_3(): if gdaltest.jp2ecw_drv is None: return 'skip' if gdaltest.ecw_drv.major_version > 3: gdaltest.post_reason( '4.x SDK gets unreliable results for jp2') return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.j2k', 'Bretagne1.j2k'): return 'skip' if not gdaltest.download_file('http://www.openjpeg.org/samples/Bretagne1.bmp', 'Bretagne1.bmp'): return 'skip' # checksum = 16481 on my PC tst = gdaltest.GDALTest( 'JP2ECW', 'tmp/cache/Bretagne1.j2k', 1, None, filename_absolute = 1 ) if tst.testOpen() != 'success': return 'fail' ds = gdal.Open('tmp/cache/Bretagne1.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne1.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 16: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def ecw_online_4(): if gdaltest.jp2ecw_drv is None: return "skip" if not gdaltest.download_file("http://www.openjpeg.org/samples/Bretagne2.j2k", "Bretagne2.j2k"): return "skip" if not gdaltest.download_file("http://www.openjpeg.org/samples/Bretagne2.bmp", "Bretagne2.bmp"): return "skip" # Checksum = 53054 on my PC tst = gdaltest.GDALTest("JP2ECW", "tmp/cache/Bretagne2.j2k", 1, None, filename_absolute=1) if tst.testOpen() != "success": return "fail" ds = gdal.Open("tmp/cache/Bretagne2.j2k") ds_ref = gdal.Open("tmp/cache/Bretagne2.bmp") maxdiff = gdaltest.compare_ds(ds, ds_ref, width=256, height=256) # print(ds.GetRasterBand(1).Checksum()) # print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 1: gdaltest.post_reason("Image too different from reference") return "fail" return "success"
def test_pct2rgb_1(): try: from osgeo import gdalnumeric gdalnumeric.BandRasterIONumPy except: return 'skip' script_path = test_py_scripts.get_py_script('pct2rgb') if script_path is None: return 'skip' test_py_scripts.run_py_script( script_path, 'pct2rgb', 'tmp/test_rgb2pct_1.tif tmp/test_pct2rgb_1.tif') ds = gdal.Open('tmp/test_pct2rgb_1.tif') if ds.GetRasterBand(1).Checksum() != 20963: print(ds.GetRasterBand(1).Checksum()) return 'fail' ori_ds = gdal.Open('../gcore/data/rgbsmall.tif') max_diff = gdaltest.compare_ds(ori_ds, ds) if max_diff > 18: return 'fail' ds = None ori_ds = None return 'success'
def test_mrsid_online_4(): if gdaltest.jp2mrsid_drv is None: pytest.skip() if not gdaltest.download_file( 'http://www.openjpeg.org/samples/Bretagne2.j2k', 'Bretagne2.j2k'): pytest.skip() if not gdaltest.download_file( 'http://www.openjpeg.org/samples/Bretagne2.bmp', 'Bretagne2.bmp'): pytest.skip() # Checksum = 53186 on my PC tst = gdaltest.GDALTest('JP2MrSID', 'tmp/cache/Bretagne2.j2k', 1, None, filename_absolute=1) tst.testOpen() ds = gdal.Open('tmp/cache/Bretagne2.j2k') ds_ref = gdal.Open('tmp/cache/Bretagne2.bmp') maxdiff = gdaltest.compare_ds(ds, ds_ref, width=256, height=256) ds = None ds_ref = None # Difference between the image before and after compression if maxdiff > 1: print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) pytest.fail('Image too different from reference')
def test_gdalwarp_11(): if test_cli_utilities.get_gdalwarp_path() is None: pytest.skip() gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -ts 40 40 -rb tmp/testgdalwarp_gcp.tif tmp/testgdalwarp11.tif') ds = gdal.Open('tmp/testgdalwarp11.tif') assert ds is not None ref_ds = gdal.Open('ref_data/testgdalwarp11.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds, verbose=0) ref_ds = None if maxdiff > 1: gdaltest.compare_ds(ds, ref_ds, verbose=1) pytest.fail('Image too different from reference') ds = None
def postgisraster_compare_small_world(): if gdaltest.postgisrasterDriver is None: return 'skip' src_ds = gdal.Open('data/small_world.tif') dst_ds = gdal.Open(gdaltest.postgisraster_connection_string + "table='small_world'") # dataset actually contains many sub-datasets. test the first one dst_ds = gdal.Open(dst_ds.GetMetadata('SUBDATASETS')['SUBDATASET_1_NAME']) diff = gdaltest.compare_ds(src_ds, dst_ds, width=40, height=20, verbose=1) return 'success' if diff == 0 else 'fail'
def wktraster_compare_utm(): if gdaltest.wktrasterDriver is None: return 'skip' src_ds = gdal.Open('data/utm.tif') dst_ds = gdal.Open(gdaltest.wktraster_connection_string + "table='utm'") diff = gdaltest.compare_ds(src_ds, dst_ds, verbose=1) if diff == 0: return 'success' else: return 'fail'
def wktraster_compare_small_world(): if gdaltest.wktrasterDriver is None: return 'skip' src_ds = gdal.Open( 'data/small_world.tif' ) dst_ds = gdal.Open( gdaltest.wktraster_connection_string + "table='small_world'" ) diff = gdaltest.compare_ds(src_ds, dst_ds, verbose = 1) if diff == 0: return 'success' else: return 'fail'
def postgisraster_compare_utm(): if gdaltest.postgisrasterDriver is None: return 'skip' src_ds = gdal.Open('data/utm.tif') with gdaltest.error_handler(): dst_ds = gdal.Open(gdaltest.postgisraster_connection_string + "table='utm'") # dataset actually contains many sub-datasets. test the first one dst_ds = gdal.Open(dst_ds.GetMetadata('SUBDATASETS')['SUBDATASET_1_NAME']) diff = gdaltest.compare_ds(src_ds, dst_ds, width=100, height=100, verbose=1) return 'success' if diff == 0 else 'fail'
def test_postgisraster_compare_small_world(): if gdaltest.postgisrasterDriver is None: pytest.skip() src_ds = gdal.Open('data/small_world.tif') with gdaltest.error_handler(): dst_ds = gdal.Open(gdaltest.postgisraster_connection_string + "table='small_world'") # dataset actually contains many sub-datasets. test the first one dst_ds = gdal.Open(dst_ds.GetMetadata('SUBDATASETS')['SUBDATASET_1_NAME']) diff = gdaltest.compare_ds(src_ds, dst_ds, width=40, height=20, verbose=1) assert diff == 0
def test_gdalwarp_11(): if test_cli_utilities.get_gdalwarp_path() is None: return 'skip' gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -ts 40 40 -rb tmp/testgdalwarp_gcp.tif tmp/testgdalwarp11.tif') ds = gdal.Open('tmp/testgdalwarp11.tif') if ds is None: return 'fail' ref_ds = gdal.Open('ref_data/testgdalwarp11.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds, verbose=0) ref_ds = None if maxdiff > 1: gdaltest.compare_ds(ds, ref_ds, verbose=1) gdaltest.post_reason('Image too different from reference') return 'fail' ds = None return 'success'
def test_warp_1_float(): gdaltest.tiff_drv = gdal.GetDriverByName('GTiff') if gdaltest.tiff_drv is None: pytest.skip() ds = gdal.Open('data/utmsmall_near_float.vrt') ref_ds = gdal.Open('data/utmsmall_near.tiff') maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None assert maxdiff <= 1, 'Image too different from reference'
def test_warp_4_float_downsize(): gdaltest.tiff_drv = gdal.GetDriverByName('GTiff') if gdaltest.tiff_drv is None: pytest.skip() ds = gdal.Open('data/utmsmall_cubicspline_wt_float32.vrt') ref_ds = gdal.Open('data/utmsmall_cubicspline_2.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None assert maxdiff <= 1, 'Image too different from reference'
def test_jpeg2000_3(): ds = gdal.Open('data/jpeg2000/int16.jp2') ds_ref = gdal.Open('data/int16.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Quite a bit of difference... assert maxdiff <= 6, 'Image too different from reference'
def test_gdalwarp_14(): if test_cli_utilities.get_gdalwarp_path() is None: pytest.skip() gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -ts 40 40 -r lanczos tmp/testgdalwarp_gcp.tif tmp/testgdalwarp14.tif') ds = gdal.Open('tmp/testgdalwarp14.tif') assert ds is not None ref_ds = gdal.Open('ref_data/testgdalwarp14.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds) ref_ds = None assert maxdiff <= 1, 'Image too different from reference' ds = None
def kmlsuperoverlay_1(): src_ds = gdal.Open('data/small_world.tif') ds = gdal.GetDriverByName('KMLSUPEROVERLAY').CreateCopy('/vsimem/kmlout.kmz', src_ds, options = [ 'FORMAT=PNG'] ) ds = None ds = gdal.Open('/vsizip//vsimem/kmlout.kmz/0/0/0.png') diff = gdaltest.compare_ds(src_ds, ds) ds = None src_ds = None gdal.Unlink('/vsimem/kmlout.kmz') if diff != 0: return 'fail' return 'success'
def warp_1_ushort(): gdaltest.tiff_drv = gdal.GetDriverByName('GTiff') if gdaltest.tiff_drv is None: return 'skip' ds = gdal.Open('data/utmsmall_near_ushort.vrt') ref_ds = gdal.Open('data/utmsmall_near.tiff') maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None if maxdiff > 1: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def warp_4_float_downsize(): gdaltest.tiff_drv = gdal.GetDriverByName('GTiff') if gdaltest.tiff_drv is None: return 'skip' ds = gdal.Open('data/utmsmall_cubicspline_wt_float32.vrt') ref_ds = gdal.Open('data/utmsmall_cubicspline_2.tif') maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None if maxdiff > 1: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def warp_1_float(): gdaltest.tiff_drv = gdal.GetDriverByName( 'GTiff' ) if gdaltest.tiff_drv is None: return 'skip' ds = gdal.Open( 'data/utmsmall_near_float.vrt' ) ref_ds = gdal.Open( 'data/utmsmall_near.tiff' ) maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None if maxdiff > 1: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def test_jpeg2000_3(): if gdaltest.jpeg2000_drv is None: pytest.skip() ds = gdal.Open('data/int16.jp2') ds_ref = gdal.Open('data/int16.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref) print(ds.GetRasterBand(1).Checksum()) print(ds_ref.GetRasterBand(1).Checksum()) ds = None ds_ref = None # Quite a bit of difference... assert maxdiff <= 6, 'Image too different from reference'
def warp_4_float_downsize(): gdaltest.tiff_drv = gdal.GetDriverByName( 'GTiff' ) if gdaltest.tiff_drv is None: return 'skip' ds = gdal.Open( 'data/utmsmall_cubicspline_wt_float32.vrt' ) ref_ds = gdal.Open( 'data/utmsmall_cubicspline_2.tif' ) maxdiff = gdaltest.compare_ds(ds, ref_ds) ds = None ref_ds = None if maxdiff > 1: gdaltest.post_reason('Image too different from reference') return 'fail' return 'success'
def test_gdal_grid_6(use_quadtree): if gdal_grid is None: pytest.skip() ################# outfiles.append('tmp/grid_average_190_190.tif') try: os.remove(outfiles[-1]) except OSError: pass with gdaltest.config_option('GDAL_GRID_POINT_COUNT_THRESHOLD', '0' if use_quadtree else '1000000000'): # Create a GDAL dataset from the values of "grid.csv". # This time using a circular window. gdaltest.runexternal( gdal_grid + ' -txe 440720.0 441920.0 -tye 3751320.0 3750120.0 -outsize 20 20 -ot Float64 -l grid -a average:radius1=190.0:radius2=190.0:angle=0.0:min_points=0:nodata=0.0 data/grid.vrt ' + outfiles[-1]) # We should get the same values as in "ref_data/grid_average_190_190.tif" ds = gdal.Open(outfiles[-1]) ds_ref = gdal.Open('ref_data/grid_average_190_190.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref, verbose=0) ds_ref = None if maxdiff > 1: gdaltest.compare_ds(ds, ds_ref, verbose=1) pytest.fail('Image too different from the reference') ds = None ################# outfiles.append('tmp/grid_average_90_90_8p.tif') try: os.remove(outfiles[-1]) except OSError: pass # Create a GDAL dataset from the values of "grid.csv". # Circular window, shifted, test min points and NODATA setting. gdaltest.runexternal( gdal_grid + ' -txe 440721.0 441920.0 -tye 3751321.0 3750120.0 -outsize 20 20 -ot Float64 -l grid -a average:radius1=90.0:radius2=90.0:angle=0.0:min_points=8:nodata=0.0 data/grid.vrt ' + outfiles[-1]) # We should get the same values as in "ref_data/grid_average_90_90_8p.tif" ds = gdal.Open(outfiles[-1]) ds_ref = gdal.Open('ref_data/grid_average_90_90_8p.tif') maxdiff = gdaltest.compare_ds(ds, ds_ref, verbose=0) ds_ref = None if maxdiff > 1: gdaltest.compare_ds(ds, ds_ref, verbose=1) pytest.fail('Image too different from the reference') ds = None
def kmlsuperoverlay_1(): src_ds = gdal.Open('data/small_world.tif') ds = gdal.GetDriverByName('KMLSUPEROVERLAY').CreateCopy( '/vsimem/kmlout.kmz', src_ds, options=['FORMAT=PNG']) ds = None ds = gdal.Open('/vsizip//vsimem/kmlout.kmz/0/0/0.png') diff = gdaltest.compare_ds(src_ds, ds) ds = None src_ds = None gdal.Unlink('/vsimem/kmlout.kmz') if diff != 0: return 'fail' return 'success'