解决QGIS出图程序一直处于等待状态,无法正常结束
| | |
| | | |
| | | # 初始化 |
| | | # QgsApplication.setPrefixPath(r"E:/terrait/TianJin/LFServer/QGIS/", True) |
| | | qgs = QgsApplication([], True) |
| | | qgs = QgsApplication([], False) |
| | | qgs.initQgis() |
| | | |
| | | # 加载工程 |
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | |
| | | /// </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) |
| | |
| | | } |
| | | list.Add(cmd); |
| | | |
| | | string str = ExecCmd(list); |
| | | string str = ExecCmd(list, isOut); |
| | | |
| | | return str; |
| | | } |
| | |
| | | /// </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 |
| | |
| | | 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)); |
| | |
| | | } |
| | | si.WriteLine("exit"); |
| | | |
| | | //string info = so.ReadToEnd(); |
| | | string info = null == so ? null : so.ReadToEnd(); |
| | | str = se.ReadToEnd(); |
| | | |
| | | //if (!string.IsNullOrEmpty(info)) LogOut.Debug(info); |
| | |
| | | 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); |
| | |
| | | <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) { |