/// <summary> /// 百度瓦片地图拼接 /// </summary> /// <param name="Result"></param> /// <returns></returns> public WebApiResult <string> BaiduTileSplicing(BaiduTileSplicingResult Result) { this.Result_baidu = Result; UpdateLastLoc <BaiduTileSplicingResult>(Result.GUID); log = new TaskLogEntity() { GUID = Result.GUID, Name = Result.TName, Type = "瓦片拼接", Description = "BaiduTileSplicing", Status = "进行中", Parameter = JsonHelper.ToJson(Result), SavePath = Result.SavePath }; //操作日志 new Log <BaiduTileSplicingResult>(log); threadlog = new ThreadTaskLogEntity() { GUID = this.Result_baidu.GUID, TaskLog_GUID = this.Result_baidu.GUID, Status = "进行中", Current = current, TStatus = 1, TName = Result_baidu.TName, IsPaused = false, URL = Result_baidu.URL, Parameter = JsonHelper.ToJson(Result_baidu) }; new Log <BaiduTileSplicingResult>(threadlog); try { //监测瓦片地图拼接耗时 //Stopwatch stopwatch = new Stopwatch(); //stopwatch.Start(); //百度地图瓦片相关信息获取,文件路径必须选取到z级(缩放层级)文件夹 String FilePath = Result.FilePath; DirectoryInfo TheFolder = new DirectoryInfo(FilePath); DirectoryInfo[] folder_list = TheFolder.GetDirectories(); ////百度瓦片地图拼接 String savepath = Result.SavePath; var restuls = ParallelWriteImage(folder_list, savepath, 0, Result.crstype, Result.Size); if (restuls != null) { log.Status = "已完成"; log.CompleteTime = DateTime.Now.ToString(); log.Current = log.Count; threadlog.TStatus = 2; threadlog.Status = "已完成"; threadlog.Current = threadlog.Total; //操作日志 new Log <BaiduTileSplicingResult>(threadlog); new Log <BaiduTileSplicingResult>(log); return(restuls); } //stopwatch.Stop(); } catch (Exception ex) { threadlog.Status = "错误"; threadlog.ErrorMsg = ex.ToString(); threadlog.TStatus = 3; new Log <BaiduTileSplicingResult>(threadlog); log.Status = "错误"; log.ErrorMsg = ex.ToString(); log.ErrorDate = DateTime.Now.ToString(); new Log <BaiduTileSplicingResult>(log); return(new WebApiResult <string>() { success = 0, msg = ex.ToString() }); } return(null); }
/// <summary> /// 百度瓦片地图拼接 /// </summary> /// <param name="request"></param> /// <returns></returns> public WebApiResult <string> Any(BaiduTileSplicingResult request) { ImageMosaicService service = new ImageMosaicService(); return(service.BaiduTileSplicing(request)); }