/// <summary> 初始参数
        /// </summary>
        /// <param name="strParams">参数</param>
        /// <param name="useTestParam">是否使用默认测试参数(未传入参数时)</param>
        /// <returns></returns>
        public virtual bool InitParams(string strParams, bool useTestParam = false)
        {
            if (useTestParam && strParams == "")
            {
                strParams = InitParam_Test();
            }
            _RenderType = emRenderType.None;
            _Params_str = strParams;
            _Errors.Clear();

            try
            {
                _Params   = JsonConvert.DeserializeObject <dynamic>(_Params_str);
                _Renderer = (JObject)_Params["rendererParms"];
                if (_Renderer != null)
                {
                    Enum.TryParse <emRenderType>(_Renderer["rendererType"].ToString(), out _RenderType);
                }

                DateTime dt = DateTime.Now;
                if (_Params["dataTime"].ToString() != "")
                {
                    dt = Convert.ToDateTime(_Params["dataTime"].ToString());
                }
                _dtTag = dt.ToString("_yyyyMMdd_HHmmss_ffff");
            }
            catch (System.Exception e)
            {
                _Errors.Add(e.Message);
                return(false);
            }
            return(this.CheckParams());
        }
        public static IRenderer CreateRenderer(emRenderType RenderType, IGdalRead gdalRead)
        {
            IRenderer  pRender   = null;
            IGdalReadR gdalReadR = (IGdalReadR)gdalRead;

            switch (RenderType)
            {
            case emRenderType.Classify:
                if (gdalReadR != null)
                {
                    pRender = new RasterRendererClassify(gdalReadR);
                }
                break;

            default:
                break;
            }
            return(pRender);
        }