示例#1
0
 public SPMAdjustDT(IBaseService iBaseService, DataForAdjust dataForAdjust, IList<FileInfoBase> dtFileList)
 {
     base.m_IBaseService = iBaseService;
     this.m_antennaGain = ServiceHelper.Lookup<ICalcGain>(iBaseService);
     base.m_GeoDataObserver = ServiceHelper.Lookup<IPropaGeoDataObserver>(iBaseService);
     this.m_StatusBarService = ServiceHelper.Lookup<IStatusBarService>(iBaseService);
     this.m_SectionPathLossCalcParam = new SectionPathLossCalcParam();
     base.modelBeforeAdjust = dataForAdjust.PropModel as SpmPropagationModel;
     base.modelAfterAdjust = (SpmPropagationModel) base.modelBeforeAdjust.Clone();
     this.m_SectionPathLossCalcParam.PropagModel = base.modelAfterAdjust;
     this.m_ClutterLossMethod = base.modelAfterAdjust.ClutLossCalcuMethod as ClutterLossBase;
     this.m_EffTxHeightMethod = base.modelAfterAdjust.EffTxHeightCalcuMethod as EffectTxHeightBase;
     base.endCondition = dataForAdjust.EndCondition;
     base.isCoeNeedAdjust = dataForAdjust.IsCoeNeedAdjust;
     this.m_DTFileList = dtFileList;
     this.m_DataForAdjust = dataForAdjust;
     base.m_ClutterTypeNum = base.m_GeoDataObserver.GisInfo.GetAllClutter().Count;
     base.lossesperClutterMatrix = new float[base.m_ClutterTypeNum];
     base.modelCoeValue = new float[] { base.modelBeforeAdjust.K1, base.modelBeforeAdjust.K2, base.modelBeforeAdjust.K3, base.modelBeforeAdjust.K4, base.modelBeforeAdjust.K5, base.modelBeforeAdjust.K6, base.modelBeforeAdjust.K7 };
     base.modelCoeNum = base.isCoeNeedAdjust.Length;
 }
示例#2
0
 private float CalcEffecTxHt(CellInformation cellInfo, BinInformation binInfo)
 {
     GeoXYLine geoXYLine = new GeoXYLine(cellInfo.XYPoint, binInfo.XYPoint);
     short[] altitudes = base.m_GeoDataObserver.GisInfo.GetValueByGeoXYLine(geoXYLine, (double) cellInfo.Resolution, DemDataType.Height);
     this.m_EffTxHeightMethod = base.modelBeforeAdjust.EffTxHeightCalcuMethod as EffectTxHeightBase;
     SectionPathLossCalcParam param = new SectionPathLossCalcParam();
     param.CalcResolution = cellInfo.Resolution;
     param.TxAntennaHeight = cellInfo.TxHeight;
     param.RxAntennaHeight = 1.5f;
     param.MergeEdgeMaxDis = 80f;
     param.PropagModel = base.modelBeforeAdjust;
     param.Frequency = cellInfo.Frequency;
     param.TransmitterName = cellInfo.CellName;
     float num = (this.m_EffTxHeightMethod == null) ? cellInfo.TxHeight : this.m_EffTxHeightMethod.CalcPointEffTxHt(param, altitudes);
     return (float) Math.Log10((double) num);
 }