def testCreateGdalGeoTiffDatasetGeoreferencedSimple(self): destPath = os.path.join(self.dir, 'test-create-gdal-dataset-georeferenced-simple.tif') image = Image.open(self.file) ndarray = maskImage(image, self.testData) offset = getOffsetValues(self.testData, image) driver = gdal.GetDriverByName("GTiff") if driver is None: raise ValueError("Can't find GeoTiff Driver") response = createGdalDataset(image, ndarray, driver, offset, destPath) print '=====================' print 'Test if testCreateGdalGeoTiffDatasetGeoreferencedSimple ...' print 'Response: %s'%response print '=====================' geoTransform = gdal.GCPsToGeoTransform(correctGCPOffset(self.testGcp, offset)) geoProj = SRC_DICT_WKT[4314] response.SetProjection(geoProj) response.SetGeoTransform(geoTransform) response.SetProjection(geoProj) response.FlushCache() # clear up del image del ndarray del response if os.path.exists(destPath): os.remove(destPath)
def testCreateGdalGeoTiffDataset(self): destPath = os.path.join(self.dir, 'test-create-gdal-dataset.tif') image = Image.open(self.file) ndarray = maskImage(image, self.testData) offset = getOffsetValues(self.testData, image) driver = gdal.GetDriverByName("GTiff") if driver is None: raise ValueError("Can't find GeoTiff Driver") response = createGdalDataset(image, ndarray, driver, offset, destPath) print '=====================' print 'Test if testCreateGdalGeoTiffDataset ...' print 'Response: %s'%response print '=====================' self.assertTrue(isinstance(response, gdal.Dataset), 'Response is not of type gdal dataset') self.assertEqual(response.RasterXSize, 7130, 'Response dataset has not expected x size.') self.assertEqual(response.RasterYSize, 6481, 'Response dataset has not expected y size.') self.assertEqual(response.RasterCount, 4, 'Response dataset has not expected band count.') #response.FlushCache() # clear up del image del ndarray del response if os.path.exists(destPath): os.remove(destPath)
def testCreateGdalGeoTiffDatasetGeoreferenced(self): destPath = os.path.join(self.dir, 'test-create-gdal-dataset-georeferenced.tif') destPath2 = os.path.join(self.dir, 'test-create-gdal-dataset-georeferenced2.tif') image = Image.open(self.file) ndarray = maskImage(image, self.testData) offset = getOffsetValues(self.testData, image) driver = gdal.GetDriverByName("GTiff") if driver is None: raise ValueError("Can't find GeoTiff Driver") response = createGdalDataset(image, ndarray, driver, None, destPath) response1 = createGdalDataset(image, ndarray, driver, offset, destPath2) print '=====================' print 'Test if testCreateGdalGeoTiffDataset ...' print 'Response: %s'%response print '=====================' geoTransform = gdal.GCPsToGeoTransform(self.testGcp) geoTransform1 = gdal.GCPsToGeoTransform(correctGCPOffset(self.testGcp, offset)) geoProj = SRC_DICT_WKT[4314] response.SetProjection(geoProj) response.SetGeoTransform(geoTransform) response1.SetProjection(geoProj) response1.SetGeoTransform(geoTransform1) response.FlushCache() response1.FlushCache() # clear up del image del ndarray del response del response1 # create vrt dst_path = os.path.join(self.dir, 'test_createVrt.vrt') dataset = gdal.Open(self.file, GA_ReadOnly) vrt = createVrt(dataset, dst_path) vrt.SetProjection(geoProj) vrt.SetGeoTransform(geoTransform) vrt.FlushCache() del vrt # create georef classic dst_path2 = os.path.join(self.dir, 'test-mtb-georef.tif') logger = createLogger('GeoreferenceTest', logging.DEBUG) georeference(self.file, dst_path2, self.dir, geoTransform, 4314, 'polynom', logger) # if os.path.exists(destPath): # os.remove(destPath) # create georef clipped dst_path3 = os.path.join(self.dir, 'test-mtb-georef-clipped.tif') clipPath = createClipShapefile(self.bbox, os.path.join(self.dir, 'test_shp'), 4314) response = georeference(self.file, dst_path3, self.dir, geoTransform, 4314, 'polynom', logger, clipPath)
def testGetOffsetValues(self): response = getOffsetValues(self.testData, Image.open(self.file)) print '=====================' print 'Test if testGetOffsetValues ...' print 'Response: %s'%response print '=====================' self.assertTrue(isinstance(response, dict), 'Response is not of type dictionary') self.assertTrue('top' in response, 'Missing key in response') self.assertTrue('left' in response, 'Missing key in response') self.assertTrue('right' in response, 'Missing key in response') self.assertTrue('bottom' in response, 'Missing key in response')
def testResampleGeoreferencedImageSimple(self): destPath = os.path.join(self.dir, 'test-create-gdal-dataset-resample-simple.tif') image = Image.open(self.file) ndarray = maskImage(image, self.testData) offset = getOffsetValues(self.testData, image) driver = gdal.GetDriverByName("MEM") if driver is None: raise ValueError("Can't find Mem Driver") srcDataset = createGdalDataset(image, ndarray, driver, offset) outputDriver = gdal.GetDriverByName('GTiff') if outputDriver is None: raise ValueError("Can't find GTiff Driver") geoTransform = gdal.GCPsToGeoTransform(correctGCPOffset(self.testGcp, offset)) geoProj = SRC_DICT_WKT[4314] srcDataset.SetProjection(geoProj) srcDataset.SetGeoTransform(geoTransform) response = resampleGeoreferencedImage(srcDataset, geoTransform, geoProj, outputDriver, destPath) print '=====================' print 'Test if testResampleGeoreferencedImageSimple ...' print 'Response: %s'%response print '=====================' response.FlushCache() self.assertTrue(isinstance(response, gdal.Dataset), "Response is not a gdal.Dataset.") # clear up del image del ndarray del response if os.path.exists(destPath): os.remove(destPath)