Пример #1
0
    def read(self, layout, read_method, target_crs=None, multiplex=False):
        expected_tiled = self.rdd.tile_to_layout(layout, target_crs=target_crs)
        expected_collected = expected_tiled.to_numpy_rdd().collect()

        if multiplex:
            sources = [
                SourceInfo(self.path, {0: 0}),
                SourceInfo(self.path, {0: 1})
            ]
            actual_tiled = TiledRasterLayer.read(sources,
                                                 layout_type=layout,
                                                 target_crs=target_crs)
        else:
            actual_tiled = TiledRasterLayer.read([self.path],
                                                 layout_type=layout,
                                                 target_crs=target_crs)

        actual_collected = actual_tiled.to_numpy_rdd().collect()

        self.assertEqual(len(expected_collected), len(actual_collected))

        expected_collected.sort(key=lambda tup: (tup[0].col, tup[0].row))
        actual_collected.sort(key=lambda tup: (tup[0].col, tup[0].row))

        if multiplex:
            bands = (0, 1)
        else:
            bands = [0]

        for expected, actual in zip(expected_collected, actual_collected):
            for x in bands:
                self.assertEqual(expected[0], actual[0])
                self.assertTrue(expected[1].cells.shape[1:] == actual[1].cells[
                    x, :, :].shape)

                diff = abs(expected[1].cells - actual[1].cells[x, :, :])
                off_values_count = (diff > self.difference).sum()

                self.assertTrue(
                    off_values_count / expected[1].cells.size <= 0.025)
Пример #2
0
    def read(self, layout, read_method, target_crs=None):
        expected_tiled = self.rdd.tile_to_layout(layout, target_crs=target_crs)
        expected_collected = expected_tiled.to_numpy_rdd().collect()

        actual_tiled = TiledRasterLayer.read([self.path],
                                             layout_type=layout,
                                             target_crs=target_crs)

        actual_collected = actual_tiled.to_numpy_rdd().collect()

        self.assertEqual(len(expected_collected), len(actual_collected))

        expected_collected.sort(key=lambda tup: (tup[0].col, tup[0].row))
        actual_collected.sort(key=lambda tup: (tup[0].col, tup[0].row))

        for expected, actual in zip(expected_collected, actual_collected):
            self.assertEqual(expected[0], actual[0])
            self.assertTrue(expected[1].cells.shape == actual[1].cells.shape)

            diff = abs(expected[1].cells - actual[1].cells)
            off_values_count = (diff > self.difference).sum()

            self.assertTrue(off_values_count / expected[1].cells.size <= 0.025)