ExportMap/Sources/说明.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ExportMap/Web.config | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ExportMap/cs/ExportUtil.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ExportMap/cs/Tool.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ExportMap/Sources/˵Ã÷.txt
@@ -1,6 +1,9 @@ <qgis._core.QgsLayoutItemManualTable object at 0x000002B94F08C948> <qgis._core.QgsLayout object at 0x000002271A92A678> <qgis._core.QgsLayoutItemMap object at 0x000002342B4BE828> ================================================================================ SGå¸®å© http://127.0.0.1/SG/WebHelp/index.htm#t=Loading_3DML_Exposed_as_3D_Tiles_in_Cesium_Clients.htm http://www.skylineglobe.com/SG/b3dm/1726297/tileset.json http://www.skylineglobe.com/SG/Imagery http://www.skylineglobe.com/SG/Elevation ================================================================================ QGISç¯å¢é ç½® https://blog.csdn.net/Scarlett2025/article/details/128967607 ExportMap/Web.config
@@ -1,9 +1,19 @@ <?xml version="1.0"?> <configuration> <appSettings> <!-- 192.168.20.39,127.0.0.1 --> <!-- å»åæå¡ --> <add key="lfServer" value="http://127.0.0.1:12316/server"/> <!-- ä¸è½½ç®å½ --> <add key="downloadFolder" value="D:\LF\download"/> <!-- åå¸Mptç®å½ --> <add key="mptFolder" value="D:\LF\publishMpt"/> <!-- åå¸3dmlç®å½ --> <add key="3dmlFolder" value="D:\LF\publish3dml"/> <!-- å»åæ°æ®ç®å½ --> <add key="lfData" value="E:\data\99.public\soft\LFData"/> <!-- SGçDBåº --> <add key="sgDB" value="E:\soft\SGConfig\catalog.db"/> <!-- PGè¿æ¥ --> <add key="pgConn" value="Server=127.0.0.1;Port=5433;Database=langfang;User Id=postgres;Password=postgres;"/> <add key="webpages:Version" value="3.0.0.0"/> <add key="webpages:Enabled" value="false"/> ExportMap/cs/ExportUtil.cs
@@ -129,65 +129,6 @@ } /// <summary> /// æ§è¡Python /// </summary> /// <param name="py">Pythonæä»¶</param> /// <param name="qgz">QGISå·¥ç¨</param> /// <param name="qpt">QGIS模æ¿</param> /// <returns>æ§è¡ç»æ</returns> public static string ExecPython(string py, string qgz, string qpt) { string str = null; try { string cmdText = string.Format("python {0} -qgz {1} -qpt {2}", py, qgz, qpt); LogOut.Info("cmd = " + cmdText); Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = true; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.Start(); StreamWriter si = p.StandardInput; // æ åè¾å ¥æµ StreamReader so = p.StandardOutput; // æ åè¾åºæµ StreamReader se = p.StandardError; // æ åéè¯¯æµ si.AutoFlush = true; //si.WriteLine("cd \"C:\\Program Files\\QGIS 3.16\\apps\\Python37\""); //si.WriteLine("set PYTHONHOME=\"C:\\Program Files\\QGIS 3.16\\apps\\Python37\""); //si.WriteLine("set PYTHONPATH=\"C:\\Program Files\\QGIS 3.16\\apps\\qgis-ltr\\python;C:\\Program Files\\QGIS 3.16\\apps\\qgis-ltr\\bin;C:\\Program Files\\QGIS 3.16\\apps\\qgis-ltr\\python\\qgis;C:\\Program Files\\QGIS 3.16\\apps\\Python37\\Lib;C:\\Program Files\\QGIS 3.16\\apps\\Python37\\Lib\\site-packages;C:\\Program Files\\QGIS 3.16\\apps\\Python37\\DLLs;C:\\Program Files\\QGIS 3.16\\apps\\Python37\\Scripts;\""); //si.WriteLine("set Path=\"C:\\Program Files\\QGIS 3.16\\apps\\Python37;C:\\Program Files\\QGIS 3.16\\bin;C:\\Program Files\\QGIS 3.16\\apps\\qgis-ltr\\\\bin\";%Path%"); //si.WriteLine("\"C:\\Program Files\\QGIS 3.16\\bin\\qgis_process-qgis-ltr.bat\""); si.WriteLine("\"C:\\Program Files\\QGIS 3.16\\bin\\python-qgis-ltr.bat\""); si.WriteLine(cmdText); si.WriteLine("exit"); string info = so.ReadToEnd(); str = se.ReadToEnd(); if (!string.IsNullOrEmpty(info)) LogOut.Debug(info); if (!string.IsNullOrEmpty(str)) LogOut.Error(str); if (p.HasExited == false) p.Kill(); si.Close(); so.Close(); se.Close(); p.Close(); } catch (Exception ex) { LogOut.Error(ex.StackTrace); str = ex.Message; } return str; } /// <summary> /// çæ /// </summary> /// <param name="args">åºå¾åæ°</param> @@ -204,7 +145,9 @@ args.SetDefault(); CreateTemplate(args); err = ExecPython(PyFile, qgz, args.qpt); string cmd = string.Format("python {0} -qgz {1} -qpt {2}", PyFile, qgz, args.qpt); err = Tool.ExecPython(cmd); string qptFile = Path.Combine(SourcesPath, args.qpt); if (File.Exists(qptFile)) ExportMap/cs/Tool.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Configuration; using System.Data.Common; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; @@ -16,8 +17,14 @@ { public class Tool { /// <summary> /// åºç¡ç®å½ /// </summary> public static readonly string BaseDir = AppDomain.CurrentDomain.BaseDirectory; /// <summary> /// åèæ ¼å¼å /// </summary> public static string FormatBytes(long bytes) { string[] Suffix = { "Byte", "KB", "MB", "GB", "TB" }; @@ -31,11 +38,17 @@ return String.Format("{0:0.##}{1}", dblSByte, Suffix[i]); } /// <summary> /// è·å设置 /// </summary> public static string GetSetting(string key) { return ConfigurationManager.AppSettings[key]; } /// <summary> /// è·åDbåæ° /// </summary> public static List<DbParameter> GetParams<T>(string sql, T t) { List<DbParameter> list = new List<DbParameter>(); @@ -65,6 +78,9 @@ return list; } /// <summary> /// å建ç®å½ /// </summary> public static void CreateDirectory(string dir) { WindowsIdentity wi = WindowsIdentity.GetCurrent(); @@ -76,6 +92,9 @@ Directory.CreateDirectory(dir, ds); } /// <summary> /// å é对象 /// </summary> public static T Clone<T>(T source) where T : new() { if (!typeof(T).IsSerializable) @@ -98,5 +117,56 @@ return (T)formatter.Deserialize(stream); } } /// <summary> /// æ§è¡Python /// </summary> /// <param name="cmd">å½ä»¤è¡</param> /// <returns>æ§è¡ç»ææåºéä¿¡æ¯</returns> public static String ExecPython(string cmd) { string str = null; try { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = true; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.Start(); StreamWriter si = p.StandardInput; // æ åè¾å ¥æµ StreamReader so = p.StandardOutput; // æ åè¾åºæµ StreamReader se = p.StandardError; // æ åéè¯¯æµ LogOut.Info("cmd = " + cmd); si.AutoFlush = true; si.WriteLine("\"C:\\Program Files\\QGIS 3.16\\bin\\python-qgis-ltr.bat\""); si.WriteLine(cmd); si.WriteLine("exit"); string info = so.ReadToEnd(); str = se.ReadToEnd(); if (!string.IsNullOrEmpty(info)) LogOut.Debug(info); if (!string.IsNullOrEmpty(str)) LogOut.Error(str); if (p.HasExited == false) p.Kill(); se.Close(); so.Close(); si.Close(); p.Close(); } catch (Exception ex) { LogOut.Error(ex.StackTrace); str = ex.Message; } return str; } } } }