Esempio n. 1
0
 def execute(self):
     """Execute the request using the selected backend.
     
     :rtype: Path to an output file/folder or dictionary composed of :class:`ocgis.driver.collection.AbstractCollection` objects.
     """
     interp = OcgInterpreter(self)
     return interp.execute()
Esempio n. 2
0
    def test_get_converter(self):
        rd = self.test_data.get_rd('cancm4_tas')
        ops = OcgOperations(dataset=rd)
        outdir = self.current_dir_output
        prefix = 'foo'
        interp = OcgInterpreter(ops)
        so = OperationsEngine(ops)
        ret = interp._get_converter_(NumpyConverter, outdir, prefix, so)
        self.assertIsInstance(ret, NumpyConverter)

        # Test melted is registered by the converter.
        ops = OcgOperations(dataset=rd,
                            melted=True,
                            output_format=constants.OutputFormatName.SHAPEFILE)
        interp = OcgInterpreter(ops)
        ret = interp._get_converter_(ShpConverter, outdir, prefix, so)
        self.assertIsInstance(ret, ShpConverter)
        self.assertTrue(ret.melted)

        # Test options are passed to the underlying converter.
        opts = {'data_model': 'foo'}
        ops = OcgOperations(dataset=rd,
                            output_format='nc',
                            output_format_options=opts)
        interp = OcgInterpreter(ops)
        ret = interp._get_converter_(NcConverter, outdir, prefix, so)
        self.assertDictEqual(ret.options, opts)
Esempio n. 3
0
 def test_get_progress_and_configure_logging(self):
     env.VERBOSE = True
     rd = self.test_data.get_rd('cancm4_tas')
     ops = OcgOperations(dataset=rd)
     outdir = self.current_dir_output
     prefix = 'foo'
     interp = OcgInterpreter(ops)
     self.assertIsNone(logging._warnings_showwarning)
     self.assertTrue(ocgis_lh.null)
     env.SUPPRESS_WARNINGS = False
     progress = interp._get_progress_and_configure_logging_(outdir, prefix)
     self.assertIsInstance(progress, ProgressOcgOperations)
     self.assertFalse(ocgis_lh.null)
     self.assertFalse(logging._warnings_showwarning)
Esempio n. 4
0
 def test_get_progress_and_configure_logging(self):
     env.VERBOSE = True
     rd = self.test_data.get_rd('cancm4_tas')
     ops = OcgOperations(dataset=rd)
     outdir = self.current_dir_output
     prefix = 'foo'
     interp = OcgInterpreter(ops)
     self.assertIsNone(logging._warnings_showwarning)
     self.assertTrue(ocgis_lh.null)
     env.SUPPRESS_WARNINGS = False
     progress = interp._get_progress_and_configure_logging_(outdir, prefix)
     self.assertIsInstance(progress, ProgressOcgOperations)
     self.assertFalse(ocgis_lh.null)
     self.assertFalse(logging._warnings_showwarning)
Esempio n. 5
0
    def test_high_res(self):
        ocgis.env.OVERWRITE = True
        nc_spatial = NcSpatial(0.5, (-90.0, 90.0), (0.0, 360.0))
        f, out_path = mkstemp(dir=env.DIR_OUTPUT, suffix='.nc')
        os.close(f)
        path = self.make_data(nc_spatial, path=out_path)

        dataset = {'uri': path, 'variable': 'foo'}
        output_format = 'nc'
        snippet = True
        geom = self.nebraska

        for s_abstraction in ['point', 'polygon']:
            interface = {'s_abstraction': s_abstraction}
            ops = OcgOperations(dataset=dataset, output_format=output_format, geom=geom, snippet=snippet,
                                abstraction=s_abstraction)
            OcgInterpreter(ops).execute()
Esempio n. 6
0
    def test_low_res(self):
        """Test data is appropriate wrapped with a 360 dataset at low resolution."""

        ocgis.env.OVERWRITE = True
        nc_spatial = NcSpatial(5.0, (-90.0, 90.0), (0.0, 360.0))
        f, out_path = mkstemp(dir=env.DIR_OUTPUT, suffix='.nc')
        os.close(f)
        path = self.make_data(nc_spatial, path=out_path)

        dataset = {'uri': path, 'variable': 'foo'}
        output_format = 'shp'
        geom = self.nebraska

        for s_abstraction in ['point', 'polygon']:
            ops = OcgOperations(dataset=dataset,
                                output_format=output_format,
                                geom=geom,
                                abstraction=s_abstraction)
            OcgInterpreter(ops).execute()
Esempio n. 7
0
    def test_get_converter(self):
        rd = self.test_data.get_rd('cancm4_tas')
        ops = OcgOperations(dataset=rd)
        outdir = self.current_dir_output
        prefix = 'foo'
        interp = OcgInterpreter(ops)
        so = OperationsEngine(ops)
        ret = interp._get_converter_(NumpyConverter, outdir, prefix, so)
        self.assertIsInstance(ret, NumpyConverter)

        # Test melted is registered by the converter.
        ops = OcgOperations(dataset=rd, melted=True, output_format=constants.OutputFormatName.SHAPEFILE)
        interp = OcgInterpreter(ops)
        ret = interp._get_converter_(ShpConverter, outdir, prefix, so)
        self.assertIsInstance(ret, ShpConverter)
        self.assertTrue(ret.melted)

        # Test options are passed to the underlying converter.
        opts = {'data_model': 'foo'}
        ops = OcgOperations(dataset=rd, output_format='nc', output_format_options=opts)
        interp = OcgInterpreter(ops)
        ret = interp._get_converter_(NcConverter, outdir, prefix, so)
        self.assertDictEqual(ret.options, opts)