From 542d8a4aab372c511a98e05a1b58c3b1c3e3de7b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 08 九月 2023 13:47:51 +0800
Subject: [PATCH] 1

---
 ExportMap/Sources/MoonExp.py     |  133 +++++++
 MoonExp/Sources/MoonTemplate.qpt |  474 ++++++++++++++++++++++++
 MoonExp/cs/ExportUtil.cs         |    8 
 ExportMap/Sources/Moon.qpt       |  474 ++++++++++++++++++++++++
 ExportMap/Sources/Moon.qgz       |    0 
 5 files changed, 1,085 insertions(+), 4 deletions(-)

diff --git a/ExportMap/Sources/Moon.qgz b/ExportMap/Sources/Moon.qgz
new file mode 100644
index 0000000..f2da2e8
--- /dev/null
+++ b/ExportMap/Sources/Moon.qgz
Binary files differ
diff --git a/ExportMap/Sources/Moon.qpt b/ExportMap/Sources/Moon.qpt
new file mode 100644
index 0000000..35fcc33
--- /dev/null
+++ b/ExportMap/Sources/Moon.qpt
@@ -0,0 +1,474 @@
+<Layout printResolution="300" units="mm" name="Moon" worldFileMap="{4e649c5d-cabe-431f-a385-d69809d87ebf}">
+ <Snapper snapToGuides="1" tolerance="5" snapToGrid="0" snapToItems="1"/>
+ <Grid resolution="10" offsetX="0" resUnits="mm" offsetUnits="mm" offsetY="0"/>
+ <PageCollection>
+  <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+   <layer class="SimpleFill" pass="0" enabled="1" locked="0">
+    <prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="color" v="255,255,255,255"/>
+    <prop k="joinstyle" v="miter"/>
+    <prop k="offset" v="0,0"/>
+    <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="offset_unit" v="MM"/>
+    <prop k="outline_color" v="35,35,35,255"/>
+    <prop k="outline_style" v="no"/>
+    <prop k="outline_width" v="0.26"/>
+    <prop k="outline_width_unit" v="MM"/>
+    <prop k="style" v="solid"/>
+    <data_defined_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </data_defined_properties>
+   </layer>
+  </symbol>
+  <LayoutItem templateUuid="{72530018-3d33-4843-b661-79580c9b15e3}" frame="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="297,210,mm" position="0,0,mm" outlineWidthM="0.3,mm" background="true" referencePoint="0" positionOnPage="0,0,mm" type="65638" uuid="{72530018-3d33-4843-b661-79580c9b15e3}" id="" frameJoinStyle="miter" positionLock="false" blendMode="0" zValue="0" opacity="1">
+   <FrameColor blue="0" green="0" red="0" alpha="255"/>
+   <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+   <LayoutObject>
+    <dataDefinedProperties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dataDefinedProperties>
+    <customproperties/>
+   </LayoutObject>
+   <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+    <layer class="SimpleFill" pass="0" enabled="1" locked="0">
+     <prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+     <prop k="color" v="255,255,255,255"/>
+     <prop k="joinstyle" v="miter"/>
+     <prop k="offset" v="0,0"/>
+     <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+     <prop k="offset_unit" v="MM"/>
+     <prop k="outline_color" v="35,35,35,255"/>
+     <prop k="outline_style" v="no"/>
+     <prop k="outline_width" v="0.26"/>
+     <prop k="outline_width_unit" v="MM"/>
+     <prop k="style" v="solid"/>
+     <data_defined_properties>
+      <Option type="Map">
+       <Option value="" type="QString" name="name"/>
+       <Option name="properties"/>
+       <Option value="collection" type="QString" name="type"/>
+      </Option>
+     </data_defined_properties>
+    </layer>
+   </symbol>
+  </LayoutItem>
+  <GuideCollection visible="1"/>
+ </PageCollection>
+ <LayoutItem templateUuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" frame="false" northMode="0" file=":/images/north_arrows/layout_default_north_arrow.svg" mode="0" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="1" excludeFromExports="0" size="10.4237,11.1743,mm" position="278.938,4.42978,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="278.938,4.42978,mm" type="65640" resizeMode="0" uuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" id="鎸囧寳閽�" pictureWidth="8.85237" mapUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" northOffset="0" pictureHeight="11.1743" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="true" blendMode="0" svgBorderColor="0,0,0,255" zValue="8" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" frame="false" marginY="0" groupUuid="" itemRotation="0" halign="4" visibility="1" excludeFromExports="0" size="76.0244,8.6585,mm" position="213.337,195.989,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" positionOnPage="213.337,195.989,mm" type="65641" uuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" id="鍏徃" htmlState="0" frameJoinStyle="miter" positionLock="true" labelText="鏈堢悆澶ф暟鎹湴鐞嗙┖闂村垎鏋愬睍绀哄钩鍙�" valign="128" blendMode="0" zValue="8" marginX="0" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <LabelFont description="瀹嬩綋,14,-1,5,50,0,0,0,0,0,甯歌" style="甯歌"/>
+  <FontColor blue="0" green="0" red="0" alpha="255"/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{a53c1ba6-77af-48ea-bd86-8e12ae041979}" frame="false" northMode="0" file="" mode="0" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="0" excludeFromExports="0" size="43.6229,72.286,mm" position="11.7,117,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="11.7,117,mm" type="65640" resizeMode="1" uuid="{a53c1ba6-77af-48ea-bd86-8e12ae041979}" id="鍥句緥" pictureWidth="43.6229" mapUuid="" northOffset="0" pictureHeight="72.286" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="false" blendMode="0" svgBorderColor="0,0,0,255" zValue="8" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{29298722-a58a-42f7-85d1-04564ad9366d}" frame="false" northMode="0" file="E:\terrait\TianJin\ExportMap\MoonExp\Sources\logo.png" mode="1" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="1" excludeFromExports="0" size="11.6809,10.7409,mm" position="200.5,194.948,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="200.5,194.948,mm" type="65640" resizeMode="0" uuid="{29298722-a58a-42f7-85d1-04564ad9366d}" id="Logo" pictureWidth="10.7409" mapUuid="" northOffset="0" pictureHeight="10.7409" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="true" blendMode="0" svgBorderColor="0,0,0,255" zValue="7" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" frame="false" sectionX="0" groupUuid="" itemRotation="0" sectionWidth="39.6466" visibility="1" excludeFromExports="0" multiFrame="{3f590e9a-19b4-46d3-90bb-6a188b24aaa6}" size="39.6466,5.739,mm" position="247,183.864,mm" hideBackgroundIfEmpty="0" outlineWidthM="0.3,mm" sectionY="0" background="false" referencePoint="0" hidePageIfEmpty="0" positionOnPage="247,183.864,mm" type="65647" uuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" sectionHeight="5.739" id="璇存槑" frameJoinStyle="miter" positionLock="false" multiFrameTemplateUuid="{3f590e9a-19b4-46d3-90bb-6a188b24aaa6}" blendMode="0" zValue="6" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{81ccb104-2767-491d-8296-cd4ccbebed3e}" frame="false" marginY="0" groupUuid="" itemRotation="0" halign="4" visibility="1" excludeFromExports="0" size="165.122,11.1743,mm" position="68.2935,4.42978,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" positionOnPage="68.2935,4.42978,mm" type="65641" uuid="{81ccb104-2767-491d-8296-cd4ccbebed3e}" id="鏍囬" htmlState="0" frameJoinStyle="miter" positionLock="true" labelText="SmartEarth涓夌淮鍦扮悊淇℃伅绯荤粺骞冲彴V7.0" valign="128" blendMode="0" zValue="4" marginX="0" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <LabelFont description="寰蒋闆呴粦,24,-1,5,75,0,0,0,0,0,Bold" style="Bold"/>
+  <FontColor blue="0" green="0" red="0" alpha="255"/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" frame="true" keepLayerSet="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="280,174,mm" position="9,18,mm" outlineWidthM="4,px" background="true" drawCanvasItems="true" mapRotation="0" referencePoint="0" followPresetName="" positionOnPage="9,18,mm" type="65639" uuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" id="鍦板浘" mapFlags="0" frameJoinStyle="round" positionLock="true" blendMode="0" isTemporal="0" zValue="2" labelMargin="0,mm" followPreset="false" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <Extent ymax="64.40696224962117356" ymin="9.87192880480477086" xmin="64.38422237834893735" xmax="152.1417474619615291"/>
+  <crs>
+   <spatialrefsys>
+    <wkt>GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]</wkt>
+    <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+    <srsid>3452</srsid>
+    <srid>4326</srid>
+    <authid>EPSG:4326</authid>
+    <description>WGS 84</description>
+    <projectionacronym>longlat</projectionacronym>
+    <ellipsoidacronym>EPSG:7030</ellipsoidacronym>
+    <geographicflag>true</geographicflag>
+   </spatialrefsys>
+  </crs>
+  <LayerSet/>
+  <ComposerMapGrid gridFrameSideFlags="15" rotatedTicksEnabled="1" rightAnnotationDisplay="0" intervalX="15" offsetX="0" rotatedTicksLengthMode="0" show="0" position="3" topAnnotationDisplay="0" gridFrameWidth="1" gridStyle="3" rightFrameDivisions="0" crossLength="3" bottomAnnotationDisplay="0" rightAnnotationPosition="1" maximumIntervalWidth="10" annotationExpression="" unit="1" minimumIntervalWidth="12" rotatedAnnotationsMarginToCorner="0" gridFrameMargin="0" leftAnnotationPosition="1" annotationPrecision="3" rotatedTicksMarginToCorner="0" leftAnnotationDisplay="0" bottomAnnotationPosition="1" gridFramePenThickness="0.5" bottomAnnotationDirection="0" rotatedTicksMinimumAngle="0" topAnnotationPosition="1" name="缃戞牸" offsetY="5" frameFillColor1="255,255,255,255" uuid="{33b582a6-ae09-42c2-b50b-ae68c9d6d71a}" topFrameDivisions="0" showAnnotation="1" frameAnnotationDistance="0.5" gridFrameStyle="3" rotatedAnnotationsEnabled="1" rotatedAnnotationsLengthMode="0" frameFillColor2="0,0,0,255" rotatedAnnotationsMinimumAngle="0" topAnnotationDirection="0" annotationFormat="0" leftFrameDivisions="0" rightAnnotationDirection="2" leftAnnotationDirection="2" blendMode="0" gridFramePenColor="0,0,0,255" bottomFrameDivisions="0" intervalY="15">
+   <lineStyle>
+    <symbol clip_to_extent="1" type="line" name="" force_rhr="0" alpha="0.616">
+     <layer class="SimpleLine" pass="0" enabled="1" locked="0">
+      <prop k="align_dash_pattern" v="0"/>
+      <prop k="capstyle" v="round"/>
+      <prop k="customdash" v="0.66;2"/>
+      <prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="customdash_unit" v="MM"/>
+      <prop k="dash_pattern_offset" v="0"/>
+      <prop k="dash_pattern_offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="dash_pattern_offset_unit" v="MM"/>
+      <prop k="draw_inside_polygon" v="0"/>
+      <prop k="joinstyle" v="round"/>
+      <prop k="line_color" v="0,0,0,255"/>
+      <prop k="line_style" v="solid"/>
+      <prop k="line_width" v="0.5"/>
+      <prop k="line_width_unit" v="MM"/>
+      <prop k="offset" v="0"/>
+      <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="offset_unit" v="MM"/>
+      <prop k="ring_filter" v="0"/>
+      <prop k="tweak_dash_pattern_on_corners" v="0"/>
+      <prop k="use_custom_dash" v="1"/>
+      <prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <data_defined_properties>
+       <Option type="Map">
+        <Option value="" type="QString" name="name"/>
+        <Option name="properties"/>
+        <Option value="collection" type="QString" name="type"/>
+       </Option>
+      </data_defined_properties>
+     </layer>
+    </symbol>
+   </lineStyle>
+   <markerStyle>
+    <symbol clip_to_extent="1" type="marker" name="" force_rhr="0" alpha="1">
+     <layer class="SimpleMarker" pass="0" enabled="1" locked="0">
+      <prop k="angle" v="0"/>
+      <prop k="color" v="0,0,0,255"/>
+      <prop k="horizontal_anchor_point" v="1"/>
+      <prop k="joinstyle" v="bevel"/>
+      <prop k="name" v="circle"/>
+      <prop k="offset" v="0,0"/>
+      <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="offset_unit" v="MM"/>
+      <prop k="outline_color" v="35,35,35,255"/>
+      <prop k="outline_style" v="solid"/>
+      <prop k="outline_width" v="0"/>
+      <prop k="outline_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="outline_width_unit" v="MM"/>
+      <prop k="scale_method" v="diameter"/>
+      <prop k="size" v="2"/>
+      <prop k="size_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="size_unit" v="MM"/>
+      <prop k="vertical_anchor_point" v="1"/>
+      <data_defined_properties>
+       <Option type="Map">
+        <Option value="" type="QString" name="name"/>
+        <Option name="properties"/>
+        <Option value="collection" type="QString" name="type"/>
+       </Option>
+      </data_defined_properties>
+     </layer>
+    </symbol>
+   </markerStyle>
+   <spatialrefsys>
+    <wkt>GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]</wkt>
+    <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+    <srsid>3452</srsid>
+    <srid>4326</srid>
+    <authid>EPSG:4326</authid>
+    <description>WGS 84</description>
+    <projectionacronym>longlat</projectionacronym>
+    <ellipsoidacronym>EPSG:7030</ellipsoidacronym>
+    <geographicflag>true</geographicflag>
+   </spatialrefsys>
+   <text-style fontSize="8" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0">
+     <symbol clip_to_extent="1" type="marker" name="markerSymbol" force_rhr="0" alpha="1">
+      <layer class="SimpleMarker" pass="0" enabled="1" locked="0">
+       <prop k="angle" v="0"/>
+       <prop k="color" v="231,113,72,255"/>
+       <prop k="horizontal_anchor_point" v="1"/>
+       <prop k="joinstyle" v="bevel"/>
+       <prop k="name" v="circle"/>
+       <prop k="offset" v="0,0"/>
+       <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="offset_unit" v="MM"/>
+       <prop k="outline_color" v="35,35,35,255"/>
+       <prop k="outline_style" v="solid"/>
+       <prop k="outline_width" v="0"/>
+       <prop k="outline_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="outline_width_unit" v="MM"/>
+       <prop k="scale_method" v="diameter"/>
+       <prop k="size" v="2"/>
+       <prop k="size_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="size_unit" v="MM"/>
+       <prop k="vertical_anchor_point" v="1"/>
+       <data_defined_properties>
+        <Option type="Map">
+         <Option value="" type="QString" name="name"/>
+         <Option name="properties"/>
+         <Option value="collection" type="QString" name="type"/>
+        </Option>
+       </data_defined_properties>
+      </layer>
+     </symbol>
+    </background>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+   <LayoutObject>
+    <dataDefinedProperties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dataDefinedProperties>
+    <customproperties/>
+   </LayoutObject>
+  </ComposerMapGrid>
+  <AtlasMap atlasDriven="0" margin="0.10000000000000001" scalingMode="2"/>
+  <labelBlockingItems/>
+  <atlasClippingSettings clippingType="1" forceLabelsInside="0" restrictLayers="0" enabled="0">
+   <layersToClip/>
+  </atlasClippingSettings>
+  <itemClippingSettings clippingType="1" forceLabelsInside="0" enabled="0" clipSource=""/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{76e708b9-4aa8-4365-b8ba-3157f836dfa9}" frame="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="292.354,205.447,mm" position="2.6816,2,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" cornerRadiusMeasure="0,mm" positionOnPage="2.6816,2,mm" type="65643" uuid="{76e708b9-4aa8-4365-b8ba-3157f836dfa9}" id="杈规" frameJoinStyle="miter" positionLock="true" blendMode="0" shapeType="1" zValue="1" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+   <layer class="SimpleLine" pass="0" enabled="1" locked="0">
+    <prop k="align_dash_pattern" v="0"/>
+    <prop k="capstyle" v="square"/>
+    <prop k="customdash" v="5;2"/>
+    <prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="customdash_unit" v="Pixel"/>
+    <prop k="dash_pattern_offset" v="0"/>
+    <prop k="dash_pattern_offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="dash_pattern_offset_unit" v="MM"/>
+    <prop k="draw_inside_polygon" v="0"/>
+    <prop k="joinstyle" v="bevel"/>
+    <prop k="line_color" v="53,121,177,255"/>
+    <prop k="line_style" v="solid"/>
+    <prop k="line_width" v="0.96"/>
+    <prop k="line_width_unit" v="Pixel"/>
+    <prop k="offset" v="0"/>
+    <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="offset_unit" v="Pixel"/>
+    <prop k="ring_filter" v="0"/>
+    <prop k="tweak_dash_pattern_on_corners" v="0"/>
+    <prop k="use_custom_dash" v="0"/>
+    <prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <data_defined_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </data_defined_properties>
+   </layer>
+  </symbol>
+ </LayoutItem>
+ <LayoutMultiFrame templateUuid="{3b12245e-8390-439c-bcc3-c9bbf6061b53}" emptyTableMode="0" emptyTableMessage="" verticalGrid="1" gridColor="0,0,0,255" horizontalGrid="1" gridStrokeWidth="0.5" headerMode="2" backgroundColor="255,255,255,255" cellMargin="1" wrapBehavior="0" type="65652" showGrid="0" resizeMode="0" uuid="{3b12245e-8390-439c-bcc3-c9bbf6061b53}" showEmptyRows="0" includeHeader="0" headerHAlignment="2">
+  <childFrame templateUuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" uuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <headerTextFormat>
+   <text-style fontSize="10" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0"/>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+  </headerTextFormat>
+  <contentTextFormat>
+   <text-style fontSize="10" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0"/>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+  </contentTextFormat>
+  <displayColumns>
+   <column width="0" heading="" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </column>
+   <column width="0" heading="璇存槑" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </column>
+  </displayColumns>
+  <sortColumns/>
+  <cellStyles>
+   <oddColumns enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <evenColumns enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <oddRows enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <evenRows enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <firstColumn enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <lastColumn enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <headerRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <firstRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <lastRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+  </cellStyles>
+  <headers>
+   <header width="0" heading="" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </header>
+   <header width="0" heading="璇存槑" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </header>
+  </headers>
+  <contents>
+   <row>
+    <Option type="Map">
+     <Option value="" type="color" name="background"/>
+     <Option value="鍒跺浘鏃堕棿锛�" type="QString" name="content"/>
+     <Option value="" type="color" name="foreground"/>
+     <Option value="2" type="int" name="halign"/>
+     <Option value="32" type="int" name="valign"/>
+    </Option>
+    <Option type="Map">
+     <Option value="" type="color" name="background"/>
+     <Option value="2023.09.06" type="QString" name="content"/>
+     <Option value="" type="color" name="foreground"/>
+     <Option value="1" type="int" name="halign"/>
+     <Option value="32" type="int" name="valign"/>
+    </Option>
+   </row>
+  </contents>
+  <rowHeights>
+   <row height="0"/>
+  </rowHeights>
+  <columnWidths>
+   <column width="0"/>
+   <column width="0"/>
+  </columnWidths>
+ </LayoutMultiFrame>
+ <customproperties>
+  <property value="png" key="atlasRasterFormat"/>
+  <property value="true" key="imageAntialias"/>
+  <property value="0" key="imageCropMarginBottom"/>
+  <property value="0" key="imageCropMarginLeft"/>
+  <property value="0" key="imageCropMarginRight"/>
+  <property value="0" key="imageCropMarginTop"/>
+  <property value="false" key="imageCropToContents"/>
+  <property value="true" key="singleFile"/>
+  <property key="layers" value="geo_albedo_feature_point,geo_alkaline_rock_suite,geo_cliff_annotation,geo_construction_unit_boundary,copernican_craters_180,geo_age_not_determined,moon"/>
+  <property key="imgPath" value="E:\terrait\TianJin\ExportMap\MoonExp\Sources\Test.png"/>
+ </customproperties>
+ <Atlas filenamePattern="'output_'||@atlas_featurenumber" filterFeatures="0" enabled="0" coverageLayer="" sortFeatures="0" hideCoverage="0" pageNameExpression=""/>
+</Layout>
diff --git a/ExportMap/Sources/MoonExp.py b/ExportMap/Sources/MoonExp.py
new file mode 100644
index 0000000..a701e15
--- /dev/null
+++ b/ExportMap/Sources/MoonExp.py
@@ -0,0 +1,133 @@
+#!/usr/bin/env
+# -*- coding: utf-8 -*-
+import os
+import sys
+import math
+import argparse
+from qgis.core import *
+from qgis.gui import *
+from qgis.PyQt.QtGui import *
+from qgis.PyQt.QtCore import *
+from qgis.PyQt.QtWidgets import *
+from qgis.PyQt.QtXml import *
+
+
+# 鑾峰彇瀹屾暣璺緞
+def get_full_path():
+    return os.path.split(sys.argv[0])[0]
+
+
+# 鑾峰彇鍙傛暟
+def get_args():
+    print("argv = ", sys.argv[1:])
+    parser = argparse.ArgumentParser(description='ArgUtils')
+    parser.add_argument("-src", type=str, default=get_full_path(), required=False)
+    parser.add_argument("-qgz", type=str, default="Moon.qgz", required=False)
+    parser.add_argument("-qpt", type=str, default="Moon.qpt", required=False)
+
+    return parser.parse_args()
+
+
+# 璁剧疆鍥惧眰鍙敤鎬�
+def set_layers_valid(prj, show_layers):
+    for layer in prj.mapLayers().values():
+        flag = layer.name() in show_layers
+        print(layer.name() + ": " + str(flag))
+        # if not flag:
+        # project.removeMapLayer(layer)
+        layer.setValid(flag)
+
+
+# 璁剧疆鍥惧眰鍙鎬�
+def set_item_visibility(root_node, show_layers):
+    print(root_node.name() + ': Group')
+    for node in root_node.children():
+        # QgsLayerTreeLayer
+        if isinstance(node, QgsLayerTreeGroup):
+            set_item_visibility(node, show_layers)
+        # QgsRasterLayer, QgsVectorLayer
+        else:
+            name = node.layer().name()
+            flag = name in showLayers
+            print(name + ": " + str(flag))
+            # if not flag:
+            # root_node.removeLayer(node.layer())
+            # node.layer().setValid(False)
+            node.setItemVisibilityChecked(flag)
+
+
+# 鍒濆鍖�
+# QgsApplication.setPrefixPath(r"E:/terrait/TianJin/LFServer/QGIS/", True)
+qgs = QgsApplication([], False)
+qgs.initQgis()
+
+# 鍔犺浇宸ョ▼
+args = get_args()
+project = QgsProject.instance()
+# project.read(r'Test.qgz')
+project.read(os.path.join(args.src, args.qgz))
+print("FileName: " + project.fileName())
+
+# layout = QgsPrintLayout(project)
+layout = QgsLayout(project)
+# layout.initializeDefaults()
+
+# 鍔犺浇妯℃澘
+# with open(r'Test.qpt', 'r', encoding='utf-8') as f:
+with open(os.path.join(args.src, args.qpt), 'r', encoding='utf-8') as f:
+    template_content = f.read()
+doc = QDomDocument()
+doc.setContent(template_content)
+layout.loadFromTemplate(doc, QgsReadWriteContext(), True)
+
+# map = layout.itemById(r'鍦板浘')
+map = layout.referenceMap()
+map.zoomToExtent(map.extent())
+scale = '1:' + str(math.ceil(map.scale() / 100) * 100)
+print(scale)
+
+# template_content = template_content.replace('1锛�25涓�', scale)
+# doc.setContent(template_content)
+# layout.loadFromTemplate(doc, QgsReadWriteContext(), True)
+# map = layout.referenceMap()
+# map.zoomToExtent(map.extent())
+
+size = map.sizeWithUnits()
+print('size: ' + str(size.width()) + " * " + str(size.height()) + " mm")
+if size.width() > 280 or size.height() > 174:
+    map.attemptResize(QgsLayoutSize(280, 174, QgsUnitTypes.LayoutMillimeters))
+    print('size: ' + str(map.sizeWithUnits().width()) + " * " + str(map.sizeWithUnits().height()) + " mm")
+
+# 璁剧疆鍥惧眰
+# "闃�瀹�", "绔欏満", "绠¢亾涓績绾�", "鐭㈤噺娉ㄨ", "鐭㈤噺鍥�", "楂樺痉褰卞儚娉ㄨ", "楂樺痉褰卞儚", "褰卞儚娉ㄨ", "褰卞儚鍥�"
+# showLayers = ["闃�瀹�", "绠¢亾涓績绾�", "鐭㈤噺娉ㄨ", "鐭㈤噺鍥�"]
+showLayers = layout.customProperty("layers").split(',')
+root = project.layerTreeRoot()
+# set_layers_valid(project, showLayers)
+set_item_visibility(root, showLayers)
+
+# sm = layout.itemById(r'璇存槑')
+'''table = layout.multiFrames()[0]
+contents = table.tableContents()
+contents[1][1] = scale
+table.refreshAttributes()
+table.refresh()'''
+
+# collection = layout.pageCollection()
+# page = collection.page(0)
+# page.refreshItemSize()
+
+# 鍒锋柊
+map.refresh()
+# layout.updateBounds()
+layout.renderContext()
+layout.refresh()
+
+# 瀵煎嚭
+exporter = QgsLayoutExporter(layout)
+# img_path = os.path.join(r"E:/terrait/TianJin/LFServer/QGIS", "render.png")
+img_path = layout.customProperty("imgPath")
+exporter.exportToImage(img_path, QgsLayoutExporter.ImageExportSettings())
+
+# 閫�鍑�
+qgs.exitQgis()
diff --git a/MoonExp/Sources/MoonTemplate.qpt b/MoonExp/Sources/MoonTemplate.qpt
new file mode 100644
index 0000000..d3c9d5e
--- /dev/null
+++ b/MoonExp/Sources/MoonTemplate.qpt
@@ -0,0 +1,474 @@
+<Layout printResolution="{dpi}" units="mm" name="Moon" worldFileMap="{4e649c5d-cabe-431f-a385-d69809d87ebf}">
+ <Snapper snapToGuides="1" tolerance="5" snapToGrid="0" snapToItems="1"/>
+ <Grid resolution="10" offsetX="0" resUnits="mm" offsetUnits="mm" offsetY="0"/>
+ <PageCollection>
+  <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+   <layer class="SimpleFill" pass="0" enabled="1" locked="0">
+    <prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="color" v="255,255,255,255"/>
+    <prop k="joinstyle" v="miter"/>
+    <prop k="offset" v="0,0"/>
+    <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="offset_unit" v="MM"/>
+    <prop k="outline_color" v="35,35,35,255"/>
+    <prop k="outline_style" v="no"/>
+    <prop k="outline_width" v="0.26"/>
+    <prop k="outline_width_unit" v="MM"/>
+    <prop k="style" v="solid"/>
+    <data_defined_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </data_defined_properties>
+   </layer>
+  </symbol>
+  <LayoutItem templateUuid="{72530018-3d33-4843-b661-79580c9b15e3}" frame="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="297,210,mm" position="0,0,mm" outlineWidthM="0.3,mm" background="true" referencePoint="0" positionOnPage="0,0,mm" type="65638" uuid="{72530018-3d33-4843-b661-79580c9b15e3}" id="" frameJoinStyle="miter" positionLock="false" blendMode="0" zValue="0" opacity="1">
+   <FrameColor blue="0" green="0" red="0" alpha="255"/>
+   <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+   <LayoutObject>
+    <dataDefinedProperties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dataDefinedProperties>
+    <customproperties/>
+   </LayoutObject>
+   <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+    <layer class="SimpleFill" pass="0" enabled="1" locked="0">
+     <prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+     <prop k="color" v="255,255,255,255"/>
+     <prop k="joinstyle" v="miter"/>
+     <prop k="offset" v="0,0"/>
+     <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+     <prop k="offset_unit" v="MM"/>
+     <prop k="outline_color" v="35,35,35,255"/>
+     <prop k="outline_style" v="no"/>
+     <prop k="outline_width" v="0.26"/>
+     <prop k="outline_width_unit" v="MM"/>
+     <prop k="style" v="solid"/>
+     <data_defined_properties>
+      <Option type="Map">
+       <Option value="" type="QString" name="name"/>
+       <Option name="properties"/>
+       <Option value="collection" type="QString" name="type"/>
+      </Option>
+     </data_defined_properties>
+    </layer>
+   </symbol>
+  </LayoutItem>
+  <GuideCollection visible="1"/>
+ </PageCollection>
+ <LayoutItem templateUuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" frame="false" northMode="0" file=":/images/north_arrows/layout_default_north_arrow.svg" mode="0" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="1" excludeFromExports="0" size="10.4237,11.1743,mm" position="278.938,4.42978,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="278.938,4.42978,mm" type="65640" resizeMode="0" uuid="{6a1655ac-d65f-4163-9e89-5f98536a0c31}" id="鎸囧寳閽�" pictureWidth="8.85237" mapUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" northOffset="0" pictureHeight="11.1743" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="true" blendMode="0" svgBorderColor="0,0,0,255" zValue="8" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" frame="false" marginY="0" groupUuid="" itemRotation="0" halign="4" visibility="1" excludeFromExports="0" size="76.0244,8.6585,mm" position="213.337,195.989,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" positionOnPage="213.337,195.989,mm" type="65641" uuid="{13528ba9-5ea4-45e3-b56e-a975eb046d54}" id="鍏徃" htmlState="0" frameJoinStyle="miter" positionLock="true" labelText="鏈堢悆澶ф暟鎹湴鐞嗙┖闂村垎鏋愬睍绀哄钩鍙�" valign="128" blendMode="0" zValue="8" marginX="0" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <LabelFont description="瀹嬩綋,14,-1,5,50,0,0,0,0,0,甯歌" style="甯歌"/>
+  <FontColor blue="0" green="0" red="0" alpha="255"/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{a53c1ba6-77af-48ea-bd86-8e12ae041979}" frame="false" northMode="0" file="" mode="0" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="0" excludeFromExports="0" size="43.6229,72.286,mm" position="11.7,117,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="11.7,117,mm" type="65640" resizeMode="1" uuid="{a53c1ba6-77af-48ea-bd86-8e12ae041979}" id="鍥句緥" pictureWidth="43.6229" mapUuid="" northOffset="0" pictureHeight="72.286" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="false" blendMode="0" svgBorderColor="0,0,0,255" zValue="8" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{29298722-a58a-42f7-85d1-04564ad9366d}" frame="false" northMode="0" file="{sourcesPath}\logo.png" mode="1" groupUuid="" itemRotation="0" svgBorderWidth="0.2" visibility="1" excludeFromExports="0" size="11.6809,10.7409,mm" position="200.5,194.948,mm" outlineWidthM="0.3,mm" background="false" anchorPoint="0" pictureRotation="0" referencePoint="0" positionOnPage="200.5,194.948,mm" type="65640" resizeMode="0" uuid="{29298722-a58a-42f7-85d1-04564ad9366d}" id="Logo" pictureWidth="10.7409" mapUuid="" northOffset="0" pictureHeight="10.7409" svgFillColor="255,255,255,255" frameJoinStyle="miter" positionLock="true" blendMode="0" svgBorderColor="0,0,0,255" zValue="7" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" frame="false" sectionX="0" groupUuid="" itemRotation="0" sectionWidth="39.6466" visibility="1" excludeFromExports="0" multiFrame="{3f590e9a-19b4-46d3-90bb-6a188b24aaa6}" size="39.6466,5.739,mm" position="247,183.864,mm" hideBackgroundIfEmpty="0" outlineWidthM="0.3,mm" sectionY="0" background="false" referencePoint="0" hidePageIfEmpty="0" positionOnPage="247,183.864,mm" type="65647" uuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" sectionHeight="5.739" id="璇存槑" frameJoinStyle="miter" positionLock="false" multiFrameTemplateUuid="{3f590e9a-19b4-46d3-90bb-6a188b24aaa6}" blendMode="0" zValue="6" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+ </LayoutItem>
+ <LayoutItem templateUuid="{81ccb104-2767-491d-8296-cd4ccbebed3e}" frame="false" marginY="0" groupUuid="" itemRotation="0" halign="4" visibility="1" excludeFromExports="0" size="165.122,11.1743,mm" position="68.2935,4.42978,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" positionOnPage="68.2935,4.42978,mm" type="65641" uuid="{81ccb104-2767-491d-8296-cd4ccbebed3e}" id="鏍囬" htmlState="0" frameJoinStyle="miter" positionLock="true" labelText="{title}" valign="128" blendMode="0" zValue="4" marginX="0" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <LabelFont description="寰蒋闆呴粦,24,-1,5,75,0,0,0,0,0,Bold" style="Bold"/>
+  <FontColor blue="0" green="0" red="0" alpha="255"/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" frame="true" keepLayerSet="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="280,174,mm" position="9,18,mm" outlineWidthM="4,px" background="true" drawCanvasItems="true" mapRotation="{rotation}" referencePoint="0" followPresetName="" positionOnPage="9,18,mm" type="65639" uuid="{4e649c5d-cabe-431f-a385-d69809d87ebf}" id="鍦板浘" mapFlags="0" frameJoinStyle="round" positionLock="true" blendMode="0" isTemporal="0" zValue="2" labelMargin="0,mm" followPreset="false" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <Extent xmax="{xmax}" ymax="{ymax}" ymin="{ymin}" xmin="{xmin}"/>
+  <crs>
+   <spatialrefsys>
+    <wkt>GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]</wkt>
+    <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+    <srsid>3452</srsid>
+    <srid>4326</srid>
+    <authid>EPSG:4326</authid>
+    <description>WGS 84</description>
+    <projectionacronym>longlat</projectionacronym>
+    <ellipsoidacronym>EPSG:7030</ellipsoidacronym>
+    <geographicflag>true</geographicflag>
+   </spatialrefsys>
+  </crs>
+  <LayerSet/>
+  <ComposerMapGrid gridFrameSideFlags="15" rotatedTicksEnabled="1" rightAnnotationDisplay="0" intervalX="15" offsetX="0" rotatedTicksLengthMode="0" show="0" position="3" topAnnotationDisplay="0" gridFrameWidth="1" gridStyle="3" rightFrameDivisions="0" crossLength="3" bottomAnnotationDisplay="0" rightAnnotationPosition="1" maximumIntervalWidth="10" annotationExpression="" unit="1" minimumIntervalWidth="12" rotatedAnnotationsMarginToCorner="0" gridFrameMargin="0" leftAnnotationPosition="1" annotationPrecision="3" rotatedTicksMarginToCorner="0" leftAnnotationDisplay="0" bottomAnnotationPosition="1" gridFramePenThickness="0.5" bottomAnnotationDirection="0" rotatedTicksMinimumAngle="0" topAnnotationPosition="1" name="缃戞牸" offsetY="5" frameFillColor1="255,255,255,255" uuid="{33b582a6-ae09-42c2-b50b-ae68c9d6d71a}" topFrameDivisions="0" showAnnotation="1" frameAnnotationDistance="0.5" gridFrameStyle="3" rotatedAnnotationsEnabled="1" rotatedAnnotationsLengthMode="0" frameFillColor2="0,0,0,255" rotatedAnnotationsMinimumAngle="0" topAnnotationDirection="0" annotationFormat="0" leftFrameDivisions="0" rightAnnotationDirection="2" leftAnnotationDirection="2" blendMode="0" gridFramePenColor="0,0,0,255" bottomFrameDivisions="0" intervalY="15">
+   <lineStyle>
+    <symbol clip_to_extent="1" type="line" name="" force_rhr="0" alpha="0.616">
+     <layer class="SimpleLine" pass="0" enabled="1" locked="0">
+      <prop k="align_dash_pattern" v="0"/>
+      <prop k="capstyle" v="round"/>
+      <prop k="customdash" v="0.66;2"/>
+      <prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="customdash_unit" v="MM"/>
+      <prop k="dash_pattern_offset" v="0"/>
+      <prop k="dash_pattern_offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="dash_pattern_offset_unit" v="MM"/>
+      <prop k="draw_inside_polygon" v="0"/>
+      <prop k="joinstyle" v="round"/>
+      <prop k="line_color" v="0,0,0,255"/>
+      <prop k="line_style" v="solid"/>
+      <prop k="line_width" v="0.5"/>
+      <prop k="line_width_unit" v="MM"/>
+      <prop k="offset" v="0"/>
+      <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="offset_unit" v="MM"/>
+      <prop k="ring_filter" v="0"/>
+      <prop k="tweak_dash_pattern_on_corners" v="0"/>
+      <prop k="use_custom_dash" v="1"/>
+      <prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <data_defined_properties>
+       <Option type="Map">
+        <Option value="" type="QString" name="name"/>
+        <Option name="properties"/>
+        <Option value="collection" type="QString" name="type"/>
+       </Option>
+      </data_defined_properties>
+     </layer>
+    </symbol>
+   </lineStyle>
+   <markerStyle>
+    <symbol clip_to_extent="1" type="marker" name="" force_rhr="0" alpha="1">
+     <layer class="SimpleMarker" pass="0" enabled="1" locked="0">
+      <prop k="angle" v="0"/>
+      <prop k="color" v="0,0,0,255"/>
+      <prop k="horizontal_anchor_point" v="1"/>
+      <prop k="joinstyle" v="bevel"/>
+      <prop k="name" v="circle"/>
+      <prop k="offset" v="0,0"/>
+      <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="offset_unit" v="MM"/>
+      <prop k="outline_color" v="35,35,35,255"/>
+      <prop k="outline_style" v="solid"/>
+      <prop k="outline_width" v="0"/>
+      <prop k="outline_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="outline_width_unit" v="MM"/>
+      <prop k="scale_method" v="diameter"/>
+      <prop k="size" v="2"/>
+      <prop k="size_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+      <prop k="size_unit" v="MM"/>
+      <prop k="vertical_anchor_point" v="1"/>
+      <data_defined_properties>
+       <Option type="Map">
+        <Option value="" type="QString" name="name"/>
+        <Option name="properties"/>
+        <Option value="collection" type="QString" name="type"/>
+       </Option>
+      </data_defined_properties>
+     </layer>
+    </symbol>
+   </markerStyle>
+   <spatialrefsys>
+    <wkt>GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]</wkt>
+    <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+    <srsid>3452</srsid>
+    <srid>4326</srid>
+    <authid>EPSG:4326</authid>
+    <description>WGS 84</description>
+    <projectionacronym>longlat</projectionacronym>
+    <ellipsoidacronym>EPSG:7030</ellipsoidacronym>
+    <geographicflag>true</geographicflag>
+   </spatialrefsys>
+   <text-style fontSize="8" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0">
+     <symbol clip_to_extent="1" type="marker" name="markerSymbol" force_rhr="0" alpha="1">
+      <layer class="SimpleMarker" pass="0" enabled="1" locked="0">
+       <prop k="angle" v="0"/>
+       <prop k="color" v="231,113,72,255"/>
+       <prop k="horizontal_anchor_point" v="1"/>
+       <prop k="joinstyle" v="bevel"/>
+       <prop k="name" v="circle"/>
+       <prop k="offset" v="0,0"/>
+       <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="offset_unit" v="MM"/>
+       <prop k="outline_color" v="35,35,35,255"/>
+       <prop k="outline_style" v="solid"/>
+       <prop k="outline_width" v="0"/>
+       <prop k="outline_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="outline_width_unit" v="MM"/>
+       <prop k="scale_method" v="diameter"/>
+       <prop k="size" v="2"/>
+       <prop k="size_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+       <prop k="size_unit" v="MM"/>
+       <prop k="vertical_anchor_point" v="1"/>
+       <data_defined_properties>
+        <Option type="Map">
+         <Option value="" type="QString" name="name"/>
+         <Option name="properties"/>
+         <Option value="collection" type="QString" name="type"/>
+        </Option>
+       </data_defined_properties>
+      </layer>
+     </symbol>
+    </background>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+   <LayoutObject>
+    <dataDefinedProperties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dataDefinedProperties>
+    <customproperties/>
+   </LayoutObject>
+  </ComposerMapGrid>
+  <AtlasMap atlasDriven="0" margin="0.10000000000000001" scalingMode="2"/>
+  <labelBlockingItems/>
+  <atlasClippingSettings clippingType="1" forceLabelsInside="0" restrictLayers="0" enabled="0">
+   <layersToClip/>
+  </atlasClippingSettings>
+  <itemClippingSettings clippingType="1" forceLabelsInside="0" enabled="0" clipSource=""/>
+ </LayoutItem>
+ <LayoutItem templateUuid="{76e708b9-4aa8-4365-b8ba-3157f836dfa9}" frame="false" groupUuid="" itemRotation="0" visibility="1" excludeFromExports="0" size="292.354,205.447,mm" position="2.6816,2,mm" outlineWidthM="0.3,mm" background="false" referencePoint="0" cornerRadiusMeasure="0,mm" positionOnPage="2.6816,2,mm" type="65643" uuid="{76e708b9-4aa8-4365-b8ba-3157f836dfa9}" id="杈规" frameJoinStyle="miter" positionLock="true" blendMode="0" shapeType="1" zValue="1" opacity="1">
+  <FrameColor blue="0" green="0" red="0" alpha="255"/>
+  <BackgroundColor blue="255" green="255" red="255" alpha="255"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <symbol clip_to_extent="1" type="fill" name="" force_rhr="0" alpha="1">
+   <layer class="SimpleLine" pass="0" enabled="1" locked="0">
+    <prop k="align_dash_pattern" v="0"/>
+    <prop k="capstyle" v="square"/>
+    <prop k="customdash" v="5;2"/>
+    <prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="customdash_unit" v="Pixel"/>
+    <prop k="dash_pattern_offset" v="0"/>
+    <prop k="dash_pattern_offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="dash_pattern_offset_unit" v="MM"/>
+    <prop k="draw_inside_polygon" v="0"/>
+    <prop k="joinstyle" v="bevel"/>
+    <prop k="line_color" v="53,121,177,255"/>
+    <prop k="line_style" v="solid"/>
+    <prop k="line_width" v="0.96"/>
+    <prop k="line_width_unit" v="Pixel"/>
+    <prop k="offset" v="0"/>
+    <prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <prop k="offset_unit" v="Pixel"/>
+    <prop k="ring_filter" v="0"/>
+    <prop k="tweak_dash_pattern_on_corners" v="0"/>
+    <prop k="use_custom_dash" v="0"/>
+    <prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
+    <data_defined_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </data_defined_properties>
+   </layer>
+  </symbol>
+ </LayoutItem>
+ <LayoutMultiFrame templateUuid="{3b12245e-8390-439c-bcc3-c9bbf6061b53}" emptyTableMode="0" emptyTableMessage="" verticalGrid="1" gridColor="0,0,0,255" horizontalGrid="1" gridStrokeWidth="0.5" headerMode="2" backgroundColor="255,255,255,255" cellMargin="1" wrapBehavior="0" type="65652" showGrid="0" resizeMode="0" uuid="{3b12245e-8390-439c-bcc3-c9bbf6061b53}" showEmptyRows="0" includeHeader="0" headerHAlignment="2">
+  <childFrame templateUuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}" uuid="{7cb1fe59-d2d9-427d-a2d1-4edbc7285021}"/>
+  <LayoutObject>
+   <dataDefinedProperties>
+    <Option type="Map">
+     <Option value="" type="QString" name="name"/>
+     <Option name="properties"/>
+     <Option value="collection" type="QString" name="type"/>
+    </Option>
+   </dataDefinedProperties>
+   <customproperties/>
+  </LayoutObject>
+  <headerTextFormat>
+   <text-style fontSize="10" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0"/>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+  </headerTextFormat>
+  <contentTextFormat>
+   <text-style fontSize="10" namedStyle="" fontUnderline="0" multilineHeight="1" fontStrikeout="0" allowHtml="0" fontLetterSpacing="0" fontSizeUnit="Point" fontItalic="0" textOrientation="horizontal" capitalization="0" fontWeight="50" fontWordSpacing="0" previewBkgrdColor="255,255,255,255" fontKerning="1" fontFamily="SimSun" textColor="0,0,0,255" blendMode="0" textOpacity="1" fontSizeMapUnitScale="3x:0,0,0,0,0,0">
+    <text-buffer bufferDraw="0" bufferSize="1" bufferNoFill="1" bufferColor="255,255,255,255" bufferSizeUnits="MM" bufferOpacity="1" bufferJoinStyle="128" bufferBlendMode="0" bufferSizeMapUnitScale="3x:0,0,0,0,0,0"/>
+    <text-mask maskType="0" maskEnabled="0" maskOpacity="1" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskSize="1.5" maskSizeUnits="MM" maskedSymbolLayers="" maskJoinStyle="128"/>
+    <background shapeOffsetUnit="MM" shapeRotation="0" shapeSizeY="0" shapeOffsetY="0" shapeRadiiUnit="MM" shapeSizeX="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeJoinStyle="64" shapeDraw="0" shapeRotationType="0" shapeSizeUnit="MM" shapeRadiiX="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRadiiY="0" shapeOpacity="1" shapeOffsetX="0" shapeSVGFile="" shapeBorderWidth="0" shapeFillColor="255,255,255,255" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeType="0" shapeBorderWidthUnit="MM" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeType="0" shapeBorderColor="128,128,128,255" shapeBlendMode="0"/>
+    <shadow shadowDraw="0" shadowScale="100" shadowColor="0,0,0,255" shadowRadiusAlphaOnly="0" shadowUnder="0" shadowRadius="1.5" shadowOffsetUnit="MM" shadowOffsetDist="1" shadowOffsetAngle="135" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowRadiusUnit="MM" shadowOffsetGlobal="1" shadowOpacity="0.7" shadowBlendMode="6"/>
+    <dd_properties>
+     <Option type="Map">
+      <Option value="" type="QString" name="name"/>
+      <Option name="properties"/>
+      <Option value="collection" type="QString" name="type"/>
+     </Option>
+    </dd_properties>
+   </text-style>
+  </contentTextFormat>
+  <displayColumns>
+   <column width="0" heading="" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </column>
+   <column width="0" heading="璇存槑" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </column>
+  </displayColumns>
+  <sortColumns/>
+  <cellStyles>
+   <oddColumns enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <evenColumns enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <oddRows enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <evenRows enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <firstColumn enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <lastColumn enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <headerRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <firstRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+   <lastRow enabled="0" cellBackgroundColor="255,255,255,255"/>
+  </cellStyles>
+  <headers>
+   <header width="0" heading="" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </header>
+   <header width="0" heading="璇存槑" sortByRank="0" sortOrder="0" vAlignment="128" attribute="" hAlignment="1">
+    <backgroundColor blue="0" green="0" red="0" alpha="0"/>
+   </header>
+  </headers>
+  <contents>
+   <row>
+    <Option type="Map">
+     <Option value="" type="color" name="background"/>
+     <Option value="鍒跺浘鏃堕棿锛�" type="QString" name="content"/>
+     <Option value="" type="color" name="foreground"/>
+     <Option value="2" type="int" name="halign"/>
+     <Option value="32" type="int" name="valign"/>
+    </Option>
+    <Option type="Map">
+     <Option value="" type="color" name="background"/>
+     <Option value="{date}" type="QString" name="content"/>
+     <Option value="" type="color" name="foreground"/>
+     <Option value="1" type="int" name="halign"/>
+     <Option value="32" type="int" name="valign"/>
+    </Option>
+   </row>
+  </contents>
+  <rowHeights>
+   <row height="0"/>
+  </rowHeights>
+  <columnWidths>
+   <column width="0"/>
+   <column width="0"/>
+  </columnWidths>
+ </LayoutMultiFrame>
+ <customproperties>
+  <property value="png" key="atlasRasterFormat"/>
+  <property value="true" key="imageAntialias"/>
+  <property value="0" key="imageCropMarginBottom"/>
+  <property value="0" key="imageCropMarginLeft"/>
+  <property value="0" key="imageCropMarginRight"/>
+  <property value="0" key="imageCropMarginTop"/>
+  <property value="false" key="imageCropToContents"/>
+  <property value="true" key="singleFile"/>
+  <property key="layers" value="{layers}"/>
+  <property key="imgPath" value="{imgPath}"/>
+ </customproperties>
+ <Atlas filenamePattern="'output_'||@atlas_featurenumber" filterFeatures="0" enabled="0" coverageLayer="" sortFeatures="0" hideCoverage="0" pageNameExpression=""/>
+</Layout>
diff --git a/MoonExp/cs/ExportUtil.cs b/MoonExp/cs/ExportUtil.cs
index 62a1b32..ea9e8ba 100644
--- a/MoonExp/cs/ExportUtil.cs
+++ b/MoonExp/cs/ExportUtil.cs
@@ -132,7 +132,7 @@
         {
             string date = DateStr;
             string sub = GetExportSubFolder();
-            string qgz = "Test.qgz";
+            string qgz = "Moon.qgz";
 
             args.imgPath = sub + "\\" + date + ".png";
             args.qpt = date + ".qpt";
@@ -174,7 +174,7 @@
         public static void CreateTemplate(ExportArgs args)
         {
             string imgPath = Path.Combine(DownloadFolder, args.imgPath);
-            string templateFile = Path.Combine(SourcesPath, "Template.qpt");
+            string templateFile = Path.Combine(SourcesPath, "MoonTemplate.qpt");
             string qptFile = Path.Combine(SourcesPath, args.qpt);
             LogOut.Info("imgPath = " + imgPath + ", tempFile = " + templateFile + ", qptFile = " + qptFile);
 
@@ -188,9 +188,9 @@
                 .Replace("{ymin}", args.ymin.ToString())
                 .Replace("{ymax}", args.ymax.ToString())
                 .Replace("{xmax}", args.xmax.ToString())
-                .Replace("{province}", args.province)
+                //.Replace("{province}", args.province)
                 .Replace("{scale}", args.scale)
-                .Replace("{resolution}", args.resolution)
+                //.Replace("{resolution}", args.resolution)
                 //.Replace("{date}", args.date)
                 .Replace("{date}", DateTime.Now.ToString("yyyy.MM.dd"))
                 .Replace("{layers}", args.layers)

--
Gitblit v1.9.3