当前位置: 首页>>代码示例>>Python>>正文


Python iface.legendInterface函数代码示例

本文整理汇总了Python中qgis.utils.iface.legendInterface函数的典型用法代码示例。如果您正苦于以下问题:Python legendInterface函数的具体用法?Python legendInterface怎么用?Python legendInterface使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了legendInterface函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: addTiles

    def addTiles(self, layer, files):
        count = 0
        layers = []

        QApplication.setOverrideCursor( Qt.WaitCursor )       
        iface.mapCanvas().freeze(True)

        for fileName in files:
            print("TileIndex plugin : loading raster file %s" % fileName)           
            fileInfo = QFileInfo(fileName)
            rlayer = QgsRasterLayer(fileName, fileInfo.baseName())
            if rlayer is None:
                print("TileIndex plugin : raster file %s could not be loaded..." % fileName)
                continue
            layers.append(rlayer)
            count = count + 1

        print("TileIndex plugin : adding %d layers to map registry" % count) 
        QgsMapLayerRegistry.instance().addMapLayers(layers)
        iface.mapCanvas().freeze(False)
        iface.mapCanvas().refresh()
        print("TileIndex plugin : done adding layers")
        QApplication.restoreOverrideCursor()
                    
        # restore active layer if qgis >= 1.9
        if count > 0:
            if QGis.QGIS_VERSION_INT >= 10900:
                iface.legendInterface().setCurrentLayer(layer)
            else:
                iface.setActiveLayer(layer)
                

        return count
开发者ID:etiennesky,项目名称:tileindex,代码行数:33,代码来源:tileindexutil.py

示例2: populateLayers

	def populateLayers(self):	
		groups = {}	
		rels = iface.legendInterface().groupLayerRelationship()
		groupedLayers = {}
		for rel in rels:
			groupName = rel[0] 
			if groupName != '':
				groupLayers = rel[1]			
				groups[groupName] = []
				for layerid in groupLayers:
					groups[groupName].append(QgsMapLayerRegistry.instance().mapLayer(layerid))
					groupedLayers[layerid] = groupName 
		self.layersItem = QTreeWidgetItem()
		self.layersItem.setText(0, "Layers and Groups")										 
		layers = iface.legendInterface().layers()
		for layer in layers:
			print layer.type()
			if layer.id() not in groupedLayers:
				item = TreeLayerItem(layer, self.layersTree)				
				self.layersItem.addChild(item)
			else:
				groupName = groupedLayers[layer.id()]
				try:
					groupLayers = groups[groupName]
				except KeyError:
					continue
				item = TreeGroupItem(groupName, groupLayers, self.layersTree)		   				 					
				self.layersItem.addChild(item)
				del groups[groupName]

		self.layersTree.addTopLevelItem(self.layersItem) 
		self.layersTree.expandAll()
			
		self.layersTree.resizeColumnToContents(0)
		self.layersTree.resizeColumnToContents(1)
开发者ID:MSBilgin,项目名称:qgis-ol3,代码行数:35,代码来源:maindialog.py

示例3: change_color

def change_color():
    active_layer = iface.activeLayer()
    renderer = active_layer.rendererV2()
    symbol = renderer.symbol()
    symbol.setColor(QColor(Qt.red))
    iface.mapCanvas().refresh()
    iface.legendInterface().refreshLayerSymbology(active_layer)
开发者ID:MirandaLv,项目名称:foss4gna-python-qgis,代码行数:7,代码来源:first_script.py

示例4: load

    def load(self, crs, idSubgrupo = None):
        vlayerQml = os.path.join(self.abstractDb.getQmlDir(), self.qmlName+'.qml')
        

        database = self.abstractDb.db.databaseName()

        vlayer = iface.addVectorLayer(self.uri.uri(), self.layer_name, self.provider)
        if not vlayer:
            return None

        vlayer.setCrs(crs)
        if self.schema <> 'views':
            vlayer.loadNamedStyle(vlayerQml, False)
            attrList = vlayer.pendingFields()
            for field in attrList:
                i = vlayer.fieldNameIndex(field.name())
                if vlayer.editorWidgetV2(i) == 'ValueRelation':
                    groupList = iface.legendInterface().groups()
                    groupRelationshipList = iface.legendInterface().groupLayerRelationship()
                    filename = os.path.basename(database).split('.')[0]
                    if filename not in groupList:
                        idx = iface.legendInterface().addGroup(filename, True,-1)
                        domainIdGroup = iface.legendInterface().addGroup(self.tr("Dominios"), True, idx)
                    else:
                        idx = groupList.index(filename)
                        if "Dominios" not in groupList[idx::]:
                            domainIdGroup = iface.legendInterface().addGroup(self.tr("Dominios"), True, idx)
                        else:
                            domainIdGroup = groupList[idx::].index("Dominios")
    
                    valueRelationDict = vlayer.editorWidgetV2Config(i)
                    domainTableName = valueRelationDict['Layer']
                    loadedLayers = iface.legendInterface().layers()
                    domainLoaded = False
                    for ll in loadedLayers:
                        if ll.name() == domainTableName:
                            candidateUri = QgsDataSourceURI(ll.dataProvider().dataSourceUri())
                            if database == candidateUri.database():
                                domainLoaded = True
                                domLayer = ll
                    if not domainLoaded:
                        uri = QgsDataSourceURI()
                        uri.setDatabase(database)
                        uri.setDataSource('', 'dominios_'+domainTableName, None)
                        #TODO Load domain layer into a group
                        domLayer = iface.addVectorLayer(uri.uri(), domainTableName, self.provider)
                        iface.legendInterface().moveLayer(domLayer, domainIdGroup)
                    valueRelationDict['Layer'] = domLayer.id()
                    vlayer.setEditorWidgetV2Config(i,valueRelationDict)
    
            self.qmlLoaded.emit()
        

        iface.legendInterface().moveLayer(vlayer, idSubgrupo)
            
        if not vlayer.isValid():
            QgsMessageLog.logMessage(vlayer.error().summary(), "DSG Tools Plugin", QgsMessageLog.CRITICAL)

        return vlayer
开发者ID:alexdsz,项目名称:DsgTools,代码行数:59,代码来源:spatialite_layer.py

示例5: prepareLoad

 def prepareLoad(self):
     dbName = self.abstractDb.getDatabaseName()
     groupList =  iface.legendInterface().groups()
     if dbName in groupList:
         return groupList.index(dbName)
     else:
         parentTreeNode = iface.legendInterface().addGroup(self.abstractDb.getDatabaseName(), -1)
         return parentTreeNode
开发者ID:lcoandrade,项目名称:DsgTools,代码行数:8,代码来源:edgvLayerLoader.py

示例6: processAlgorithm

    def processAlgorithm(self, progress):
        filename = self.getParameterValue(self.INPUT)
        layer = dataobjects.getObjectFromUri(filename)

        style = self.getParameterValue(self.STYLE)
        layer.loadNamedStyle(style)

        self.setOutputValue(self.OUTPUT, filename)
        iface.mapCanvas().refresh()
        iface.legendInterface().refreshLayerSymbology(layer)
开发者ID:Qgis-Tr-kr,项目名称:QGIS,代码行数:10,代码来源:SetVectorStyle.py

示例7: loadLayer

    def loadLayer(self, inputParam, idSubgrupo, loadedLayers, useInheritance, useQml, uniqueLoad, stylePath, domainDict, multiColumnsDict, domLayerDict, edgvVersion, geomColumn = None, isView = False):
        """
        Loads a layer
        :param lyrName: Layer nmae
        :param loadedLayers: list of loaded layers
        :param idSubgrupo: sub group id
        :param uniqueLoad: boolean to mark if the layer should only be loaded once
        :param stylePath: path to the styles used
        :param domLayerDict: domain dictionary
        :return:
        """
        if isinstance(inputParam,dict):
            lyrName = inputParam['lyrName']
            schema = inputParam['tableSchema']
            geomColumn = inputParam['geom']
            tableName = inputParam['tableName']
            srid =  self.geomDict['tablePerspective'][tableName]['srid']
        else:
            lyrName = inputParam
            tableName = self.geomDict['tablePerspective'][lyrName]['tableName']
            schema = self.geomDict['tablePerspective'][lyrName]['schema']
            geomColumn = self.geomDict['tablePerspective'][lyrName]['geometryColumn']
            srid =  self.geomDict['tablePerspective'][lyrName]['srid']
        if uniqueLoad:
            lyr = self.checkLoaded(tableName, loadedLayers)
            if lyr:
                return lyr
        fullName = '''"{0}"."{1}"'''.format(schema, tableName)
        pkColumn = self.abstractDb.getPrimaryKeyColumn(fullName)
        if useInheritance or self.abstractDb.getDatabaseVersion() in ['3.0', 'Non_Edgv']:
            sql = ''
        else:
            sql = self.abstractDb.gen.loadLayerFromDatabase(fullName, pkColumn=pkColumn)            
        self.setDataSource(schema, tableName, geomColumn, sql, pkColumn=pkColumn)

        vlayer = iface.addVectorLayer(self.uri.uri(), tableName, self.provider)
        crs = QgsCoordinateReferenceSystem(int(srid), QgsCoordinateReferenceSystem.EpsgCrsId)
        if vlayer:
            vlayer.setCrs(crs)
            if useQml:
                vlayer = self.setDomainsAndRestrictionsWithQml(vlayer)
            else:
                vlayer = self.setDomainsAndRestrictions(vlayer, tableName, domainDict, multiColumnsDict, domLayerDict)
            if stylePath:
                fullPath = self.getStyle(stylePath, tableName)
                if fullPath:
                    vlayer.applyNamedStyle(fullPath)
            iface.legendInterface().moveLayer(vlayer, idSubgrupo)   
            if not vlayer.isValid():
                QgsMessageLog.logMessage(vlayer.error().summary(), "DSG Tools Plugin", QgsMessageLog.CRITICAL)
        vlayer = self.createMeasureColumn(vlayer)
        return vlayer
开发者ID:lcoandrade,项目名称:DsgTools,代码行数:52,代码来源:postgisLayerLoader.py

示例8: processAlgorithm

    def processAlgorithm(self, progress):
        filename = self.getParameterValue(self.INPUT)
        layer = dataobjects.getObjectFromUri(filename)

        style = self.getParameterValue(self.STYLE)
        layer = dataobjects.getObjectFromUri(filename, False)
        if layer is None:
            dataobjects.load(filename, os.path.basename(filename), style=style)
            self.getOutputFromName(self.OUTPUT).open = False
        else:
            layer.loadNamedStyle(style)
            iface.mapCanvas().refresh()
            iface.legendInterface().refreshLayerSymbology(layer)
开发者ID:Antoviscomi,项目名称:QGIS,代码行数:13,代码来源:SetVectorStyle.py

示例9: processAlgorithm

    def processAlgorithm(self, progress):
        filename = self.getParameterValue(self.INPUT)
        style = self.getParameterValue(self.STYLE)

        dataobjects.resetLoadedLayers()
        layer = dataobjects.getObjectFromUri(filename, False)
        if layer is None:
            dataobjects.load(filename, os.path.basename(filename), style=style)
        else:
            layer.loadNamedStyle(style)
            layer.triggerRepaint()
            iface.legendInterface().refreshLayerSymbology(layer)
        self.setOutputValue(self.OUTPUT, filename)
开发者ID:DHI-GRAS,项目名称:ESA_Processing,代码行数:13,代码来源:SetVectorStyle.py

示例10: processAlgorithm

    def processAlgorithm(self, progress):
        filename = self.getParameterValue(self.INPUT)
        layer = dataobjects.getObjectFromUri(filename)

        style = self.getParameterValue(self.STYLE)
        with open(style) as f:
            xml = "".join(f.readlines())
        d = QDomDocument();
        d.setContent(xml);
        n = d.firstChild();
        layer.readSymbology(n, '')
        self.setOutputValue(self.OUTPUT, filename)
        iface.mapCanvas().refresh()
        iface.legendInterface().refreshLayerSymbology(layer)
开发者ID:Qgis-Tr-kr,项目名称:QGIS,代码行数:14,代码来源:SetRasterStyle.py

示例11: load

def load(fileName, name=None, crs=None, style=None):
    """Loads a layer/table into the current project, given its file.
    """

    if fileName is None:
        return
    prjSetting = None
    settings = QSettings()
    if crs is not None:
        prjSetting = settings.value('/Projections/defaultBehaviour')
        settings.setValue('/Projections/defaultBehaviour', '')
    if name is None:
        name = path.split(fileName)[1]
    qgslayer = QgsVectorLayer(fileName, name, 'ogr')
    if qgslayer.isValid():
        if crs is not None and qgslayer.crs() is None:
            qgslayer.setCrs(crs, False)
        if style is None:
            if qgslayer.geometryType == 0:
                style = ProcessingConfig.getSetting(
                        ProcessingConfig.VECTOR_POINT_STYLE)
            elif qgslayer.geometryType == 1:
                style = ProcessingConfig.getSetting(
                        ProcessingConfig.VECTOR_LINE_STYLE)
            else:
                style = ProcessingConfig.getSetting(
                        ProcessingConfig.VECTOR_POLYGON_STYLE)
        qgslayer.loadNamedStyle(style)
        QgsMapLayerRegistry.instance().addMapLayers([qgslayer])
    else:
        qgslayer = QgsRasterLayer(fileName, name)
        if qgslayer.isValid():
            if crs is not None and qgslayer.crs() is None:
                qgslayer.setCrs(crs, False)
            if style is None:
                style = ProcessingConfig.getSetting(
                        ProcessingConfig.RASTER_STYLE)
            qgslayer.loadNamedStyle(style)
            QgsMapLayerRegistry.instance().addMapLayers([qgslayer])
            iface.legendInterface().refreshLayerSymbology(qgslayer)
        else:
            if prjSetting:
                settings.setValue('/Projections/defaultBehaviour', prjSetting)
            raise RuntimeError(
                    'Could not load layer: ' + unicode(fileName)
                    + '\nCheck the procesing framework log to look for errors')
    if prjSetting:
        settings.setValue('/Projections/defaultBehaviour', prjSetting)

    return qgslayer
开发者ID:cs-ozgur,项目名称:QGIS,代码行数:50,代码来源:dataobjects.py

示例12: updateColorMap

    def updateColorMap(self, ds):
        """ update color map of the current data set given the settings """

        if not ds.custom["c_basic"]:
            cm = ds.custom["c_advancedColorMap"]
        else:
            cm = self._colorMapBasic(ds)

        if not cm:
            return

        cm.alpha = ds.custom["c_alpha"]
        ds.config["c_colormap"] = cm

        iface.legendInterface().refreshLayerSymbology(self)
开发者ID:kkremitzki,项目名称:qgis-crayfish-plugin,代码行数:15,代码来源:crayfish_viewer_plugin_layer.py

示例13: _onNewLayerGroupGenerated

    def _onNewLayerGroupGenerated(self, groupObject, layerList):
        """
        Currently only used to show the first image of a newly created group
        so the user knows when the operation finishes.

        :param groupObject: The legend group object which was created.
        :type  groupObject: QgsLayerTreeGrupo

        :param layerList: The layers which are held in the group object.
        :type  layerList: [QgsLayer]
        """
        if (layerList[0]).isValid() is True:
            iface.legendInterface().setLayerVisible(layerList[0], True)
        else:
            self.postInformationMessageToUser("There was a problem showing a layer.")
开发者ID:CarlosNandreu,项目名称:THREDDSExplorer,代码行数:15,代码来源:Visor_UI.py

示例14: AddRasterLayer

def AddRasterLayer(theRaster):

    # Loop over all the parent group layers for this raster
    # ensuring they are in the tree in correct, nested order
    parentGroup = None
    if len(theRaster.data()) > 0:
        for aGroup in theRaster.data()["group_layers"]:
            parentGroup = AddGroup(aGroup, parentGroup)

    assert parentGroup, "All rasters should be nested and so parentGroup should be instantiated by now"

    # Only add the layer if it's not already in the registry
    if not QgsMapLayerRegistry.instance().mapLayersByName(theRaster.text()):
        rOutput = QgsRasterLayer(theRaster.data()["filepath"], theRaster.text())
        QgsMapLayerRegistry.instance().addMapLayer(rOutput, False)
        parentGroup.addLayer(rOutput)
        
        # call Konrad's symbology method here using data()["symbology"]
        RasterSymbolizer(rOutput).render_GCD(theRaster.data()["symbology"])

        if theRaster.data()["symbology"].lower() == "dem":
            demPath, demExtension = os.path.splitext( theRaster.data()["filepath"])
            hillshadePath = demPath + "HS" + demExtension
            
            if os.path.isfile(hillshadePath):
                rHillshade = QgsRasterLayer(hillshadePath, "Hillshade")
                QgsMapLayerRegistry.instance().addMapLayer(rHillshade, False)
                lHillshade = parentGroup.addLayer(rHillshade)
                legend = iface.legendInterface()
                legend.setLayerExpanded(rHillshade, False)

    # if the layer already exists trigger a refresh
    else:
        print "REFRESJH"
        QgsMapLayerRegistry.instance().mapLayersByName(theRaster.text())[0].triggerRepaint()
开发者ID:NorthArrowResearch,项目名称:GCDViewer,代码行数:35,代码来源:toc_management.py

示例15: get_raster_layer_list

def get_raster_layer_list(iface, visibility='all'):
    """
    Iterate over all layers and return a list of the currently visible WMS-files.
    :param iface: The Qgis-interface that will be accessed
    :type iface: QgisInterface
    :return: A list containing raster layers with the given visibility-value
    :rtype: list
    """
    active_raster_layers = []
    layer_list = QgsMapLayerRegistry.instance().mapLayers()
    interface = iface.legendInterface()

    if visibility == 'visible':
        for key, layer in layer_list.iteritems():
            if layer.type() == QgsMapLayer.RasterLayer and interface.isLayerVisible(layer):
                active_raster_layers.append(layer)

        return active_raster_layers

    elif visibility == 'invisible':
        for key, layer in layer_list.iteritems():
            if layer.type() == QgsMapLayer.RasterLayer and not interface.isLayerVisible(layer):
                active_raster_layers.append(layer)

        return active_raster_layers

    else:
        for key, layer in layer_list.iteritems():
            if layer.type() == QgsMapLayer.RasterLayer:
                active_raster_layers.append(layer)

        return active_raster_layers
开发者ID:uvchik,项目名称:Open_eQuarter,代码行数:32,代码来源:layer_interaction.py


注:本文中的qgis.utils.iface.legendInterface函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。