using ExportMap.db; using ExportMap.Models; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Web; namespace ExportMap.cs { public class XYZUtils { private static string pyFile; /// /// 获取Python文件 /// public static string PyFile { get { if (string.IsNullOrWhiteSpace(pyFile)) { pyFile = Path.Combine(ExportUtil.SourcesPath, "xyz.py"); } return pyFile; } } /// /// QGIS工程 /// public static string Qgz { get { return "xyz.qgz"; } } /// /// 生成 /// /// XYZ参数 /// 错误信息 /// 数据发布ID public static int Generate(XYZArgs args, ref string err) { string tifFile = Path.Combine(ExportUtil.SourcesPath, 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); err = Tool.ExecCmd(cmd, true); return args.id; } /// /// 查询元数据 /// public static List selectMetas(string dircode) { string sql = string.Format("select * from lf.sys_meta where dircode like '{0}%'", dircode); DataTable dt = Tool.DBHelper.GetDataTable(sql); List list = ModelHandler.FillModel(dt); return list; } /// /// 查询元数据 /// public static List selectMetas(List ids, string types = "") { string sql = string.Format("select * from lf.sys_meta where id in ({0}) {1} order by id", string.Join(",", ids), types); DataTable dt = Tool.DBHelper.GetDataTable(sql); List list = ModelHandler.FillModel(dt); return list; } } }