管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2022-11-10 c0b6fcb60e9937b09e81ce32dd4b30ac5cb0024d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import os
import sys
from qgis.gui import *
from qgis.core import *
from qgis.PyQt.QtCore import *
from qgis.PyQt.QtWidgets import *
 
 
class MapViewer(QMainWindow):
    def __init__(self, shapefile):
        QMainWindow.__init__(self)
        self.setWindowTitle("Map Viewer")
 
        canvas = QgsMapCanvas()
        canvas.setCanvasColor(Qt.white)
        canvas.show()
 
        project = QgsProject.instance()
        project.read(r'E:/data/1.Natural_Earth/Test.qgz')
 
        layer = QgsVectorLayer(shapefile, "layer1", "ogr")
        if not layer.isValid():
            raise IOError("Invalid shapefile")
 
        # project.addMapLayer(layer)
        # canvas.setExtent(layer.extent())
        # canvas.setLayers([layer])
        layers = project.mapLayers().values()
        canvas.setLayers(layers)
 
        layout = QVBoxLayout()
        layout.addWidget(canvas)
 
        contents = QWidget()
        contents.setLayout(layout)
        self.setCentralWidget(contents)
 
 
if __name__ == "__main__":
    QgsApplication.setPrefixPath("qgis", True)
    qgs = QgsApplication([], True)
    qgs.initQgis()
 
    viewer = MapViewer("./data/Counties.shp")
    viewer.show()
    exitCode = qgs.exec()
 
    qgs.exitQgis()