def __init__( self, filename=None, images_dir='./', image_size=(800, 600), cache=None, output_timestep=None, output_zero_step=True, output_last_step=True, draw_ontop='forecast', **kwargs ): """ Init the image renderer. Following args are passed to base class Outputter's init: :param cache: sets the cache object from which to read data. The model will automatically set this param :param output_timestep: default is None in which case everytime the write_output is called, output is written. If set, then output is written every output_timestep starting from model_start_time. :type output_timestep: timedelta object :param output_zero_step: default is True. If True then output for initial step (showing initial release conditions) is written regardless of output_timestep :type output_zero_step: boolean :param output_last_step: default is True. If True then output for final step is written regardless of output_timestep :type output_last_step: boolean :param draw_ontop: draw 'forecast' or 'uncertain' LEs on top. Default is to draw 'forecast' LEs, which are in black on top :type draw_ontop: str Remaining kwargs are passed onto baseclass's __init__ with a direct call: MapCanvas.__init__(..) Optional parameters (kwargs) :param projection_class: gnome.utilities.projections class to use. Default is gnome.utilities.projections.FlatEarthProjection :param map_BB: map bounding box. Default is to use land_polygons.bounding_box. If land_polygons is None, then this is the whole world, defined by ((-180,-90),(180, 90)) :param viewport: viewport of map -- what gets drawn and on what scale. Default is to set viewport = map_BB :param image_mode: Image mode ('P' for palette or 'L' for Black and White image). BW_MapCanvas inherits from MapCanvas and sets the mode to 'L'. Default image_mode is 'P'. :param id: unique identifier for a instance of this class (UUID given as a string). This is used when loading an object from a persisted model. """ # set up the canvas self._filename = filename if filename is not None: polygons = haz_files.ReadBNA(filename, 'PolygonSet') else: polygons = None Outputter.__init__(self, cache, output_timestep, output_zero_step, output_last_step) MapCanvas.__init__(self, image_size, land_polygons=polygons, **kwargs) self.images_dir = images_dir self.last_filename = '' self.draw_ontop = draw_ontop