Esempio n. 1
0
 def test_moran_nan(self):
     si = spatialinventory.RasterInventory(
         "N2O-Agrar-2012",
         "g/m2", "Example N2O inventory of "
         "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
         creator="Tester")
     si.import_inventory(self.nanrast)
     mi = si.check_moran()
     self.assertEqual(round(mi, 3), 0.848)
Esempio n. 2
0
    def test_inventory_raster_accumulate(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        self.assertEqual(round(si.accumulate(), 2), 1552.0)
Esempio n. 3
0
    def test_mtime_raster(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")
        time.sleep(1)
        si.import_inventory_as_raster(self.invin, self.uncertin)

        self.assertNotEqual(si.ctime, si.mtime)
Esempio n. 4
0
 def test_weight_raster_rook(self):
     si = spatialinventory.RasterInventory(
         "N2O-Agrar-2012",
         "g/m2", "Example N2O inventory of "
         "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
         creator="Tester")
     si.import_inventory(self.maxrast)
     w = si.get_weight_matrix(si.inv_array, rook=True)
     self.assertEqual(w.n, 100)
     self.assertListEqual(w.neighbors[0], [10, 1])
     self.assertListEqual(w.weights[0], [1.0, 1.0])
Esempio n. 5
0
    def test_plot_variogram_raster(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        sv, svm, c0 = si.get_variogram(10, 80, True)
        self.assertEqual(round(np.max(sv[1]), 3), 0.245)
        self.assertEqual(round(np.min(si.inv_sv[1]), 3), 0.168)
Esempio n. 6
0
    def test_inventory_raster_propagate_cv(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        si.get_cov_matrix()
        si.propagate(cv=True)
        self.assertEqual(round(si.inv_uncert, 2), 932.65)
Esempio n. 7
0
    def test_get_cov_matrix_raster(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        si.get_cov_matrix()
        self.assertEqual(round(np.max(si.inv_covmat), 3), 0.34)
        self.assertEqual(round(np.min(si.inv_covmat), 3), 0.)
        self.assertEqual(round(si.inv_c0, 3), 0.34)
Esempio n. 8
0
 def test_remove_nan_raster(self):
     si = spatialinventory.RasterInventory(
         "N2O-Agrar-2012",
         "g/m2", "Example N2O inventory of "
         "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
         creator="Tester")
     si.import_inventory(self.nanrast)
     w = si.get_weight_matrix(si.inv_array)
     nw, na, n = si.rm_nan_weight(w, si.inv_array)
     self.assertEqual(w.n, 110)
     self.assertEqual(nw.n, 100)
     self.assertEqual(n, 10)
Esempio n. 9
0
    def test_inventory_raster_import(self):
        si = spatialinventory.RasterInventory(
            "N2O-Agrar-2012",
            "g/m2", "Example N2O inventory of "
            "organic soils", ("2012-01-01 00:00:00", "2013-01-01 00:00:00"),
            creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        self.assertEqual(si.inv_array.shape, (44, 55))
        self.assertEqual(si.inv_uncert_array.shape, (44, 55))
        self.assertEqual(round(np.nanmin(si.inv_array), 3), 0.071)
        self.assertEqual(round(np.nanmax(si.inv_array), 3), 1.728)
        self.assertEqual(round(np.nanmin(si.inv_uncert_array), 3), 0.269)
        self.assertEqual(round(np.nanmax(si.inv_uncert_array), 3), 1.387)
Esempio n. 10
0
    def test_single_variogram_raster(self):
        si = spatialinventory.RasterInventory("N2O-Agrar-2012", "g/m2",
                                              "Example N2O inventory of "
                                              "organic soils",
                                              ("2012-01-01 00:00:00",
                                               "2013-01-01 00:00:00"),
                                              creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        v = variogram.Variogram()
        coords = si.get_coord()
        data = np.hstack((coords, si.inv_array.reshape((si.inv_array.size,
                                                        1))))
        sv1 = v.semivvarh(data, 5, 5)
        sv2 = v.semivvarh(data, 50, 5)
        self.assertEqual(round(sv1, 3), 0.168)
        self.assertEqual(round(sv2, 3), 0.217)
Esempio n. 11
0
    def test_plot_variogram_raster(self):
        si = spatialinventory.RasterInventory("N2O-Agrar-2012", "g/m2",
                                              "Example N2O inventory of "
                                              "organic soils",
                                              ("2012-01-01 00:00:00",
                                               "2013-01-01 00:00:00"),
                                              creator="Tester")
        v = variogram.Variogram()
        si.import_inventory_as_raster(self.invin, self.uncertin)
        sv, svm, c, c0 = si.get_variogram(10, 80, True)
        si.plot_variogram("/tmp/sauventory_test_spherical_vario.png")
        sv, svm, c, c0 = si.get_variogram(10, 80, True, type=v.gaussian)
        si.plot_variogram("/tmp/sauventory_test_gaussian_vario.png")
        sv, svm, c, c0 = si.get_variogram(10, 80, True, type=v.exponential)
        si.plot_variogram("/tmp/sauventory_test_exponential_vario.png")

        self.assertEqual(round(np.max(sv[1]), 3), 0.245)
        self.assertEqual(round(np.min(si.inv_sv[1]), 3), 0.168)
Esempio n. 12
0
    def test_empirical_variogram_raster(self):
        si = spatialinventory.RasterInventory("N2O-Agrar-2012", "g/m2",
                                              "Example N2O inventory of "
                                              "organic soils",
                                              ("2012-01-01 00:00:00",
                                               "2013-01-01 00:00:00"),
                                              creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        v = variogram.Variogram()
        coords = si.get_coord()
        data = np.hstack((coords, si.inv_array.reshape((si.inv_array.size,
                                                        1))))
        # Define variogram parameters
        bw = 10  # Bandwidth
        hs = np.arange(0, 80, bw)  # Distance intervals
        svario = v.semivvar(data, hs, bw)
        self.assertEqual(round(np.max(svario[1]), 3), 0.245)
        self.assertEqual(round(np.min(svario[1]), 3), 0.168)
Esempio n. 13
0
    def test_gaussian_variogram_raster(self):
        si = spatialinventory.RasterInventory("N2O-Agrar-2012", "g/m2",
                                              "Example N2O inventory of "
                                              "organic soils",
                                              ("2012-01-01 00:00:00",
                                               "2013-01-01 00:00:00"),
                                              creator="Tester")

        si.import_inventory_as_raster(self.invin, self.uncertin)
        v = variogram.Variogram()
        coords = si.get_coord()
        data = np.hstack((coords, si.inv_array.reshape((si.inv_array.size,
                                                        1))))
        # Define variogram parameters
        bw = 10  # Bandwidth
        hs = np.arange(0, 80, bw)  # Distance intervals
        # svario = v.semivvar(data, hs, bw)
        svmodel, svario, c, c0 = v.cvmodel(data, hs, bw, model=v.gaussian)
        self.assertEqual(round(svmodel(svario[0][0]), 3), 0.)
        self.assertEqual(round(svmodel(svario[0][7]), 3), 0.340)