def test_gdal_calculations_py_17(): try: from gdal_calculations import NewDataset, ArrayDataset, Dataset, Env Env.tempdir='/vsimem' #Regular raster f='data/tgc_geo.tif' dsf=Dataset(f) dat=dsf.ReadAsArray() dsn=NewDataset('/vsimem/test.tif',prototype_ds=dsf) dsn.write_data(dat) ok=(dsn.ReadAsArray())==(dsf.ReadAsArray()) assert ok.all(), "dsn.ReadAsArray()!=dsf.ReadAsArray()" assert dsn.RasterXSize==dsf.RasterXSize, "dsn.RasterXSize!=dsf.RasterXSize" assert dsn.RasterYSize==dsf.RasterYSize, "dsn.RasterYSize!=dsf.RasterYSize" assert dsn.GetGeoTransform()==dsf.GetGeoTransform(), "dsn.GetGeoTransform()!=dsf.GetGeoTransform()" assert dsn.GetProjection()==dsf.GetProjection(), "dsn.GetProjection()!=dsf.GetProjection()" dsa=ArrayDataset(dat,prototype_ds=dsf) ok=(dsa.ReadAsArray())==(dsf.ReadAsArray()) assert ok.all(), "dsa.ReadAsArray()!=dsf.ReadAsArray()" assert dsa.RasterXSize==dsf.RasterXSize, "dsa.RasterXSize!=dsf.RasterXSize" assert dsa.RasterYSize==dsf.RasterYSize, "dsa.RasterYSize!=dsf.RasterYSize" assert dsa.GetGeoTransform()==dsf.GetGeoTransform(), "dsa.GetGeoTransform()!=dsf.GetGeoTransform()" assert dsa.GetProjection()==dsf.GetProjection(), "dsa.GetProjection()!=dsf.GetProjection()" return 'success' except AssertionError: return fail() finally: cleanup()
def test_gdal_calculations_py_4(): ''' Test dataset reads and getattr calls ''' try: from gdal_calculations import Env,Dataset Env.tiled=True f='data/tgc_geo.tif' dsf=Dataset(f) #ReadAsArray() (also a __getattr__ gdal.Dataset method) data=dsf.ReadAsArray() assert data.shape==(100,100), "data.shape==%s"%repr(data.shape) data=None #ReadBlocksAsArray() (gdal_calculations.Dataset method) for block in dsf.ReadBlocksAsArray(): assert block.data.shape==(40,100), "data.shape==%s"%repr(block.data.shape) break del block #__getattr__ np attribute assert dsf.shape==(40,100), "dsf.shape==%s"%repr(dsf.shape) #ReadBlocksAsArray() (gdal_calculations.Dataset method) Env.ntiles=2 for block in dsf.ReadBlocksAsArray(): assert block.data.shape==(80,100), "data.shape==%s"%repr(block.data.shape) break del block Env.ntiles=1 #__getattr__ np method that doesn't return a temp dataset Env.tiled=False s=dsf.sum() assert s==50005000, "dsf.sum()==%s"%repr(s) s=dsf.max() assert s==10000, "dsf.max()==%s"%repr(s) #__getattr__ np method that returns a temp dataset Env.tiled=True s=dsf.astype(np.int32) assert isinstance(s,Dataset), "isinstance(%s,Dataset)!=True"%repr(s) del s #__getattr__ gdal.Dataset method gt=dsf.GetGeoTransform() assert gt==(147.5, 0.01, 0.0, -34.5, 0.0, -0.01), "dsf.GetGeoTransform()==%s"%repr(gt) del gt Env.tiled=True dsf=None return 'success' except ImportError: return 'skip' except AssertionError: return fail() finally:cleanup()