From a0ea5dbbabd0dec22f287a536d7526f2df805ad5 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 06 五月 2023 12:51:33 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/TerraUtils.cs |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/ExportMap/cs/TerraUtils.cs b/ExportMap/cs/TerraUtils.cs
index 85bde5f..3ba3b34 100644
--- a/ExportMap/cs/TerraUtils.cs
+++ b/ExportMap/cs/TerraUtils.cs
@@ -73,9 +73,9 @@
         /// <summary>
         /// 鑾峰彇鍦板舰璺緞
         /// </summary>
-        public static string GetTerrainPath(XYZArgs args)
+        public static string GetTerrainPath(string dircode)
         {
-            return Path.Combine(SGUtils.LFData, "3d\\terrain", args.dircode);
+            return Path.Combine(SGUtils.LFData, "3d\\terrain", dircode);
         }
 
         /// <summary>
@@ -92,8 +92,8 @@
                 tifFile = Merge(args, ref err);
                 if (!File.Exists(tifFile)) return null;
 
-                Generate(args, tifFile);
-
+                Generate(args, tifFile, ref err);
+                Save(args);
 
                 return null;
             }
@@ -124,7 +124,7 @@
                 if (null == list || list.Count == 0) return null;
 
                 txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
-                string dirPath = GetTerrainPath(args);
+                string dirPath = GetTerrainPath(args.dircode);
                 if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
 
                 string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
@@ -173,9 +173,27 @@
         /// <summary>
         /// 鐢熸垚楂樼▼鍒囩墖
         /// </summary>
-        private static void Generate(XYZArgs args, string tifFile)
+        private static void Generate(XYZArgs args, string tifFile, ref string err)
         {
-            string dirPath = GetTerrainPath(args);
+            string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/");
+            string name = "ctb_" + ExportUtil.DateStr;
+
+            string runDocker = string.Format("docker run -it --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath);
+            string createMesh = string.Format("ctb-tile -f Mesh -C -N -s {0} -e {1} -o /data /data/{2}.tif", args.max, args.min, args.dircode);
+            string createLayer = string.Format("ctb-tile -f Mesh -C -N -s {0} -e {1} -l -o /data /data/{0}.tif", args.max, args.min, args.dircode);
+            string exit = "exit";
+            string rm = string.Format("docker rm {0}", name);
+
+            List<string> list = new List<string> { runDocker, createMesh, createLayer, exit, rm };
+            err = Tools.ExecCmd(list);
+        }
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        private static void Save(XYZArgs args)
+        {
+
         }
     }
 }

--
Gitblit v1.9.3