def test_equal_pass(self): """Test equal""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_bis = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(51, 61, 10, 10)) self.assertFalse(centr_ras.equal(centr_bis)) self.assertFalse(centr_bis.equal(centr_ras)) self.assertTrue(centr_ras.equal(centr_ras)) self.assertTrue(centr_bis.equal(centr_bis))
def test_from_raster_file_wrong_fail(self): """Test from_raster_file with wrong centroids""" centr = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(10, 20, 50, 60)) self.assertAlmostEqual(centr.meta['crs'], DEF_CRS) self.assertAlmostEqual(centr.meta['transform'].c, -69.2471495969998) self.assertAlmostEqual(centr.meta['transform'].a, 0.009000000000000341) self.assertAlmostEqual(centr.meta['transform'].b, 0.0) self.assertAlmostEqual(centr.meta['transform'].f, 10.248220966978932) self.assertAlmostEqual(centr.meta['transform'].d, 0.0) self.assertAlmostEqual(centr.meta['transform'].e, -0.009000000000000341) self.assertEqual(centr.meta['height'], 60) self.assertEqual(centr.meta['width'], 50) inten_ras = centr.values_from_raster_files([HAZ_DEMO_FL], window=Window( 10, 20, 50, 60)) self.assertEqual(inten_ras.shape, (1, 60 * 50)) self.assertAlmostEqual( inten_ras.reshape((60, 50)).tocsr()[25, 12], 0.056825936) with self.assertRaises(ValueError): centr.values_from_raster_files([HAZ_DEMO_FL], window=Window(10, 20, 52, 60))
def test_on_land(self): """Test set_on_land""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_on_land() centr_ras.check() self.assertTrue( np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool)))
def test_dist_coast_pass(self): """Test set_region_id""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_dist_coast() centr_ras.check() self.assertTrue(abs(centr_ras.dist_coast[0] - 117000) < 1000) self.assertTrue(abs(centr_ras.dist_coast[-1] - 104000) < 1000)
def test_region_id_pass(self): """Test set_dist_coast""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_region_id() self.assertEqual(centr_ras.region_id.size, centr_ras.size) self.assertTrue( np.array_equal(np.unique(centr_ras.region_id), np.array([862])))
def test_append_equal_pass(self): """Append raster""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_bis = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_bis.append(centr_ras) self.assertAlmostEqual(centr_bis.meta['crs'], DEF_CRS) self.assertAlmostEqual(centr_bis.meta['transform'].c, -69.33714959699981) self.assertAlmostEqual(centr_bis.meta['transform'].a, 0.009000000000000341) self.assertAlmostEqual(centr_bis.meta['transform'].b, 0.0) self.assertAlmostEqual(centr_bis.meta['transform'].f, 10.42822096697894) self.assertAlmostEqual(centr_bis.meta['transform'].d, 0.0) self.assertAlmostEqual(centr_bis.meta['transform'].e, -0.009000000000000341) self.assertEqual(centr_bis.meta['height'], 60) self.assertEqual(centr_bis.meta['width'], 50)
def test_area_pass(self): """Test set_area""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.meta['crs'] = {'proj': 'cea'} centr_ras.set_area_pixel() centr_ras.check() self.assertTrue( np.allclose( centr_ras.area_pixel, np.ones(60 * 50) * 0.009000000000000341 * 0.009000000000000341))
def test_set_geometry_points_pass(self): """Test set_geometry_points""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_geometry_points() x_flat = np.arange(-69.3326495969998, -68.88264959699978, 0.009000000000000341) y_flat = np.arange(10.423720966978939, 9.883720966978919, -0.009000000000000341) x_grid, y_grid = np.meshgrid(x_flat, y_flat) self.assertTrue(np.allclose(x_grid.flatten(), centr_ras.lon)) self.assertTrue(np.allclose(y_grid.flatten(), centr_ras.lat))
def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.meta['crs'] = 'epsg:32632' xy_vec = centr_ras._ne_crs_geom() x_vec, y_vec = xy_vec.geometry[:].x.values, xy_vec.geometry[:].y.values self.assertAlmostEqual(4.51063496489, x_vec[0]) self.assertAlmostEqual(9.40153761711e-05, y_vec[0]) self.assertAlmostEqual(4.51063891581, x_vec[-1]) self.assertAlmostEqual(8.92260922066e-05, y_vec[-1])
def test_area_approx(self): """Test set_area_approx""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_area_approx() approx_dim = (centr_ras.meta['transform'][0] * 111 * 1000 * centr_ras.meta['transform'][0] * 111 * 1000) self.assertEqual(centr_ras.area_pixel.size, centr_ras.size) self.assertEqual(np.unique(centr_ras.area_pixel).size, 60) self.assertTrue( np.array_equal( (approx_dim / np.unique(centr_ras.area_pixel)).astype(int), np.ones(60)))
def test_read_all_pass(self): """Test centr_ras data""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) self.assertAlmostEqual(centr_ras.meta['crs'], DEF_CRS) self.assertAlmostEqual(centr_ras.meta['transform'].c, -69.33714959699981) self.assertAlmostEqual(centr_ras.meta['transform'].a, 0.009000000000000341) self.assertAlmostEqual(centr_ras.meta['transform'].b, 0.0) self.assertAlmostEqual(centr_ras.meta['transform'].f, 10.42822096697894) self.assertAlmostEqual(centr_ras.meta['transform'].d, 0.0) self.assertAlmostEqual(centr_ras.meta['transform'].e, -0.009000000000000341) self.assertEqual(centr_ras.meta['height'], 60) self.assertEqual(centr_ras.meta['width'], 50) inten_ras = centr_ras.values_from_raster_files([HAZ_DEMO_FL], window=Window( 0, 0, 50, 60)) self.assertEqual(inten_ras.shape, (1, 60 * 50))
def test_size_pass(self): """Test size property""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) self.assertEqual(centr_ras.size, 50 * 60)