test_r_import.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from grass.gunittest.case import TestCase
  2. from grass.gunittest.main import test
  3. import grass.script as gs
  4. class TestRImportRegion(TestCase):
  5. imported = 'test_r_import_imported'
  6. @classmethod
  7. def setUpClass(cls):
  8. cls.runModule('g.region', raster='elevation')
  9. def tearDown(cls):
  10. """Remove imported map after each test method"""
  11. cls.runModule('g.remove', flags='f', type='raster',
  12. name=cls.imported)
  13. def test_import_estimate(self):
  14. """Test e flag"""
  15. self.assertModule('r.import', input='data/data2.asc', output=self.imported,
  16. resample='nearest', flags='e')
  17. self.assertRasterDoesNotExist(name=self.imported)
  18. def test_import_same_proj_tif(self):
  19. """Import tif in same proj, default params"""
  20. self.assertModule('r.import', input='data/data1.tif', output=self.imported,
  21. resample='bilinear')
  22. reference = dict(north=223490, south=223390, east=636820, west=636710,
  23. nsres=10, ewres=10, datatype='FCELL')
  24. self.assertRasterFitsInfo(raster=self.imported, reference=reference)
  25. def test_import_asc_custom_res(self):
  26. """Import ASC in different projection, with specified resolution"""
  27. self.assertModule('r.import', input='data/data2.asc', output=self.imported,
  28. resample='nearest', resolution='value', resolution_value=30)
  29. reference = dict(rows=3, cols=4,
  30. nsres=30, ewres=30, datatype='CELL')
  31. self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1.1)
  32. def test_import_asc_region_extent(self):
  33. """Import ASC in different projection in specified region"""
  34. self.runModule('g.region', raster='elevation', n=223655, s=223600)
  35. self.assertModule('r.import', input='data/data2.asc', output=self.imported,
  36. resample='nearest', extent='region', resolution='region')
  37. reference = dict(north=223655, south=223600)
  38. self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1e-6)
  39. def test_import_use_temp_region(self):
  40. """Import in specified region with use_temp_region activated"""
  41. self.runModule('g.region', raster='elevation', n=223660, s=223600)
  42. gs.use_temp_region()
  43. self.runModule('g.region', raster='elevation', n=223630, s=223600)
  44. self.assertModule('r.import', input='data/data2.asc', output=self.imported,
  45. resample='nearest', extent='region', resolution='region')
  46. reference = dict(north=223630, south=223600, nsres=10, ewres=10)
  47. self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1e-6)
  48. self.runModule('g.region', raster='elevation', s=223390, n=223450)
  49. self.assertModule('r.import', input='data/data1.tif', output=self.imported,
  50. resample='bilinear', extent='region', overwrite=True)
  51. reference = dict(south=223390, north=223450, nsres=10, ewres=10)
  52. self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1e-6)
  53. gs.del_temp_region()
  54. self.assertModule('r.import', input='data/data2.asc', output=self.imported,
  55. resample='nearest', extent='region', resolution='region', overwrite=True)
  56. reference = dict(north=223660, south=223600, nsres=10, ewres=10)
  57. self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1e-6)
  58. if __name__ == '__main__':
  59. test()