| | |
| | | /// </summary> |
| | | public static string GetReleaseUrl(string path) |
| | | { |
| | | return "http://{host}/LFData/" + path.Replace("\\", "/"); |
| | | return "{host}/LFData/" + path.Replace("\\", "/"); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | if (!Directory.Exists(outPath)) Directory.CreateDirectory(outPath); |
| | | if ("laz" == meta.type) lasPath = toLas(lasPath, Path.Combine(outPath, meta.id + ".las")); |
| | | |
| | | string cmd = string.Format("{0}\\gocesiumtiler.exe -i \"{1}\" -o \"{2}\" -e {3} -z {4} -g -s", tilerPath, lasPath, outPath, args.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(outPath); |
| | | string jsonFile = findTileset(meta, outPath); |
| | | if ("laz" == meta.type && File.Exists(lasPath)) File.Delete(lasPath); |
| | | if (File.Exists(jsonFile)) |
| | | { |
| | |
| | | { |
| | | string lasPath = outPath.Replace("laz", "laz"); |
| | | 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; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 查找tileset.json |
| | | /// </summary> |
| | | private static string findTileset(string path) |
| | | private static string findTileset(SysMeta meta, string path) |
| | | { |
| | | PathRename(meta, path); |
| | | |
| | | DirectoryInfo di = new DirectoryInfo(path); |
| | | FileInfo[] fis = di.GetFiles("tileset.json", SearchOption.AllDirectories); |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 路径重命名 |
| | | /// </summary> |
| | | private static void PathRename(SysMeta meta, string path) |
| | | { |
| | | try |
| | | { |
| | | string subPath = Path.Combine(path, meta.guid); |
| | | if (Directory.Exists(subPath)) |
| | | { |
| | | string newPath = Path.Combine(path, meta.id.ToString()); |
| | | Directory.Move(subPath, newPath); |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </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; |
| | |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取Las坐标系 |
| | | /// </summary> |
| | | public static List<int> ReadLasCs(XYZArgs args, ref string err) |
| | | { |
| | | List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('las', 'laz')"); |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | string uploadFolder = Tools.GetSetting("uploadFolder"); |
| | | |
| | | List<int> ids = new List<int>(); |
| | | foreach (SysMeta meta in list) |
| | | { |
| | | try |
| | | { |
| | | 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); |
| | | ids.Add(-1); |
| | | } |
| | | } |
| | | |
| | | return ids; |
| | | } |
| | | } |
| | | } |