Coverage Predictions: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Calculate coverage | === Calculate coverage === | ||
Coverage calculations are controlled by the interface IRadioCoverage in [http://codedocs.maria.teleplanglobe.com/develop_gdk5/managed/class_t_p_g_1_1_g_d_k_1_1_maria_1_1_radio_plan_layer_1_1_radio_coverage.html IMariaRadioPlanLayer.RadioCoverage] | |||
To create a coverage file, we need to define some parameters. The most important is the selection of propagation model. | |||
To create a coverage file, we need to define some parameters | |||
The list of propagation models can be found like this: | The list of propagation models can be found like this: | ||
<syntaxhighlight lang="c#"> | |||
_propagationModels = new ReadOnlyCollection<string>(_radioPlanLayer.RadioCoverage.RadioPropagationModelRepository.PropagationModels.Select(m => m.Name).ToList()); | _propagationModels = new ReadOnlyCollection<string>(_radioPlanLayer.RadioCoverage.RadioPropagationModelRepository.PropagationModels.Select(m => m.Name).ToList()); | ||
</syntaxhighlight> | |||
Properties for the Coverage calculation are stored in | |||
Properties for the Coverage calculation | <syntaxhighlight lang="c#"> | ||
record CoverageProperties(int Resolution, int Size, AreaShape CalculationAreaShape, string PropagationModel, RxHeight RxHeight); | record CoverageProperties(int Resolution, int Size, AreaShape CalculationAreaShape, string PropagationModel, RxHeight RxHeight); | ||
</syntaxhighlight> | |||
Coverage calculation is started with | Coverage calculation is started with | ||
<syntaxhighlight lang="c#"> | |||
var jobId = await _radioPlanLayer.RadioCoverage.StartCoverageCalculationForRadio(radio, coverageProperties); | var jobId = await _radioPlanLayer.RadioCoverage.StartCoverageCalculationForRadio(radio, coverageProperties); | ||
</syntaxhighlight> | |||
If successful, jobId returns a Guid to identify the job. Otherwise, the text string returns an error message. Progress can be checked by subscribing to the event RadioCoverage.CovDataUpdateProgress. | |||
If | <syntaxhighlight lang="c#"> | ||
_radioPlanLayer.RadioCoverage.CovDataUpdateProgress += CoverageDataUpdateProgress; | _radioPlanLayer.RadioCoverage.CovDataUpdateProgress += CoverageDataUpdateProgress; | ||
| Line 37: | Line 36: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
[[Category:RadioPlan]] | [[Category:RadioPlan]] | ||
Latest revision as of 17:14, 7 April 2026
Calculate coverage
Coverage calculations are controlled by the interface IRadioCoverage in IMariaRadioPlanLayer.RadioCoverage
To create a coverage file, we need to define some parameters. The most important is the selection of propagation model.
The list of propagation models can be found like this:
_propagationModels = new ReadOnlyCollection<string>(_radioPlanLayer.RadioCoverage.RadioPropagationModelRepository.PropagationModels.Select(m => m.Name).ToList());
Properties for the Coverage calculation are stored in
record CoverageProperties(int Resolution, int Size, AreaShape CalculationAreaShape, string PropagationModel, RxHeight RxHeight);
Coverage calculation is started with
var jobId = await _radioPlanLayer.RadioCoverage.StartCoverageCalculationForRadio(radio, coverageProperties);
If successful, jobId returns a Guid to identify the job. Otherwise, the text string returns an error message. Progress can be checked by subscribing to the event RadioCoverage.CovDataUpdateProgress.
_radioPlanLayer.RadioCoverage.CovDataUpdateProgress += CoverageDataUpdateProgress;
...
private void CoverageDataUpdateProgress(object sender, CalculationJobStatus calculationJobStatus)
{
if (calculationJobStatus.IsCompleted)
{
ProgressValue = 0; // the clients progress indicator
}
else
{
ProgressValue = calculationJobStatus.TotalPercentCompleted;
}
}