管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-07-25 110bac1162d9841138c39257e5eecdd6c45e78b4
1
已修改1个文件
56 ■■■■■ 文件已修改
ExportMap/cs/TerraUtils.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/TerraUtils.cs
@@ -120,10 +120,10 @@
                err = ex.Message;
                return null;
            }
            finally
            /*finally
            {
                if (!string.IsNullOrEmpty(tifFile) && File.Exists(tifFile)) File.Delete(tifFile);
            }
            }*/
        }
        /// <summary>
@@ -139,7 +139,7 @@
                if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
                string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
                if (File.Exists(tifFile)) File.Delete(tifFile);
                //if (File.Exists(tifFile)) File.Delete(tifFile);
                WriteText(txtFile, metas);
@@ -176,24 +176,6 @@
            string str = string.Join("\r\n", files);
            File.WriteAllText(txtFile, str);
        }
        /// <summary>
        /// 生成高程切片 *
        /// </summary>
        private static void Generate(XYZArgs args, string tifFile, ref string err)
        {
            string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/");
            string name = "ctb_" + ExportUtil.DateStr;
            string runDocker = string.Format("docker run -id --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath);
            string createMesh = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain
            string createLayer = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -l -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain
            string stop = string.Format("docker stop {0}", name);
            string rm = string.Format("docker rm {0}", name);
            List<string> list = new List<string> { runDocker, createMesh, createLayer, stop, rm };
            err = Tools.ExecCmd(list);
        }
        /// <summary>
@@ -244,7 +226,17 @@
        /// </summary>
        private static int InsertToDB(List<SysMeta> metas, XYZArgs args)
        {
            if (PubDBHelper.IsPublish(args.dircode, "DEM")) return 1;
            //if (PubDBHelper.IsPublish(args.dircode, "DEM")) return 1;
            int pubid = PubDBHelper.GetPushlishId(args.dircode, "DEM");
            if (pubid > 0) // 更新发布
            {
                List<int> ids = PubDBHelper.GetPublishMetaId(pubid);
                foreach (SysMeta m in metas)
                {
                    if (!ids.Contains(m.id)) PubDBHelper.InsertMetaPub(m.id, pubid, args.userId);
                }
                return pubid;
            }
            SysMeta meta = metas[0];
            meta.type = "DEM";
@@ -253,7 +245,7 @@
            SysPublish sys = Tools.NewPublish(meta, args, GetReleaseUrl(args.dircode), "3d\\terrain\\" + args.dircode);
            sys.geom = GetPointZ(args);
            int pubid = PubDBHelper.InsertPublish(sys);
            pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                sys.id = pubid;
@@ -299,5 +291,23 @@
            return string.Format("ST_GeomFromText('POINT Z ({0} {1} {2})')", str[1], str[0], i);
        }
        /*/// <summary>
        /// 生成高程切片 *
        /// </summary>
        private static void Generate(XYZArgs args, string tifFile, ref string err)
        {
            string dirPath = GetTerrainPath(args.dircode).Replace("\\", "/");
            string name = "ctb_" + ExportUtil.DateStr;
            string runDocker = string.Format("docker run -id --name {0} -v \"{1}\":\"/data\" tumgis/ctb-quantized-mesh", name, dirPath);
            string createMesh = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain
            string createLayer = string.Format("docker exec {0} ctb-tile -f Mesh -C -N -s {1} -e {2} -l -o /data /data/{3}.tif", name, args.max, args.min, args.dircode); // Mesh, Terrain
            string stop = string.Format("docker stop {0}", name);
            string rm = string.Format("docker rm {0}", name);
            List<string> list = new List<string> { runDocker, createMesh, createLayer, stop, rm };
            err = Tools.ExecCmd(list);
        }*/
    }
}