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()
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)
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)
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()
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()