def loadProject(filename): # clear the map layer registry QgsMapLayerRegistry.instance().removeAllMapLayers() assert os.path.exists(filename), "project file does not exist: " + filename # load the project QgsProject.instance().read(QFileInfo(filename)) assert QgsMapLayerRegistry.instance().mapLayers(), "no layers in map layer registry" doc = QDomDocument() with open(filename) as f: doc.setContent(f.read()) # map settings mapSettings = QgsMapSettings() mapSettings.readXML(doc.elementsByTagName("mapcanvas").at(0)) # visible layers layerIds = [] nodes = doc.elementsByTagName("legendlayer") for i in range(nodes.count()): elem = nodes.at(i).toElement().elementsByTagName("legendlayerfile").at(0).toElement() if elem.attribute("visible") == "1": layerIds.append(elem.attribute("layerid")) mapSettings.setLayers(layerIds) # canvas color red = int(doc.elementsByTagName("CanvasColorRedPart").at(0).toElement().text()) green = int(doc.elementsByTagName("CanvasColorGreenPart").at(0).toElement().text()) blue = int(doc.elementsByTagName("CanvasColorBluePart").at(0).toElement().text()) mapSettings.setBackgroundColor(QColor(red, green, blue)) return mapSettings
def settings(self): """ Return the settings that have been set for the map canvas. @return: A QgsMapSettings instance with the settings read from the project. """ canvasnodes = self.doc.elementsByTagName("mapcanvas") node = canvasnodes.at(0).toElement() settings = QgsMapSettings() settings.readXML(node) return settings
def map_settings(self): """ Return the settings that have been set for the map canvas. @return: A QgsMapSettings instance with the settings read from the project. """ xml = open(QgsProject.instance().fileName()).read() doc = QDomDocument() doc.setContent(xml) canvasnodes = doc.elementsByTagName("mapcanvas") node = canvasnodes.at(0).toElement() settings = QgsMapSettings() settings.readXML(node) return settings
def loadProject(filename): # clear the map layer registry QgsMapLayerRegistry.instance().removeAllMapLayers() assert os.path.exists(filename), "project file does not exist: " + filename # load the project QgsProject.instance().read(QFileInfo(filename)) assert QgsMapLayerRegistry.instance().mapLayers( ), "no layers in map layer registry" doc = QDomDocument() with open(filename) as f: doc.setContent(f.read()) # map settings mapSettings = QgsMapSettings() mapSettings.readXML(doc.elementsByTagName("mapcanvas").at(0)) # visible layers layerIds = [] nodes = doc.elementsByTagName("legendlayer") for i in range(nodes.count()): elem = nodes.at(i).toElement().elementsByTagName("legendlayerfile").at( 0).toElement() if elem.attribute("visible") == "1": layerIds.append(elem.attribute("layerid")) mapSettings.setLayers(layerIds) # canvas color red = int( doc.elementsByTagName("CanvasColorRedPart").at(0).toElement().text()) green = int( doc.elementsByTagName("CanvasColorGreenPart").at(0).toElement().text()) blue = int( doc.elementsByTagName("CanvasColorBluePart").at(0).toElement().text()) mapSettings.setBackgroundColor(QColor(red, green, blue)) return mapSettings
def settings(self): canvas_nodes = self.doc.elementsByTagName("mapcanvas") node = canvas_nodes.at(0).toElement() settings = QgsMapSettings() settings.readXML(node) return settings