管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-07-25 d6bc097e6974c0ba8f7ff74b9f8a86ba5addf036
ExportMap/cs/TerraUtils.cs
@@ -134,14 +134,34 @@
            string txtFile = null;
            try
            {
                txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
                string dirPath = GetTerrainPath(args.dircode);
                if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
                txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
                string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
                //if (File.Exists(tifFile)) File.Delete(tifFile);
                WriteText(txtFile, metas);
                int pubid = PubDBHelper.GetPushlishId(args.dircode, "DEM");
                if (pubid > 0 && File.Exists(tifFile))
                {
                    List<int> ids = PubDBHelper.GetPublishMetaId(pubid);
                    List<SysMeta> news = new List<SysMeta>();
                    foreach (SysMeta m in metas)
                    {
                        if (!ids.Contains(m.id)) news.Add(m);
                    }
                    if (0 == news.Count) return tifFile;
                    string oldTif = Path.Combine(dirPath, args.dircode + "_old.tif");
                    if (File.Exists(oldTif)) File.Delete(oldTif);
                    File.Move(tifFile, oldTif);
                    WriteText(txtFile, news, oldTif);
                }
                else
                {
                    if (File.Exists(tifFile)) File.Delete(tifFile);
                    WriteText(txtFile, metas, null);
                }
                string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\"", PyFile, Qgz, txtFile, tifFile);
                err = Tools.ExecCmd(cmd, true, false);
@@ -157,24 +177,30 @@
            finally
            {
                if (!string.IsNullOrEmpty(txtFile) && File.Exists(txtFile)) File.Delete(txtFile);
                string dirPath = GetTerrainPath(args.dircode);
                string tifFile = Path.Combine(dirPath, args.dircode + ".tif");
                string oldTif = Path.Combine(dirPath, args.dircode + "_old.tif");
                if (File.Exists(tifFile) && File.Exists(oldTif)) File.Delete(oldTif);
            }
        }
        /// <summary>
        /// 写文本文件
        /// </summary>
        private static void WriteText(string txtFile, List<SysMeta> list)
        private static void WriteText(string txtFile, List<SysMeta> list, string tif)
        {
            string uploadFolder = Tools.GetSetting("uploadFolder");
            List<string> files = new List<string>();
            if (!string.IsNullOrEmpty(tif)) files.Add(tif);
            foreach (SysMeta meta in list)
            {
                string filePath = Path.Combine(uploadFolder, meta.path);
                if (File.Exists(filePath)) files.Add(filePath);
            }
            string str = string.Join("\r\n", files);
            string str = string.Join("\r\n", files);
            File.WriteAllText(txtFile, str);
        }
@@ -235,6 +261,9 @@
                {
                    if (!ids.Contains(m.id)) PubDBHelper.InsertMetaPub(m.id, pubid, args.userId);
                }
                string json = GetPointZ(args);
                if (!string.IsNullOrEmpty(json)) PubDBHelper.UpdatePublishCoord(pubid, json);
                return pubid;
            }