From d9e0be85179a39abe36a4cc23afd91798bcccb82 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 14 六月 2023 14:35:36 +0800
Subject: [PATCH] 解决QGIS出图程序一直处于等待状态,无法正常结束

---
 ExportMap/cs/ExportUtil.cs  |    2 +-
 ExportMap/cs/Tools.cs       |   10 +++++-----
 ExportMap/cs/XYZUtils.cs    |    2 +-
 ExportMap/cs/TerraUtils.cs  |    2 +-
 ExportMap/Sources/render.py |    2 +-
 ExportMap/export.html       |    2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/ExportMap/Sources/render.py b/ExportMap/Sources/render.py
index 8024e8c..69cb7c9 100644
--- a/ExportMap/Sources/render.py
+++ b/ExportMap/Sources/render.py
@@ -58,7 +58,7 @@
 
 # 鍒濆鍖�
 # QgsApplication.setPrefixPath(r"E:/terrait/TianJin/LFServer/QGIS/", True)
-qgs = QgsApplication([], True)
+qgs = QgsApplication([], False)
 qgs.initQgis()
 
 # 鍔犺浇宸ョ▼
diff --git a/ExportMap/cs/ExportUtil.cs b/ExportMap/cs/ExportUtil.cs
index 8a1813c..6b251d3 100644
--- a/ExportMap/cs/ExportUtil.cs
+++ b/ExportMap/cs/ExportUtil.cs
@@ -142,7 +142,7 @@
             CreateTemplate(args);
 
             string cmd = string.Format("python \"{0}\" -qgz {1} -qpt {2}", PyFile, qgz, args.qpt);
-            err = Tools.ExecCmd(cmd, true);
+            err = Tools.ExecCmd(cmd, true, true);
 
             string qptFile = Path.Combine(SourcesPath, args.qpt);
             if (File.Exists(qptFile)) File.Delete(qptFile);
diff --git a/ExportMap/cs/TerraUtils.cs b/ExportMap/cs/TerraUtils.cs
index ad46439..dd13a4e 100644
--- a/ExportMap/cs/TerraUtils.cs
+++ b/ExportMap/cs/TerraUtils.cs
@@ -147,7 +147,7 @@
                 WriteText(txtFile, metas);
 
                 string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\"", PyFile, Qgz, txtFile, tifFile);
-                err = Tools.ExecCmd(cmd, true);
+                err = Tools.ExecCmd(cmd, true, false);
 
                 return tifFile;
             }
diff --git a/ExportMap/cs/Tools.cs b/ExportMap/cs/Tools.cs
index 2696807..71debf0 100644
--- a/ExportMap/cs/Tools.cs
+++ b/ExportMap/cs/Tools.cs
@@ -159,7 +159,7 @@
         /// </summary>
         /// <param name="cmd">鍛戒护琛�</param>
         /// <returns>鎵ц缁撴灉鎴栧嚭閿欎俊鎭�</returns>
-        public static String ExecCmd(string cmd, bool isPy = false)
+        public static String ExecCmd(string cmd, bool isPy = false, bool isOut = false)
         {
             List<string> list = new List<string>();
             if (isPy)
@@ -171,7 +171,7 @@
             }
             list.Add(cmd);
 
-            string str = ExecCmd(list);
+            string str = ExecCmd(list, isOut);
 
             return str;
         }
@@ -181,7 +181,7 @@
         /// </summary>
         /// <param name="list">鍛戒护闆嗗悎</param>
         /// <returns>鎵ц缁撴灉鎴栧嚭閿欎俊鎭�</returns>
-        public static string ExecCmd(List<string> list)
+        public static string ExecCmd(List<string> list, bool isOut = false)
         {
             string str = null;
             try
@@ -197,7 +197,7 @@
                 p.Start();
 
                 StreamWriter si = p.StandardInput; // 鏍囧噯杈撳叆娴� 
-                //StreamReader so = p.StandardOutput; // 鏍囧噯杈撳嚭娴� 
+                StreamReader so = isOut ? p.StandardOutput : null; // 鏍囧噯杈撳嚭娴� 
                 StreamReader se = p.StandardError; // 鏍囧噯閿欒娴�
 
                 LogOut.Info("cmd = " + string.Join("锛�", list));
@@ -208,7 +208,7 @@
                 }
                 si.WriteLine("exit");
 
-                //string info = so.ReadToEnd();
+                string info = null == so ? null : so.ReadToEnd();
                 str = se.ReadToEnd();
 
                 //if (!string.IsNullOrEmpty(info)) LogOut.Debug(info);
diff --git a/ExportMap/cs/XYZUtils.cs b/ExportMap/cs/XYZUtils.cs
index 640f3d3..ae68829 100644
--- a/ExportMap/cs/XYZUtils.cs
+++ b/ExportMap/cs/XYZUtils.cs
@@ -96,7 +96,7 @@
             string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5} -noData {6}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max, args.noData);
 
             //err = Tools.ExecCmd(GetCmds(batFile, cmd));            
-            err = Tools.ExecCmd(cmd, true);
+            err = Tools.ExecCmd(cmd, true, false);
 
             //if (File.Exists(batFile)) File.Delete(batFile);
             if (File.Exists(tifFile)) File.Delete(tifFile);
diff --git a/ExportMap/export.html b/ExportMap/export.html
index 95f2e31..bebe2bd 100644
--- a/ExportMap/export.html
+++ b/ExportMap/export.html
@@ -5,7 +5,7 @@
   <title></title>
   <script src="js/jquery.1.12.4.js"></script>
   <script>
-    var token = "ecc5cad3-d132-4ca8-9855-9dab2ea5a408";
+    var token = "94baeb78-d4cc-43db-b9b5-8ff9584c587d";
 
     // Ajax
     function ajax(url, type, data, dataType, contentType, fn) {

--
Gitblit v1.9.3