def restoreTimeLayers(self, layerInfos): """restore all time layers""" if layerInfos: if len(layerInfos) > 0: self.guiControl.enableAnimationExport() for l in layerInfos: # for every layer entry try: settings = ls.getSettingsFromSaveStr(l) if settings.layer is None: error_msg = "Could not restore layer with id {} from saved project line {}". \ format(settings.layerId, l) error(error_msg) self.showMessage(error_msg) continue timeLayer = TimeLayerFactory.get_timelayer_class_from_settings( settings)(settings, iface=self.iface) except Exception, e: layerId = "unknown" try: layerId = settings.layerId except: pass error_msg = "An error occured while trying to restore layer " + layerId \ + " to TimeManager. " + str(e) error(error_msg + traceback.format_exc(e)) self.showMessage(error_msg) continue self.timeLayerManager.registerTimeLayer(timeLayer) self.guiControl.refreshMapCanvas('restoreTimeLayer')
def restoreTimeLayers(self, layerInfos): """restore all time layers""" if layerInfos: if len(layerInfos)>0: self.guiControl.enableAnimationExport() for l in layerInfos: # for every layer entry try: settings = ls.getSettingsFromSaveStr(l) if settings.layer is None: error_msg = "Could not restore layer with id {} from saved project line {}".\ format(settings.layerId, l) error(error_msg) self.showMessage(error_msg) continue timeLayer = TimeLayerFactory.get_timelayer_class_from_settings(settings)(settings,iface=self.iface) except Exception, e: layerId = "unknown" try: layerId = settings.layerId except: pass error_msg = "An error occured while trying to restore layer "+layerId\ +" to TimeManager. "+str(e) error(error_msg+traceback.format_exc(e)) self.showMessage(error_msg) continue self.timeLayerManager.registerTimeLayer(timeLayer) self.guiControl.refreshMapCanvas('restoreTimeLayer')
def createTimeLayer(self, row): """create a TimeLayer from options set in the table row""" layer = QgsMapLayerRegistry.instance().mapLayer( self.optionsDialog.tableWidget.item(row, 4).text()) isEnabled = (self.optionsDialog.tableWidget.item( row, 3).checkState() == Qt.Checked) # offset offset = int(self.optionsDialog.tableWidget.item( row, 6).text()) # currently only seconds! # start time startTimeAttribute = self.optionsDialog.tableWidget.item(row, 1).text() # end time (optional) if self.optionsDialog.tableWidget.item(row, 2).text() == "": endTimeAttribute = startTimeAttribute else: endTimeAttribute = self.optionsDialog.tableWidget.item(row, 2).text() # time format timeFormat = self.optionsDialog.tableWidget.item(row, 5).text() try: timeLayer = TimeLayerFactory.get_timelayer_class_from_layer(layer)( layer, startTimeAttribute, endTimeAttribute, isEnabled, timeFormat, offset, self.iface) except InvalidTimeLayerError, e: QMessageBox.information( self.iface.mainWindow(), 'Error', 'An error occured while trying to add layer ' + layer.name() + ' to TimeManager.\n' + e.value) raise InvalidTimeLayerError(e)
def createTimeLayerFromRow(self,row): """create a TimeLayer from options set in the table row""" try: settings = ls.getSettingsFromRow(self.guiControl.optionsDialog.tableWidget, row) timeLayer = TimeLayerFactory.get_timelayer_class_from_settings(settings)(settings, self.iface) except Exception, e: layer_name = "unknown" try: layer_name = settings.layer.name() except: pass error_msg = "An error occured while trying to add layer "\ +layer_name+" to TimeManager. Cause: "+str(e) error(error_msg+traceback.format_exc(e)) self.showMessage(error_msg) return None
def createTimeLayerFromRow(self, row): """create a TimeLayer from options set in the table row""" try: settings = ls.getSettingsFromRow(self.guiControl.optionsDialog.tableWidget, row) timeLayer = TimeLayerFactory.get_timelayer_class_from_settings(settings)(settings, self.iface) except Exception, e: layer_name = "unknown" try: layer_name = settings.layer.name() except: pass error_msg = "An error occured while trying to add layer " \ + layer_name + " to TimeManager. Cause: " + str(e) error(error_msg + traceback.format_exc(e)) self.showMessage(error_msg) return None
def restoreTimeLayers(self, value): """restore all time layers""" #FIXME What is value here? if value: layerInfo = value if len(layerInfo): self.guiControl.enableAnimationExport() for l in layerInfo: # for every layer entry l = l.split(';') layer = QgsMapLayerRegistry.instance().mapLayer( l[0]) # get the layer if not layer: continue timeLayerClass = TimeLayerFactory.get_timelayer_class_from_layer( layer) if timeLayerClass == TimeVectorLayer: layer.setSubsetString( l[1] ) # restore the original subset string, only available for vector layers! startTimeAttribute = l[2] endTimeAttribute = l[3] isEnabled = l[4] timeFormat = l[5] try: offset = l[6] except IndexError: # old versions didn't have an offset option offset = 0 try: # here we use the previously determined class timeLayer = timeLayerClass(layer, startTimeAttribute, endTimeAttribute, isEnabled, timeFormat, offset) except InvalidTimeLayerError, e: self.showMessage( 'An error occured while trying to add layer ' + layer.name() + ' to \ TimeManager.\n' + e.value) return self.timeLayerManager.registerTimeLayer(timeLayer) self.guiControl.showLabel = True self.guiControl.refreshMapCanvas('restoreTimeLayer')