def test_spatial_ref(self): root = warp(self.inputfile).get_root() self.assertTrue('"EPSG","3857"' in root.find('.//TargetSRS').text) root = warp(self.inputfile, spatial_ref=SpatialReference.FromEPSG(4326)).get_root() self.assertTrue('WGS 84' in root.find('.//TargetSRS').text)
def test_spatial_ref(self): root = warp(self.inputfile).get_root() # self.assertTrue('"EPSG","3857"' in root.find('.//TargetSRS').text) # Already in EPSG 3857 so no TargetSRS or SourceSRS in output (GDAL 2?) self.assertIsNone(root.find('.//TargetSRS')) self.assertTrue('"EPSG","3857"' in root.find('.//SRS').text) root = warp(self.inputfile, spatial_ref=SpatialReference.FromEPSG(4326)).get_root() self.assertTrue('WGS 84' in root.find('.//TargetSRS').text)
def test_resampling(self): # By integer root = warp(self.inputfile, resampling=GRA_Cubic).get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue(all(t.text == 'Cubic' for t in root.findall('.//ResampleAlg'))) # By string root = warp(self.inputfile, resampling='bilinear').get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue(all(t.text == 'Bilinear' for t in root.findall('.//ResampleAlg'))) # Invalid self.assertRaises(UnknownResamplingMethodError, warp, self.inputfile, resampling=-1) self.assertRaises(UnknownResamplingMethodError, warp, self.inputfile, resampling='montecarlo')
def test_nodata(self): inputfile = os.path.join(__dir__, 'srtm.nodata.tif') vrt = warp(inputfile=inputfile) with vrt.get_tempfile(suffix='.vrt') as outputfile: # No Data value must be the same as the input file's in_data = Dataset(inputfile) out_data = Dataset(outputfile.name) for band in range(1, out_data.RasterCount + 1): self.assertEqual(in_data.GetRasterBand(band).GetNoDataValue(), out_data.GetRasterBand(band).GetNoDataValue())
def test_nodata(self): inputfile = os.path.join(__dir__, 'srtm.nodata.tif') vrt = warp(inputfile=inputfile) with vrt.get_tempfile(suffix='.vrt') as outputfile: # No Data value must be the same as the input file's in_data = Dataset(inputfile) out_data = Dataset(outputfile.name) for band in range(1, out_data.RasterCount + 1): self.assertEqual( in_data.GetRasterBand(band).GetNoDataValue(), out_data.GetRasterBand(band).GetNoDataValue())
def test_resampling(self): # By integer root = warp(self.inputfile, resampling=GRA_Cubic).get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue( all(t.text == 'Cubic' for t in root.findall('.//ResampleAlg'))) # By string root = warp(self.inputfile, resampling='bilinear').get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue( all(t.text == 'Bilinear' for t in root.findall('.//ResampleAlg'))) # Invalid self.assertRaises(UnknownResamplingMethodError, warp, self.inputfile, resampling=-1) self.assertRaises(UnknownResamplingMethodError, warp, self.inputfile, resampling='montecarlo')
def test_spanning_partial(self): inputfile = os.path.join(__dir__, 'bluemarble-spanning-ll.tif') vrt = warp(inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0) # Should be a 412×412 image out_data = Dataset(outputfile) self.assertEqual(out_data.RasterXSize, 412) self.assertEqual(out_data.RasterYSize, 412)
def test_spanning_partial(self): inputfile = os.path.join(__dir__, 'bluemarble-spanning-ll.tif') vrt = warp(inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0 ) # Should be a 412×412 image out_data = Dataset(outputfile) self.assertEqual(out_data.RasterXSize, 412) self.assertEqual(out_data.RasterYSize, 412)
def test_world(self): vrt = warp(self.inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0) # Test that the metadata hasn't been munged by warp() in_data = Dataset(self.inputfile) out_data = Dataset(outputfile) self.assertExtentsEqual(in_data.GetExtents(), out_data.GetExtents()) self.assertEqual(in_data.RasterXSize, out_data.RasterXSize) self.assertEqual(in_data.RasterYSize, out_data.RasterYSize)
def test_aligned_partial(self): inputfile = os.path.join(__dir__, 'bluemarble-aligned-ll.tif') vrt = warp(inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0) # Test that the metadata hasn't been munged by warp() in_data = Dataset(inputfile) out_data = Dataset(outputfile) self.assertExtentsEqual(in_data.GetExtents(), out_data.GetExtents()) self.assertEqual(in_data.RasterXSize, out_data.RasterXSize) self.assertEqual(in_data.RasterYSize, out_data.RasterYSize)
def test_world(self): vrt = warp(self.inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0 ) # Test that the metadata hasn't been munged by warp() in_data = Dataset(self.inputfile) out_data = Dataset(outputfile) self.assertExtentsEqual(in_data.GetExtents(), out_data.GetExtents()) self.assertEqual(in_data.RasterXSize, out_data.RasterXSize) self.assertEqual(in_data.RasterYSize, out_data.RasterYSize)
def test_aligned_partial(self): inputfile = os.path.join(__dir__, 'bluemarble-aligned-ll.tif') vrt = warp(inputfile) with NamedTemporaryFile(suffix='.tif') as tmpfile: outputfile = tmpfile.name vrt.render(outputfile=outputfile, compress='LZW') self.assertEqual( subprocess.call([GDALINFO, outputfile], stdout=open('/dev/null', 'w+')), 0 ) # Test that the metadata hasn't been munged by warp() in_data = Dataset(inputfile) out_data = Dataset(outputfile) self.assertExtentsEqual(in_data.GetExtents(), out_data.GetExtents()) self.assertEqual(in_data.RasterXSize, out_data.RasterXSize) self.assertEqual(in_data.RasterYSize, out_data.RasterYSize)
def test_simple(self): root = warp(self.inputfile).get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue(all(t.text == self.inputfile for t in root.findall('.//SourceDataset')))
def test_simple(self): root = warp(self.inputfile).get_root() self.assertEqual(root.tag, 'VRTDataset') self.assertTrue( all(t.text == self.inputfile for t in root.findall('.//SourceDataset')))
def test_invalid_output(self): vrt = warp(self.inputfile) self.assertRaises(OSError, vrt.render, outputfile='/dev/invalid')
def test_invalid_output(self): # this will fail if tests are run as root vrt = warp(self.inputfile) self.assertRaises(OSError, vrt.render, outputfile='/dev/invalid')
def test_invalid_output(self): # this will fail if tests are run as root (as on shippable) vrt = warp(self.inputfile) self.assertRaises(OSError, vrt.render, outputfile='/dev/invalid')