Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <summary>
        /// 百度瓦片地图拼接
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public WebApiResult <string> Any(BaiduTileSplicingResult request)
        {
            ImageMosaicService service = new ImageMosaicService();

            return(service.BaiduTileSplicing(request));
        }