管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-07 5daf4c21294132319770e27d9916fb12be0db7fe
1
已修改3个文件
127 ■■■■■ 文件已修改
QGIS/Template.qpt 93 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QGIS/Test.qgz 补丁 | 查看 | 原始文档 | blame | 历史
QGIS/render.py 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QGIS/Template.qpt
@@ -1,4 +1,4 @@
<Layout printResolution="150" name="Template" units="mm" worldFileMap="{4e649c5d-cabe-431f-a385-d69809d87ebf}">
<Layout printResolution="300" name="Template" units="mm" worldFileMap="{4e649c5d-cabe-431f-a385-d69809d87ebf}">
 <Snapper tolerance="5" snapToGuides="1" snapToGrid="0" snapToItems="1"/>
 <Grid offsetX="0" offsetY="0" resolution="10" resUnits="mm" offsetUnits="mm"/>
 <PageCollection>
@@ -62,20 +62,6 @@
  </LayoutItem>
  <GuideCollection visible="1"/>
 </PageCollection>
 <LayoutItem anchorPoint="0" templateUuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" background="false" mode="0" position="277.938,2.42978,mm" type="65640" svgFillColor="255,255,255,255" pictureRotation="0" northMode="0" id="指北针" groupUuid="" zValue="8" uuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" opacity="1" referencePoint="0" visibility="1" file=":/images/north_arrows/layout_default_north_arrow.svg" mapUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" resizeMode="0" excludeFromExports="0" svgBorderWidth="0.2" size="10.4237,11.1743,mm" itemRotation="0" svgBorderColor="0,0,0,255" outlineWidthM="0.3,mm" positionLock="true" frame="false" pictureWidth="8.85237" frameJoinStyle="miter" pictureHeight="11.1743" blendMode="0" positionOnPage="277.938,2.42978,mm" northOffset="0">
  <FrameColor blue="0" green="0" red="0" alpha="255"/>
  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
  <LayoutObject>
   <dataDefinedProperties>
    <Option type="Map">
     <Option type="QString" value="" name="name"/>
     <Option name="properties"/>
     <Option type="QString" value="collection" name="type"/>
    </Option>
   </dataDefinedProperties>
   <customproperties/>
  </LayoutObject>
 </LayoutItem>
 <LayoutItem templateUuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" background="false" position="212.337,195.29,mm" type="65641" labelText="中国石油天然气管道工程有限公司" id="公司" groupUuid="" zValue="8" uuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" opacity="1" referencePoint="0" visibility="1" excludeFromExports="0" htmlState="0" size="76.0244,9.39831,mm" itemRotation="0" outlineWidthM="0.3,mm" valign="128" positionLock="true" halign="4" frame="false" frameJoinStyle="miter" blendMode="0" positionOnPage="212.337,195.29,mm" marginY="0" marginX="0">
  <FrameColor blue="0" green="0" red="0" alpha="255"/>
  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
@@ -91,6 +77,20 @@
  </LayoutObject>
  <LabelFont description="宋体,14,-1,5,50,0,0,0,0,0,常规" style="常规"/>
  <FontColor blue="0" green="0" red="0" alpha="255"/>
 </LayoutItem>
 <LayoutItem anchorPoint="0" templateUuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" background="false" mode="0" position="277.938,2.42978,mm" type="65640" svgFillColor="255,255,255,255" pictureRotation="0" northMode="0" id="指北针" groupUuid="" zValue="8" uuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" opacity="1" referencePoint="0" visibility="1" file=":/images/north_arrows/layout_default_north_arrow.svg" mapUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" resizeMode="0" excludeFromExports="0" svgBorderWidth="0.2" size="10.4237,11.1743,mm" itemRotation="0" svgBorderColor="0,0,0,255" outlineWidthM="0.3,mm" positionLock="true" frame="false" pictureWidth="8.85237" frameJoinStyle="miter" pictureHeight="11.1743" blendMode="0" positionOnPage="277.938,2.42978,mm" northOffset="0">
  <FrameColor blue="0" green="0" red="0" alpha="255"/>
  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
  <LayoutObject>
   <dataDefinedProperties>
    <Option type="Map">
     <Option type="QString" value="" name="name"/>
     <Option name="properties"/>
     <Option type="QString" value="collection" name="type"/>
    </Option>
   </dataDefinedProperties>
   <customproperties/>
  </LayoutObject>
 </LayoutItem>
 <LayoutItem anchorPoint="0" templateUuid="{29298722-a58a-42f7-85d1-04564ad9366d}" background="false" mode="1" position="200.5,194.948,mm" type="65640" svgFillColor="255,255,255,255" pictureRotation="0" northMode="0" id="Logo" groupUuid="" zValue="7" uuid="{29298722-a58a-42f7-85d1-04564ad9366d}" opacity="1" referencePoint="0" visibility="1" file="../../../CPPE/CPPE/imgs/logo.png" mapUuid="" resizeMode="0" excludeFromExports="0" svgBorderWidth="0.2" size="11.6809,10.7409,mm" itemRotation="0" svgBorderColor="0,0,0,255" outlineWidthM="0.3,mm" positionLock="true" frame="false" pictureWidth="11.4207" frameJoinStyle="miter" pictureHeight="10.7409" blendMode="0" positionOnPage="200.5,194.948,mm" northOffset="0">
  <FrameColor blue="0" green="0" red="0" alpha="255"/>
@@ -170,6 +170,12 @@
   <customproperties/>
   <layer-tree-group expanded="1" name="管道基础大数据平台" checked="Qt::Checked">
    <customproperties/>
    <layer-tree-layer source="crs=EPSG:4326&amp;dpiMode=7&amp;format=image/png&amp;layers=Alkaline_AuTe&amp;styles&amp;url=https://mrdata.usgs.gov/services/nmra?version%3D1.3.0" expanded="0" patch_size="-1,-1" legend_split_behavior="0" id="Permissive_tracts_for_Alkaline_Au_Te_a94800f2_3d81_4db3_abb9_7609c34ea98f" name="Permissive" checked="Qt::Checked" providerKey="wms" legend_exp="">
     <customproperties>
      <property value="Permissive" key="cached_name"/>
      <property value="hidden" key="legend/title-style"/>
     </customproperties>
    </layer-tree-layer>
    <layer-tree-layer source="../../../../data/13.cppe/shps/VALVEHOUSEPOINT.shp" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="VALVEHOUSEPOINT_5d566d73_8061_447a_a9e3_3e7adad17bd7" name="阀室" checked="Qt::Checked" providerKey="ogr" legend_exp="">
     <customproperties>
      <property value="阀室" key="cached_name"/>
@@ -190,42 +196,41 @@
    <customproperties>
     <property value="hidden" key="legend/title-style"/>
    </customproperties>
    <layer-tree-group expanded="1" name="天地图矢量" checked="Qt::Checked">
    <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dcva_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图矢量注记_09d423fe_381d_40e5_9a42_f9e97684e6aa" name="矢量注记" checked="Qt::Checked" providerKey="wms" legend_exp="">
     <customproperties>
      <property value="矢量注记" key="cached_name"/>
      <property value="hidden" key="legend/title-style"/>
     </customproperties>
     <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dcva_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图矢量注记_09d423fe_381d_40e5_9a42_f9e97684e6aa" name="矢量注记" checked="Qt::Checked" providerKey="wms" legend_exp="">
      <customproperties>
       <property value="矢量注记" key="cached_name"/>
       <property value="hidden" key="legend/title-style"/>
      </customproperties>
     </layer-tree-layer>
     <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dvec_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图矢量_1e2a46b5_e669_4761_b0ed_ac33ac334236" name="矢量图" checked="Qt::Checked" providerKey="wms" legend_exp="">
      <customproperties>
       <property value="矢量图" key="cached_name"/>
       <property value="hidden" key="legend/title-style"/>
      </customproperties>
     </layer-tree-layer>
    </layer-tree-group>
    <layer-tree-group expanded="1" name="天地图影像" checked="Qt::Unchecked">
    </layer-tree-layer>
    <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dvec_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图矢量_1e2a46b5_e669_4761_b0ed_ac33ac334236" name="矢量图" checked="Qt::Checked" providerKey="wms" legend_exp="">
     <customproperties>
      <property value="矢量图" key="cached_name"/>
      <property value="hidden" key="legend/title-style"/>
     </customproperties>
     <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dcia_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图影像注记_2812ff17_7124_4466_987d_72379b47749c" name="影像注记" checked="Qt::Checked" providerKey="wms" legend_exp="">
      <customproperties>
       <property value="影像注记" key="cached_name"/>
       <property value="hidden" key="legend/title-style"/>
      </customproperties>
     </layer-tree-layer>
     <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dimg_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图影像_676a0cc6_1fe3_4db1_95df_22c16a8b51ea" name="影像图" checked="Qt::Checked" providerKey="wms" legend_exp="">
      <customproperties>
       <property value="影像图" key="cached_name"/>
       <property value="hidden" key="legend/title-style"/>
      </customproperties>
     </layer-tree-layer>
    </layer-tree-group>
    </layer-tree-layer>
    <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dcia_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图影像注记_2812ff17_7124_4466_987d_72379b47749c" name="影像注记" checked="Qt::Checked" providerKey="wms" legend_exp="">
     <customproperties>
      <property value="影像注记" key="cached_name"/>
      <property value="hidden" key="legend/title-style"/>
     </customproperties>
    </layer-tree-layer>
    <layer-tree-layer source="crs=EPSG:3857&amp;format&amp;type=xyz&amp;url=http://t0.tianditu.gov.cn/DataServer?T%3Dimg_w%26x%3D%7Bx%7D%26y%3D%7By%7D%26l%3D%7Bz%7D%26tk%3D94a34772eb88317fcbf8428e10448561&amp;zmax=18&amp;zmin=0" expanded="1" patch_size="-1,-1" legend_split_behavior="0" id="天地图影像_676a0cc6_1fe3_4db1_95df_22c16a8b51ea" name="影像图" checked="Qt::Checked" providerKey="wms" legend_exp="">
     <customproperties>
      <property value="影像图" key="cached_name"/>
      <property value="hidden" key="legend/title-style"/>
     </customproperties>
    </layer-tree-layer>
   </layer-tree-group>
   <custom-order enabled="0"/>
   <custom-order enabled="0">
    <item>天地图影像_676a0cc6_1fe3_4db1_95df_22c16a8b51ea</item>
    <item>天地图矢量_1e2a46b5_e669_4761_b0ed_ac33ac334236</item>
    <item>天地图矢量注记_09d423fe_381d_40e5_9a42_f9e97684e6aa</item>
    <item>天地图影像注记_2812ff17_7124_4466_987d_72379b47749c</item>
    <item>STATIONSERIES_5bfe7f3c_86b2_4fda_bae4_c44a33ab33e0</item>
    <item>VALVEHOUSEPOINT_5d566d73_8061_447a_a9e3_3e7adad17bd7</item>
    <item>SITEPOINT_484a52d0_7a8e_4f9e_9ad3_d940e10e24d3</item>
    <item>Permissive_tracts_for_Alkaline_Au_Te_a94800f2_3d81_4db3_abb9_7609c34ea98f</item>
   </custom-order>
  </layer-tree-group>
 </LayoutItem>
 <LayoutItem templateUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" background="true" isTemporal="0" followPresetName="" keepLayerSet="false" followPreset="false" mapRotation="0" position="9.47563,16.5367,mm" type="65639" id="地图" groupUuid="" zValue="2" uuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" opacity="1" referencePoint="0" visibility="1" excludeFromExports="0" size="278.717,173.275,mm" labelMargin="0,mm" mapFlags="0" itemRotation="0" drawCanvasItems="false" outlineWidthM="4,px" positionLock="true" frame="true" frameJoinStyle="round" blendMode="0" positionOnPage="9.47563,16.5367,mm">
QGIS/Test.qgz
Binary files differ
QGIS/render.py
@@ -7,6 +7,25 @@
from qgis.PyQt.QtWidgets import *
from qgis.PyQt.QtXml import *
def setChild(project, root, showLayers):
    print('Group: ' + root.name())
    for node in root.children():
        # QgsLayerTreeLayer
        if isinstance(node, QgsLayerTreeGroup):
            setChild(project, node, showLayers)
        # QgsRasterLayer, QgsVectorLayer
        else:
            name = node.layer().name()
            flag = name in showLayers
            print(str(flag) + ", " + name)
            if not flag:
                root.removeLayer(node.layer())
                # node.layer().setValid(False)
            # lyr.setSubLayerVisibility(name, flag)
QgsApplication.setPrefixPath(r"C:/Program Files/QGIS 3.16/bin", True)
qgs = QgsApplication([], True)
qgs.initQgis()
@@ -14,9 +33,6 @@
project = QgsProject.instance()
project.read(r'E:/terrait/TianJin/LFServer/QGIS/Test.qgz')
print("FileName: " + project.fileName())
# layers = project.mapLayers().values()
# root = project.layerTreeRoot()
# layout = QgsPrintLayout(project)
layout = QgsLayout(project)
@@ -29,7 +45,17 @@
layout.loadFromTemplate(doc, QgsReadWriteContext(), True)
map = layout.itemById(r'地图')
print(math.ceil(map.scale()))
print('1:' + str(math.ceil(map.scale())))
# "阀室", "站场", "管道中心线", "矢量注记", "矢量图", "影像注记", "影像图"
showLayers = ["站场", "管道中心线", "影像注记", "影像图"]
root = project.layerTreeRoot()
setChild(project, root, showLayers)
# for layer in project.mapLayers().values():
#     if isinstance(layer, QgsRasterLayer):
#         print(layer)
#     if isinstance(layer, QgsVectorLayer):
#         print(layer)
exporter = QgsLayoutExporter(layout)
img_path = os.path.join(r"E:/terrait/TianJin/LFServer/QGIS", "render.png")