管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2024-09-03 3cfb6aa02516135fb174ab1b30620f2007924663
ExportMap/cs/LasUtils.cs
@@ -23,7 +23,7 @@
        /// </summary>
        public static string GetReleaseUrl(string path)
        {
            return "http://{host}/LFData/" + path.Replace("\\", "/");
            return "{host}/LFData/" + path.Replace("\\", "/");
        }
        /// <summary>
@@ -43,9 +43,8 @@
                string uploadFolder = Tools.GetSetting("uploadFolder");
                List<int> ids = new List<int>();
                for (int i = 0, c = list.Count; i < c; i++)
                foreach (SysMeta meta in list)
                {
                    SysMeta meta = list[i];
                    string lasPath = Path.Combine(uploadFolder, meta.path);
                    if (!File.Exists(lasPath)) continue;
@@ -56,9 +55,10 @@
                    if (!Directory.Exists(outPath)) Directory.CreateDirectory(outPath);
                    if ("laz" == meta.type) lasPath = toLas(lasPath, Path.Combine(outPath, meta.id + ".las"));
                    int srid = args.srids[i];
                    string cmd = string.Format("{0}\\gocesiumtiler.exe -i \"{1}\" -o \"{2}\" -e {3} -z {4} -g -s", tilerPath, lasPath, outPath, srid, args.z);
                    err = Tools.ExecCmd(cmd, false, false);
                    int idx = args.ids.IndexOf(meta.id);
                    string cmd = string.Format("{0}\\gocesiumtiler.exe -i \"{1}\" -o \"{2}\" -e {3} -z {4} -g -s", tilerPath, lasPath, outPath, args.srids[idx], args.zs[idx]);
                    SysTask task = TaskDBHelper.CreateTask(args, meta, "LAS", "点云数据(LAS)");
                    err = Tools.ExecCmd(task, cmd, false);
                    string jsonFile = findTileset(meta, outPath);
                    if ("laz" == meta.type && File.Exists(lasPath)) File.Delete(lasPath);
@@ -89,7 +89,7 @@
            string tilerPath = Tools.GetSetting("tilerPath");
            string cmd = string.Format("{0}\\laszip64.exe -i \"{1}\" -o \"{2}\"", tilerPath, lazPath, lasPath);
            Tools.ExecCmd(cmd, false, false);
            Tools.ExecCmd(new List<string> { cmd });
            return lasPath;
        }
@@ -131,11 +131,17 @@
        /// </summary>
        private static int InsertToDB(SysMeta meta, XYZArgs args, string path)
        {
            if (PubDBHelper.IsPublish(meta.id)) return 1;
            //if (PubDBHelper.IsPublish(meta.id)) return 1;
            int pubid = PubDBHelper.GetPushlishId(meta.id);
            if (pubid > 0)
            {
                PubDBHelper.UpdatePublish(pubid, meta.name, args.userId, null);
                return pubid;
            }
            SysPublish sys = Tools.NewPublish(meta, args, GetReleaseUrl(path), path);
            int pubid = PubDBHelper.InsertPublish(sys);
            pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                sys.id = pubid;
@@ -159,20 +165,23 @@
            List<int> ids = new List<int>();
            foreach (SysMeta meta in list)
            {
                string lasPath = Path.Combine(uploadFolder, meta.path);
                if (!File.Exists(lasPath)) continue;
                int epsg = 0;
                try
                {
                    epsg = Tools.get_las_cs(lasPath.Replace("\\", "/"));
                    string lasPath = Path.Combine(uploadFolder, meta.path);
                    if (!File.Exists(lasPath))
                    {
                        ids.Add(-1);
                        continue;
                    }
                    int epsg = Tools.get_las_cs(lasPath.Replace("\\", "/"));
                    ids.Add(epsg);
                }
                catch (Exception ex)
                {
                    LogOut.Error(ex.Message + "\r\n" + ex.StackTrace);
                    epsg = -1;
                    ids.Add(-1);
                }
                ids.Add(epsg);
            }
            return ids;