Пример #1
0
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
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
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
Пример #6
0
 def settings(self):
     canvas_nodes = self.doc.elementsByTagName("mapcanvas")
     node = canvas_nodes.at(0).toElement()
     settings = QgsMapSettings()
     settings.readXML(node)
     return settings
Пример #7
0
 def settings(self):
     canvas_nodes = self.doc.elementsByTagName("mapcanvas")
     node = canvas_nodes.at(0).toElement()
     settings = QgsMapSettings()
     settings.readXML(node)
     return settings