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