def pre(self): """Este método se encarga de eliminar todas las capas cargagas previamente en el registro de QGIS (QgsMapLayerRegistry).""" # Delete all layeres eje = manager.get_layer('ejes') fondo = manager.get_layer('fondo') hidro = manager.get_layer('hidrografia') secciones = manager.get_layer('secciones') manager.remove_layers([eje, fondo, hidro, secciones])
def pre(self): """Verifica que las capas necesarias para realizar esta acción estan cargadas. :returns: Un booleano que indica si se cumple o no la condición. :rtype: bool """ self.eje = manager.get_layer('ejes') self.work_layer = manager.get_layer('output') return self.eje is not None and self.work_layer is not None
def pre(self): # Verifica que la capa de hidrografía exista self.hidro_layer = manager.get_layer('hidrografia') self.gen_sec = manager.get_layer('secciones') if self.hidro_layer is None: raise LayerNotFound('hidrografia') # Este error se genera para preguntarle al usuario que desea hacer. if self.gen_sec is not None: raise PreviousGeneratedLayerFound('secciones')
def pre(self): """Verifica si existe la capa de secciones. :returns: Un booleano que indica si ya esta cargada la capa de secciones: :rtype: bool """ self.seccionesLayer = manager.get_layer('secciones') return self.seccionesLayer is not None
def pre(self): """Este método se encarga de obtener la capa de secciones del administrador de las capas cargadas (manager) y lo retorna. :returns: La capa de secciones en caso de que la encuentre, retorna Nonde de otra forma. :rtype: QgsVectorLayer""" self.shp = manager.get_layer('secciones') return self.shp
def pos(self, iface): """Agrega la capa de salida (output) al gestor de capas de QGIS.""" #Elimina la capa output en caso de de que exista output = manager.get_layer('output') if output is not None: manager.remove_layers([output]) #Mostrar la capa de trabajo work_layer manager.add_layers([self.work_layer])
def pro(self): """Crea una capa temporal para almacenar las secciones, en caso de que no exista.""" self.tempLayer = manager.get_layer('temp') if self.tempLayer is None: crs = self.seccionesLayer.crs().authid() self.tempLayer = QgsVectorLayer('LineString?crs=' + crs, 'temp', 'memory') pr = self.tempLayer.dataProvider() fields = self.seccionesLayer.pendingFields() pr.addAttributes(fields) manager.add_layers([self.tempLayer])
def pro(self): """Crea una capa de salida con las secciones de la capa de secciones, y las secciones agregadas por el usuario.""" self.work_layer = self.addFeature(self.secciones) temp = manager.get_layer('temp') if temp is not None: """En caso de que existan secciones temporales, se combinaran con la capa de secciones, para crear la capa work_layer""" for new_feature in temp.getFeatures(): segements = geometry.getSegments(self.work_layer) point = geometry.intersectionLayerGeometry( self.eje, new_feature.geometry()) if point is None: continue idx = self.place(segements, point) # print 'IDX: ', idx self.work_layer = self.addFeature(self.work_layer, new_feature, idx)