From 5f80de49c4a00416591054180bf809a12a76d686 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 07 十一月 2024 16:40:53 +0800
Subject: [PATCH] 1

---
 ExportMap/Sources/merge.py |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ExportMap/Sources/merge.py b/ExportMap/Sources/merge.py
index 3171edf..f9907bc 100644
--- a/ExportMap/Sources/merge.py
+++ b/ExportMap/Sources/merge.py
@@ -29,7 +29,7 @@
     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\dem\dem.txt", required=False)
-    parser.add_argument("-out", type=str, default=r"D:\xyz\dem\dem\astgtm2.tif", required=False)
+    parser.add_argument("-out", type=str, default=r"D:\xyz\dem\out.tif", required=False)
 
     return parser.parse_args()
 
@@ -68,6 +68,12 @@
             print("authid: " + args.authid)
             prj.setCrs(layer.crs())
 
+        # for j in range(1, layer.bandCount() + 1):
+        #     try:
+        #         layer.dataProvider().setNoDataValue(j, 0)
+        #     except Exception as e:
+        #         print(e)
+
         prj.addMapLayer(layer)
 
 
@@ -81,8 +87,8 @@
         'INPUT': layers,
         'DATA_TYPE': 5,
         'OUTPUT': args.out,
-        'NODATA_INPUT': 0,
-        'NODATA_OUTPUT': 0,
+        # 'NODATA_INPUT': 0,
+        # 'NODATA_OUTPUT': 0,
         'OPTIONS': ''
     }
     print(ops)
@@ -104,7 +110,16 @@
     rect = layer.extent()
     x = (rect.xMinimum() + rect.xMaximum()) / 2
     y = (rect.yMinimum() + rect.yMaximum()) / 2
+
     sid = layer.crs().authid()
+    if sid != "EPSG:4490" and sid != "EPSG:4326":
+        sid = "EPSG:4490" if layer.crs().toWkt().find("CGCS2000") > -1 else "EPSG:4326"
+        transform = QgsCoordinateTransform(QgsCoordinateReferenceSystem(layer.crs().authid()), QgsCoordinateReferenceSystem(sid), prj)
+
+        p = QgsPoint(x, y)
+        p.transform(transform)
+        x = p.x()
+        y = p.y()
 
     coord = str(x) + ", " + str(y) + ", " + str(sid)
     print(coord)

--
Gitblit v1.9.3