Example #1
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);
 }
Example #2
0
 private void FillOneProportionBinValue(FileInfoBase dtFileInfo, int rowIndex, BinInformation binInfo)
 {
     if (binInfo.ClutterProportion != null)
     {
         for (int i = 0; i < base.m_ClutterTypeNum; i++)
         {
             base.proportionMatrix[(rowIndex * base.m_ClutterTypeNum) + i] = binInfo.ClutterProportion[i];
         }
     }
 }
Example #3
0
 private float CalSFadingMarginAndPentroless(BinInformation binInfo)
 {
     short clutterID = base.m_GeoDataObserver.IGeoProvider.GetGeoInfo.GetValueByGeoXYPoint(binInfo.XYPoint, DemDataType.Clutter);
     short buildHeight = base.m_GeoDataObserver.IGeoProvider.GetGeoInfo.GetValueByGeoXYPoint(binInfo.XYPoint, DemDataType.Building);
     SFadingMarginAndPentrLoss loss = new SFadingMarginAndPentrLoss(base.m_GeoDataObserver.IGeoProvider.ClutterParams);
     return loss.GetSFadingMarginAndPenetrationLoss(this.m_DataForAdjust.CellEdgeCoverProbility, clutterID, buildHeight, true, false);
 }
Example #4
0
 private bool FillOneBinValue(FileInfoBase dtFileInfo, int rowIndex, BinInformation binInfo)
 {
     float[] tempModelValue = new float[base.modelCoeNum];
     this.CalculateModelValue(dtFileInfo.CellInfo, binInfo, ref tempModelValue);
     int num = 0;
     for (int i = 0; i < base.modelCoeNum; i++)
     {
         base.allCoeValueMatrix[(rowIndex * base.modelCoeNum) + num] = tempModelValue[i];
         num++;
     }
     base.actualLossMatrix[rowIndex] = binInfo.ActualPathLoss;
     return true;
 }
Example #5
0
 private void CalculateModelValue(CellInformation cellInfo, BinInformation binInfo, ref float[] tempModelValue)
 {
     float num = 0f;
     if ((cellInfo.TxHeight == 0f) || float.IsNegativeInfinity(cellInfo.TxHeight))
     {
         num = 0f;
     }
     else
     {
         num = this.CalcEffecTxHt(cellInfo, binInfo);
     }
     float num2 = 1.5f;
     tempModelValue[0] = 1f;
     tempModelValue[1] = binInfo.LogDistance;
     tempModelValue[2] = num;
     tempModelValue[3] = binInfo.DiffLoss;
     tempModelValue[4] = binInfo.LogDistance * num;
     tempModelValue[5] = num2;
     tempModelValue[6] = binInfo.ClutterLoss;
 }