管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-03-15 54d918939c9f05e7588beb571cb49675433fc93d
ExportMap/cs/XYZUtils.cs
@@ -11,7 +11,6 @@
{
    public class XYZUtils
    {
        private static string pyFile;
        /// <summary>
@@ -49,27 +48,21 @@
        /// <returns>数据发布ID</returns>
        public static int Generate(XYZArgs args, ref string err)
        {
            string tifFile = Path.Combine(ExportUtil.SourcesPath, ExportUtil.DateStr + ".txt");
            string tifFile = Path.Combine(Tool.TempDir, ExportUtil.DateStr + ".txt");
            string xyzPath = Path.Combine(SGUtils.LFData, "2d\\tiles", args.id.ToString());
            if (!Directory.Exists(xyzPath)) Directory.CreateDirectory(xyzPath);
            string cmd = string.Format("python {0} -qgz {1} -file {2} -out {3} -min {4} -max {5}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max);
            List<SysMeta> list = selectMetas(args.ids, "and type in ('tif', 'tiff', 'img')");
            if (null == list || list.Count == 0) return 0;
            WriteText(tifFile, list);
            string cmd = string.Format("python \"{0}\" -qgz {1} -file \"{2}\" -out \"{3}\" -min {4} -max {5}", PyFile, Qgz, tifFile, xyzPath, args.min, args.max);
            err = Tool.ExecCmd(cmd, true);
            if (File.Exists(tifFile)) File.Delete(tifFile);
            return args.id;
        }
        /// <summary>
        /// 查询元数据
        /// </summary>
        public static List<SysMeta> selectMetas(string dircode)
        {
            string sql = string.Format("select * from lf.sys_meta where dircode like '{0}%'", dircode);
            DataTable dt = Tool.DBHelper.GetDataTable(sql);
            List<SysMeta> list = ModelHandler.FillModel<SysMeta>(dt);
            return list;
        }
        /// <summary>
@@ -83,5 +76,22 @@
            return list;
        }
        /// <summary>
        /// 写文本文件
        /// </summary>
        private static void WriteText(string file, List<SysMeta> list)
        {
            string uploadFolder = Tool.GetSetting("uploadFolder");
            List<string> files = new List<string>();
            foreach (SysMeta meta in list)
            {
                files.Add(Path.Combine(uploadFolder, meta.path));
            }
            string str = string.Join("\n", files);
            File.WriteAllText(file, str);
        }
    }
}