管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2024-09-03 3cfb6aa02516135fb174ab1b30620f2007924663
ExportMap/cs/XYZUtils.cs
@@ -23,7 +23,7 @@
            {
                if (string.IsNullOrWhiteSpace(pyFile))
                {
                    pyFile = Path.Combine(ExportUtil.SourcesPath, "xyz.py");
                    pyFile = Path.Combine(ExportUtil.SourcesPath, "xyz2.py");
                }
                return pyFile;
@@ -66,11 +66,12 @@
        }
        /// <summary>
        /// 获取发布地址
        /// 获取发布地址:http://localhost/ExportMap/tile0/{z}/{x}/{y}.png?path=2d\tiles\0102
        /// </summary>
        public static string GetReleaseUrl(string dircode)
        {
            return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png";
            //return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png";
            return "{host}/ExportMap/tile0/{z}/{x}/{y}.png?path=2d/tiles/" + dircode;
        }
        /// <summary>
@@ -86,26 +87,28 @@
            string dateStr = ExportUtil.DateStr;
            //string batFile = Path.Combine(BatPath, dateStr + ".bat");
            string tifFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
            string txtFile = Path.Combine(Tools.TempDir, ExportUtil.DateStr + ".txt");
            string xyzPath = Path.Combine(SGUtils.LFData, "2d\\tiles", args.dircode);
            //if (args.isNew && Directory.Exists(xyzPath)) Tools.DelPath(xyzPath); // 已存在的,删除
            if (!Directory.Exists(xyzPath)) Directory.CreateDirectory(xyzPath);
            WriteText(tifFile, list);
            int pubid = PubDBHelper.GetPushlishId(args.dircode, "DOM");
            List<int> mids = PubDBHelper.GetPublishMetaId(pubid);
            WriteText(txtFile, list, mids);
            string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5} -noData {6}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max, args.noData);
            err = Tools.ExecCmd(null, cmd, true);
            string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5} -noData {6}", PyFile, Qgz, txtFile, xyzPath, args.min, args.max, args.noData);
            SysTask task = TaskDBHelper.CreateTask(args, "DOM", "影像数据(DOM)");
            err = Tools.ExecCmd(task, cmd, true);
            //if (File.Exists(batFile)) File.Delete(batFile);
            if (File.Exists(tifFile)) File.Delete(tifFile);
            if (File.Exists(txtFile)) File.Delete(txtFile);
            List<int> ids = new List<int>();
            string viewFile = Path.Combine(xyzPath, "view.html");
            if (File.Exists(viewFile))
            {
                string path = "2d\\tiles" + "\\" + args.dircode;
                int pubid = InsertToDB(list, args, path);
                pubid = InsertToDB(list, args, path);
                if (pubid > 0) ids.Add(pubid);
            }
@@ -126,9 +129,22 @@
        }
        /// <summary>
        /// 根据ID查询元数据
        /// </summary>
        public static SysMeta SelectMeta(int id)
        {
            string sql = string.Format("select a.*, fn_get_fullname(dircode, 2) dirname from lf.sys_meta a where id = {0}", id);
            DataTable dt = Tools.DBHelper.GetDataTable(sql);
            List<SysMeta> list = ModelHandler.FillModel<SysMeta>(dt);
            return null == list || list.Count == 0 ? null : list[0];
        }
        /// <summary>
        /// 写文本文件
        /// </summary>
        private static void WriteText(string file, List<SysMeta> list)
        private static void WriteText(string file, List<SysMeta> list, List<int> mids)
        {
            string uploadFolder = Tools.GetSetting("uploadFolder");
@@ -136,7 +152,10 @@
            foreach (SysMeta meta in list)
            {
                string filePath = Path.Combine(uploadFolder, meta.path);
                if (File.Exists(filePath)) files.Add(filePath);
                if (!File.Exists(filePath)) continue;
                bool exists = mids.Contains(meta.id);
                files.Add(string.Format("{0},{1}", filePath, exists ? 1 : 0));
            }
            //files.Add(@"E:\01.Data\33.DOM\2.大庆DOM\5154.50-415.50.tif");
            //files.Add(@"E:\01.Data\33.DOM\2.大庆DOM\5154.50-416.00.tif");