Example #1
0
 /// <summary>
 /// 生成IStudy对象
 /// </summary>
 /// <param name="item">构建IStudy所需要的信息对象</param>
 /// <returns></returns>
 public IStudy CreateInstance(StudyTemplate item)
 {
     if (item.StudyResultTypeValue == StudyResultType.Discrete)
     {
         return GenerateDiscreteStudy(item);
     }
     else
     {
         return GenerateIntervalStudy(item);
     }
 }
Example #2
0
 private IStudy GenerateDiscreteStudy(StudyTemplate item)
 {
     if (item.ValueMarixType == ValueMatrixType.IntType)
     {
         IntDiscreteStudy intStudy = new IntDiscreteStudy();
         foreach (GeoRasterStyle style in item.StyleList)
         {
             intStudy.StyleList.Add((GeoDiscreteSytle)style);
         }
         return intStudy;
     }
     else
     {
         ShortDiscreteStudy shortStudy = new ShortLegendStudy();
         foreach (GeoRasterStyle style in item.StyleList)
         {
             shortStudy.StyleList.Add((GeoDiscreteSytle)style);
         }
         return shortStudy;
     }
 }
Example #3
0
 private IStudy GenerateIntervalStudy(StudyTemplate item)
 {
     if (item.ValueMarixType == ValueMatrixType.IntType)
     {
         IntIntervalStudy intStudy = new IntIntervalStudy();
         foreach (GeoRasterStyle style in item.StyleList)
         {
             //intStudy.ca
             intStudy.StyleList.Add((GeoIntervalSytle)style);
         }
         return intStudy;
     }
     else
     {
         ShortIntervalStudy shortStudy = new ShortIntervalStudy();
         foreach (GeoRasterStyle style in item.StyleList)
         {
             shortStudy.StyleList.Add((GeoIntervalSytle)style);
         }
         return shortStudy;
     }
 }
 private IStudy CreateStudyByTemplate(StudyTemplate studyTemplate)
 {
     IStudy study = null;
     if (studyTemplate != null)
     {
         if (this.m_SpecialStudyList.Contains(studyTemplate.Name))
         {
             this.CreateBestServerStudy(studyTemplate.ValueMarixType, studyTemplate.StudyResultTypeValue, studyTemplate.Name, ref study);
             this.CreateMcsStudy(studyTemplate.ValueMarixType, studyTemplate.StudyResultTypeValue, studyTemplate.Name, ref study);
         }
         else
         {
             study = this.CreateStudy(studyTemplate.ValueMarixType, studyTemplate.StudyResultTypeValue);
         }
         study.Name = studyTemplate.Name;
         study.Unit = studyTemplate.Unit;
         study.IsBasic = studyTemplate.IsBasic;
         if (studyTemplate.StudyResultTypeValue == StudyResultType.Discrete)
         {
             IDiscreteStudy study2 = study as IDiscreteStudy;
             study2.StyleList.AddRange(studyTemplate.StyleList.ConvertAll<GeoDiscreteSytle>(new Converter<GeoRasterStyle, GeoDiscreteSytle>(this.ConvertToDiscrete)));
             return study;
         }
         IIntervalStudy study3 = study as IIntervalStudy;
         study3.StyleList.AddRange(studyTemplate.StyleList.ConvertAll<GeoIntervalSytle>(new Converter<GeoRasterStyle, GeoIntervalSytle>(this.ConvertToInterval)));
     }
     return study;
 }