Coverage Predictions

From Maria GDK Wiki
Revision as of 16:53, 7 April 2026 by Trm (talk | contribs) (Created page with "Calculate coverage Coverage calculations are controlled via the interce 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()); Proper...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Calculate coverage

Coverage calculations are controlled via the interce 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 is 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 successfull, jobId returns a Guid identifying the job. Else the text string return error message. Progress can be checked with subscribing on 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;
   }

}

Coverage plotting