Beispiel #1
0
    def test_io_hdf5_pass(self):
        """write and read hdf5"""
        exp_df = Exposures(pd.read_excel(ENT_TEMPLATE_XLS), crs="epsg:32632")
        exp_df.set_geometry_points()
        exp_df.check()
        # set metadata
        exp_df.ref_year = 2020
        exp_df.tag = Tag(ENT_TEMPLATE_XLS, 'ENT_TEMPLATE_XLS')
        exp_df.value_unit = 'XSD'

        file_name = DATA_DIR.joinpath('test_hdf5_exp.h5')

        # pd.errors.PerformanceWarning should be suppressed. Therefore, make sure that
        # PerformanceWarning would result in test failure here
        import warnings
        with warnings.catch_warnings():
            warnings.simplefilter("error",
                                  category=pd.errors.PerformanceWarning)
            exp_df.write_hdf5(file_name)

        exp_read = Exposures.from_hdf5(file_name)

        self.assertEqual(exp_df.ref_year, exp_read.ref_year)
        self.assertEqual(exp_df.value_unit, exp_read.value_unit)
        self.assertDictEqual(exp_df.meta, exp_read.meta)
        self.assertTrue(u_coord.equal_crs(exp_df.crs, exp_read.crs))
        self.assertTrue(u_coord.equal_crs(exp_df.gdf.crs, exp_read.gdf.crs))
        self.assertEqual(exp_df.tag.file_name, exp_read.tag.file_name)
        self.assertEqual(exp_df.tag.description, exp_read.tag.description)
        np.testing.assert_array_equal(exp_df.gdf.latitude.values,
                                      exp_read.gdf.latitude.values)
        np.testing.assert_array_equal(exp_df.gdf.longitude.values,
                                      exp_read.gdf.longitude.values)
        np.testing.assert_array_equal(exp_df.gdf.value.values,
                                      exp_read.gdf.value.values)
        np.testing.assert_array_equal(exp_df.gdf.deductible.values,
                                      exp_read.gdf.deductible.values)
        np.testing.assert_array_equal(exp_df.gdf.cover.values,
                                      exp_read.gdf.cover.values)
        np.testing.assert_array_equal(exp_df.gdf.region_id.values,
                                      exp_read.gdf.region_id.values)
        np.testing.assert_array_equal(exp_df.gdf.category_id.values,
                                      exp_read.gdf.category_id.values)
        np.testing.assert_array_equal(exp_df.gdf.impf_TC.values,
                                      exp_read.gdf.impf_TC.values)
        np.testing.assert_array_equal(exp_df.gdf.centr_TC.values,
                                      exp_read.gdf.centr_TC.values)
        np.testing.assert_array_equal(exp_df.gdf.impf_FL.values,
                                      exp_read.gdf.impf_FL.values)
        np.testing.assert_array_equal(exp_df.gdf.centr_FL.values,
                                      exp_read.gdf.centr_FL.values)

        for point_df, point_read in zip(exp_df.gdf.geometry.values,
                                        exp_read.gdf.geometry.values):
            self.assertEqual(point_df.x, point_read.x)
            self.assertEqual(point_df.y, point_read.y)
Beispiel #2
0
    def test_io_hdf5_pass(self):
        """write and read hdf5"""
        exp_df = Exposures(pd.read_excel(ENT_TEMPLATE_XLS))
        exp_df.set_geometry_points()
        exp_df.check()
        # set metadata
        exp_df.ref_year = 2020
        exp_df.tag = Tag(ENT_TEMPLATE_XLS, 'ENT_TEMPLATE_XLS')
        exp_df.value_unit = 'XSD'

        file_name = DATA_DIR.joinpath('test_hdf5_exp.h5')
        exp_df.write_hdf5(file_name)

        exp_read = Exposures()
        exp_read.read_hdf5(file_name)

        self.assertEqual(exp_df.ref_year, exp_read.ref_year)
        self.assertEqual(exp_df.value_unit, exp_read.value_unit)
        self.assertEqual(exp_df.crs, exp_read.crs)
        self.assertEqual(exp_df.tag.file_name, exp_read.tag.file_name)
        self.assertEqual(exp_df.tag.description, exp_read.tag.description)
        self.assertTrue(
            np.array_equal(exp_df.gdf.latitude.values,
                           exp_read.gdf.latitude.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.longitude.values,
                           exp_read.gdf.longitude.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.value.values, exp_read.gdf.value.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.deductible.values,
                           exp_read.gdf.deductible.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.cover.values, exp_read.gdf.cover.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.region_id.values,
                           exp_read.gdf.region_id.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.category_id.values,
                           exp_read.gdf.category_id.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.if_TC.values, exp_read.gdf.if_TC.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.centr_TC.values,
                           exp_read.gdf.centr_TC.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.if_FL.values, exp_read.gdf.if_FL.values))
        self.assertTrue(
            np.array_equal(exp_df.gdf.centr_FL.values,
                           exp_read.gdf.centr_FL.values))

        for point_df, point_read in zip(exp_df.gdf.geometry.values,
                                        exp_read.gdf.geometry.values):
            self.assertEqual(point_df.x, point_read.x)
            self.assertEqual(point_df.y, point_read.y)