def __init__(self, source_datacube=None, default_tile_type_id=1):
        
        if source_datacube:
            # Copy values from source_datacube and then override command line args
            self.__dict__ = copy(source_datacube.__dict__)
            
            args = self.parse_args()
            # Set instance attributes for every value in command line arguments file
            for attribute_name in args.__dict__.keys():
                attribute_value = args.__dict__[attribute_name]
                self.__setattr__(attribute_name, attribute_value)

        else:
            DataCube.__init__(self) # Call inherited constructor
            
        # Attempt to parse dates from command line arguments or config file
        try:
            self.start_date = datetime.strptime(self.start_date, '%Y%m%d').date()
        except:
            try:
                self.start_date = datetime.strptime(self.start_date, '%d/%m/%Y').date()
            except:
                try:
                    self.start_date = datetime.strptime(self.start_date, '%Y-%m-%d').date()
                except:
                    self.start_date= None      
                          
        try:
            self.end_date = datetime.strptime(self.end_date, '%Y%m%d').date()
        except:
            try:
                self.end_date = datetime.strptime(self.end_date, '%d/%m/%Y').date()
            except:
                try:
                    self.end_date = datetime.strptime(self.end_date, '%Y-%m-%d').date()
                except:
                    self.end_date= None            
          

        try:
            self.thumbnail_size = int(self.thumbnail_size)
        except:
            self.thumbnail_size = 512
            
        # Other variables set from config file only - not used
        try:
            self.min_path = int(self.min_path) 
        except:
            self.min_path = None
        try:
            self.max_path = int(self.max_path) 
        except:
            self.max_path = None
        try:
            self.min_row = int(self.min_row) 
        except:
            self.min_row = None
        try:
            self.max_row = int(self.max_row) 
        except:
            self.max_row = None
            
        self.style_dict = {
#                           'IconStyle': {'scale': 0.4, 'Icon': {'href': 'http://maps.google.com/mapfiles/kml/shapes/star.png'}},
                           'LabelStyle': {'color': '9900ffff', 'scale': 1},
                           'LineStyle': {'color': '990000ff', 'width': 2},
                           'PolyStyle': {'color': '997f7fff', 'fill': 1, 'outline': 1}
                          }
Returns the relative mouse position (x coordinate) when the click
dataset/ETHPy150Open GeoscienceAustralia/agdc/deprecated/scene_kml_generator.py/SceneKMLGenerator.__init__--crossover with--dataset/ETHPy150Open rwl/muntjac/muntjac/event/mouse_events.py/ClickEvent.getRelativeX