Beispiel #1
0
 public int BindAnalyDiscreteLayerData(GeoDiscreteEventArgs args)
 {
     int transparency = 200;
     List<GeoRasterStyle> newStyles = new List<GeoRasterStyle>();
     foreach (KeyValuePair<short, Color> pair in args.m_DiscreteColorDict)
     {
         GeoDiscreteSytle item = new GeoDiscreteSytle("name", pair.Value, pair.Key);
         newStyles.Add(item);
         transparency = pair.Value.A;
     }
     if (this.m_DataDic.ContainsKey(args.LayerId))
     {
         this.m_GeoMapMgr.UpdateRasterLayerStyles(args.LayerId, newStyles, transparency);
         return args.LayerId;
     }
     IGeoDemData geoDemData = args.m_GeoDemData;
     Dictionary<short, string> discreteValues = new Dictionary<short, string>();
     foreach (KeyValuePair<short, Color> pair2 in args.m_DiscreteColorDict)
     {
         discreteValues.Add(pair2.Key, pair2.Key.ToString());
     }
     GeoDemDiscreteData dataSource = new GeoDemDiscreteData(geoDemData.FilePath, discreteValues, geoDemData.Bound, geoDemData.Resolution);
     int key = this.m_GeoMapMgr.AddApplicationRasterLayer(dataSource, newStyles, transparency);
     this.m_DataDic.Add(key, dataSource);
     return key;
 }
 private void GeoDiscreteShow(PredictionGroup pg, PredictionStudy ps)
 {
     this.m_ValueCollectionShort = ps.StudyValueMatrix as ValueMatrixShortCollection;
     this.m_ValueCollectionShort.Open(this.m_SubSysInterface.ProjectManager);
     this.m_DefaultColor = Color.FromArgb(0, Color.White);
     if (ps.StudyType == PredictionStudyType.Best_Server)
     {
         this.GeoBestServerShow(pg, ps, this.m_DefaultColor);
     }
     else
     {
         this.ClearDiscreteMapLayer(ps);
         DiscreteValueLegend legend = ps.StudyLegend.DiscreteValue[ps.StudyLegend.FieldItem[ps.StudyLegend.DisplayTypeIndex]];
         Dictionary<short, Color> discreteValueField = legend.DiscreteValueField;
         List<short> list = new List<short>(discreteValueField.Keys);
         foreach (short num in list)
         {
             discreteValueField[num] = CheckColorTransparence.CheckColor(discreteValueField[num], ps.StudyLegend.Transparence);
         }
         string str = Enum.GetName(typeof(PredictionStudyType), ps.StudyType).Replace('_', ' ');
         foreach (ValueMatrixShort @short in this.m_ValueCollectionShort.Values)
         {
             GeoDiscreteEventArgs args = new GeoDiscreteEventArgs(@short, discreteValueField, this.m_DefaultColor);
             args.m_PolygonRegion = this.m_PredictionGroup.Region;
             int layerId = this.m_SubSysInterface.AnalyDispEvent.AnalyGeoDiscreteLayerMsgChanged(args);
             ps.StudyLegend.MapLever = layerId;
             this.UpdateTreeNodeTag(pg, ps, layerId);
         }
         this.m_ValueCollectionShort.Close(false);
     }
 }
 private void ThroughputShow(PredictionGroup pg, PredictionStudy ps)
 {
     this.ClearDiscreteMapLayer(ps);
     string savePath = this.GetSavePath(ps);
     this.m_ValueCollectionInt = ps.StudyValueMatrix as ValueMatrixIntCollection;
     this.m_ValueCollectionInt.Open(this.m_SubSysInterface.ProjectManager);
     Dictionary<short, Color> discreteColorDict = new Dictionary<short, Color>();
     this.m_DefaultColor = Color.FromArgb(0, Color.White);
     List<MaxMinValue> maxMinValueList = this.GenerateColorDict(ps, discreteColorDict);
     foreach (ValueMatrixInt num in this.m_ValueCollectionInt.Values)
     {
         ValueMatrixShort throughputValueMatrix = new ValueMatrixShort(savePath, string.Empty, num.RowsCount, num.ColumnsCount);
         throughputValueMatrix.SetParam(num.NorthwestX, num.NorthwestY, (float) num.Resolution);
         throughputValueMatrix.SetValue(num.InvalidValue, num.NotCalcValue, num.DefaultValue);
         this.GenerateValueMatrixForGeo(maxMinValueList, num, throughputValueMatrix);
         string str2 = Enum.GetName(typeof(PredictionStudyType), ps.StudyType).Replace('_', ' ');
         GeoDiscreteEventArgs args = new GeoDiscreteEventArgs(throughputValueMatrix, discreteColorDict, this.m_DefaultColor);
         args.m_PolygonRegion = this.m_PredictionGroup.Region;
         int layerId = this.m_SubSysInterface.AnalyDispEvent.AnalyGeoDiscreteLayerMsgChanged(args);
         ps.StudyLegend.MapLever = layerId;
         this.UpdateTreeNodeTag(pg, ps, layerId);
         throughputValueMatrix.Close(false);
     }
     this.m_ValueCollectionInt.Close(false);
 }
 private void GeoBestServerShow(PredictionGroup pg, PredictionStudy ps, Color defaultColor)
 {
     string str = Enum.GetName(typeof(PredictionStudyType), ps.StudyType).Replace('_', ' ');
     TreeNode node = this.m_PredictionGroupsManager.RootNode.Nodes[this.m_PredictionGroup.Name].Nodes[str];
     this.ClearBestServerMapLayer(ps, this.m_PredictionGroup);
     int num = (node.Nodes.Count - 1) / 0xff;
     for (short i = 0; i <= num; i = (short) (i + 1))
     {
         Dictionary<short, Color> tag = node.Nodes[(short) (i * 0xff)].Tag as Dictionary<short, Color>;
         List<short> list = new List<short>(tag.Keys);
         foreach (short num3 in list)
         {
             tag[num3] = CheckColorTransparence.CheckColor(tag[num3], ps.StudyLegend.Transparence);
         }
         foreach (ValueMatrixShort @short in this.m_ValueCollectionShort.Values)
         {
             GeoDiscreteEventArgs args = new GeoDiscreteEventArgs(@short, tag, this.m_DefaultColor);
             args.m_PolygonRegion = this.m_PredictionGroup.Region;
             int layerId = this.m_SubSysInterface.AnalyDispEvent.AnalyGeoDiscreteLayerMsgChanged(args);
             ps.StudyLegend.MapLever = layerId - i;
             this.UpdateTreeNodeTag(pg, ps, layerId);
         }
     }
     this.m_ValueCollectionShort.Close(false);
 }