Exemplo n.º 1
0
def openProjectFromMapboxFile(mapboxFile):
    iface.newProject()
    layers = {}
    labels = []
    with open(mapboxFile) as f:
        project = json.load(f)
    if "sprite" in project:
        sprites = os.path.join(os.path.dirname(mapboxFile), project["sprite"])
    else:
        sprites = None
    for layer in project["layers"]:
        layerType = project["sources"][layer["source"]]["type"]
        if layerType.lower() == "geojson":
            source = project["sources"][layer["source"]]["data"]
            path = os.path.join(os.path.dirname(mapboxFile), source)
            if layer["id"].startswith("txt"):
                labels.append(layer)
            else:
                add = True
                if layer["source"] not in layers:
                    add = False
                    layers[layer["source"]] = dataobjects.load(
                        path, layer["id"])
                setLayerSymbologyFromMapboxStyle(layers[layer["source"]],
                                                 layer, sprites, add)
        elif layerType.lower() == "raster":
            url = project["sources"][layer["source"]]["tiles"][0]
            url = url.replace("bbox={bbox-epsg-3857}", "")
            url = url.replace("&&", "&")
            wmsLayer = QgsRasterLayer(url, layer["id"], "wms")
            QgsMapLayerRegistry.instance().addMapLayer(wmsLayer)
    for labelLayer in labels:
        setLayerLabelingFromMapboxStyle(layers[labelLayer["source"]],
                                        labelLayer)
Exemplo n.º 2
0
 def project_create(self):
     """Utworzenie nowego projektu QGIS."""
     iface.newProject(promptToSaveFlag=False)
     # Zmiana tytułu okna QGIS'a:
     dlg.proj.setCrs(CRS_1992)
     # iface.mainWindow().setWindowTitle(new_title)
     QgsApplication.processEvents()
     self.groups_create()
     QgsApplication.processEvents()
     self.layers_create()
     return True
Exemplo n.º 3
0
 def testRendererSavedToProject(self):
     """Test that renderer correctly saved in the project"""
     projfile = os.path.join(os.path.dirname(__file__), "data",
                             "project.qgs")
     iface.addProject(projfile)
     layer = _layerFromName("2525")
     renderer = MilStd2525Renderer(50, "SIDC")
     layer.setRenderer(renderer)
     newProjectFile = tempFilename("qgs")
     # noinspection PyArgumentList
     proj = QgsProject.instance()
     proj.write(newProjectFile)
     iface.newProject()
     iface.addProject(newProjectFile)
     layer = _layerFromName("2525")
     layerRenderer = layer.renderer()
     self.assertEquals("MilStd2525Renderer", layerRenderer.type())
Exemplo n.º 4
0
 def project_create(self):
     """Utworzenie nowego projektu QGIS."""
     iface.newProject(False)
     try:
         bmap = self.get_google_layer()
         bmap.renderer().setOpacity(0.75)
     except:
         bmap = None
     if bmap:
         dlg.proj.addMapLayer(bmap)
     else:
         print("Błąd przy załadowaniu WMS!")
     QgsApplication.processEvents()
     dlg.proj.setCrs(CRS_1992)
     canvas = iface.mapCanvas()
     canvas.setExtent(init_extent())
     self.groups_create()
     self.layers_create()
     self.layer_to_group_move(lyr_name="Google Map")
     return True
 def testRendererSavedToProject(self):
     """Test that renderer correctly saved in the project"""
     projfile = os.path.join(os.path.dirname(__file__), "data",
                             "project.qgs")
     iface.addProject(projfile)
     layer = _layerFromName("2525")
     renderer = MilStd2525Renderer(50, "SDIC")
     if QGis.QGIS_VERSION_INT < 29900:
         layer.setRendererV2(renderer)
     else:
         layer.setRenderer(renderer)
     newProjectFile = tempFilename("qgs")
     proj = QgsProject.instance()
     proj.write(QFileInfo(newProjectFile))
     iface.newProject()
     iface.addProject(newProjectFile)
     layer = _layerFromName("2525")
     if QGis.QGIS_VERSION_INT < 29900:
         layerRenderer = layer.rendererV2()
     else:
         layerRenderer = layer.renderer()
     self.assertEquals("MilStd2525Renderer", layerRenderer.type())
Exemplo n.º 6
0
def openProjectFromMapboxFile(mapboxFile):
    iface.newProject()
    layers = {}
    labels = []
    with open(mapboxFile) as f:
        project = json.load(f)
    if "sprite" in project:
        sprites = os.path.join(os.path.dirname(mapboxFile), project["sprite"])
    else:
        sprites = None
    for layer in project["layers"]:
        source = project["sources"][layer["source"]]["data"]
        path = os.path.join(os.path.dirname(mapboxFile), source)
        if layer["id"].startswith("txt"):
            labels.append(layer)
        else:
            qgislayer = dataobjects.load(path, layer["id"])
            setLayerSymbologyFromMapboxStyle(qgislayer, layer, sprites)
            layers[layer["source"]] = qgislayer
    for labelLayer in labels:
        setLayerLabelingFromMapboxStyle(layers[labelLayer["source"]],
                                        labelLayer)
Exemplo n.º 7
0
 def setUp(self):
     iface.newProject()
Exemplo n.º 8
0
 def _getQgisTestLayer(self):
     dest = self._copyTestLayer()
     iface.newProject()
     layer = loadLayerNoCrsDialog(dest, "points", "ogr")
     QgsMapLayerRegistry.instance().addMapLayers([layer])
     return layer
project.writeEntry("myplugin", "mytext", "hello world")
project.writeEntry("myplugin", "myint", 10)
project.writeEntry("myplugin", "mydouble", 0.01)
project.writeEntry("myplugin", "mybool", True)

# Read values
mytext = project.readEntry("myplugin", "mytext", "default text")[0]
myint = project.readNumEntry("myplugin", "myint", 123)[0]

# Read values list
print(project.readListEntry('Scales', 'ScalesList'))


# Function to check if project already read
def loaded():
    print('loaded')

# Combined with previous function, check when the project already read
iface.projectRead.connect(loaded)

# Load another project
project.read(QFileInfo('/home/user/projects/my_other_qgis_project.qgs'))

# Save the project to the same
project.write()
# ... or to a new file
project.write(QFileInfo('/home/user/projects/my_new_qgis_project.qgs'))

# Start a new empty project
iface.newProject()
 def _getQgisTestLayer(self):
     dest = self._copyTestLayer()
     iface.newProject()
     layer = loadLayerNoCrsDialog(dest, "points", "ogr")
     QgsMapLayerRegistry.instance().addMapLayers([layer])
     return layer
 def _stopEditing():
     layer = _layerFromName("2525")
     layer.rollBack()
     iface.newProject()
project.writeEntry("myplugin", "myint", 10)
project.writeEntry("myplugin", "mydouble", 0.01)
project.writeEntry("myplugin", "mybool", True)

# Read values
mytext = project.readEntry("myplugin", "mytext", "default text")[0]
myint = project.readNumEntry("myplugin", "myint", 123)[0]

# Read values list
print(project.readListEntry('Scales', 'ScalesList'))


# Function to check if project already read
def loaded():
    print('loaded')


# Combined with previous function, check when the project already read
iface.projectRead.connect(loaded)

# Load another project
project.read(QFileInfo('/home/user/projects/my_other_qgis_project.qgs'))

# Save the project to the same
project.write()
# ... or to a new file
project.write(QFileInfo('/home/user/projects/my_new_qgis_project.qgs'))

# Start a new empty project
iface.newProject()