From a42b292673e42cc8f3635c59e1ef80d8dbac773e Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 21 四月 2023 15:24:55 +0800
Subject: [PATCH] 1

---
 ExportMap/Sources/xyz.py |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/ExportMap/Sources/xyz.py b/ExportMap/Sources/xyz.py
index 30a053c..f1afa7b 100644
--- a/ExportMap/Sources/xyz.py
+++ b/ExportMap/Sources/xyz.py
@@ -28,10 +28,10 @@
     parser = argparse.ArgumentParser(description='ArgUtils')
     parser.add_argument("-src", type=str, default=get_full_path(), required=False)
     parser.add_argument("-qgz", type=str, default=r"xyz.qgz", required=False)
-    parser.add_argument("-file", type=str, default=r"D:\xyz\4.5g\tif.txt", required=False)
-    parser.add_argument("-out", type=str, default=r"D:\xyz\4.5g\png", required=False)
-    parser.add_argument("-min", type=int, default=12, required=False)
-    parser.add_argument("-max", type=int, default=18, required=False)
+    parser.add_argument("-file", type=str, default=r"D:\xyz\china\tif.txt", required=False)
+    parser.add_argument("-out", type=str, default=r"D:\xyz\china\png", required=False)
+    parser.add_argument("-min", type=int, default=4, required=False)
+    parser.add_argument("-max", type=int, default=8, required=False)
     parser.add_argument("-noData", type=int, default=0, required=False)
 
     return parser.parse_args()
@@ -54,6 +54,7 @@
     for layer in prj.mapLayers().values():
         prj.removeMapLayer(layer)
 
+    args.authid = None
     lines = readTxt(args.file)
     for i in range(0, len(lines)):
         if len(lines[i]) == 0:
@@ -66,6 +67,8 @@
             continue
 
         if len(prj.mapLayers()) == 0:
+            args.authid = layer.crs().authid()
+            print("authid: " + args.authid)
             prj.setCrs(layer.crs())
 
         for j in range(1, layer.bandCount() + 1):
@@ -84,11 +87,11 @@
 
 
 # 鑾峰彇杈圭晫
-def getExtent(prj):
+def getExtent(prj, args):
     ex = None
     for layer in prj.mapLayers().values():
         rect = layer.extent()
-        print(layer.name() + ", " + rect.toString())
+        print(layer.name() + ", " + rect.toString() + ", " + layer.crs().authid())
 
         if ex is None:
             ex = Rectangle(rect.xMinimum(), rect.xMaximum(), rect.yMinimum(), rect.yMaximum())
@@ -103,8 +106,8 @@
         if rect.yMaximum() > ex.ymax:
             ex.ymax = rect.yMaximum()
 
-    # '38399769,38403264,3558330,3561632'
-    return str(ex.xmin) + "," + str(ex.xmax) + "," + str(ex.ymin) + "," + str(ex.ymax)
+    # '-3640.3675,1734588.1947,2434663.1477,3677421.7047 [EPSG:32643]'
+    return str(ex.xmin) + "," + str(ex.xmax) + "," + str(ex.ymin) + "," + str(ex.ymax) + ' [' + args.authid + "]"
 
 
 # 鑾峰彇杈圭晫2
@@ -122,7 +125,7 @@
 
 # 鑾峰彇XYZ鍙傛暟
 def getXYZOps(args):
-    return {
+    ops = {
         'BACKGROUND_COLOR': QColor(0, 0, 0, 0),
         'DPI': 96,
         'EXTENT': args.ext,
@@ -138,6 +141,9 @@
         'ZOOM_MAX': args.max,
         'ZOOM_MIN': args.min
     }
+    print(ops)
+
+    return ops
 
 
 # 鍒涘缓XYZ鐡︾墖
@@ -145,8 +151,7 @@
     import processing
 
     ops = getXYZOps(args)
-    print(ops)
-    processing.run("qgis:tilesxyzdirectory", ops)
+    # processing.run("qgis:tilesxyzdirectory", ops)
 
 
 # 鍒濆鍖�
@@ -165,7 +170,7 @@
     loadLayers(prj, args)
     # prj.write(args.file.replace(".txt", ".qgz"))
 
-    args.ext = getExtent(prj)
+    args.ext = getExtent(prj, args)
     createXYZ(args)
 
     qgs.exitQgis()

--
Gitblit v1.9.3