Free cookie consent management tool by TermsFeed Policy Generator

source: branches/1894_RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/RoutingGraph/EarthDistanceCostCalculator.cs @ 16110

Last change on this file since 16110 was 8520, checked in by spimming, 12 years ago

#1894:

  • extended datasource interface to get routing graph for a specific vehicle type
  • use ICostCalculator to calculate edge weights
  • moved common enums in own file
  • removed method to estimate cost from graph; use ICostCalculator
File size: 1.1 KB
Line 
1using HeuristicLab.Problems.RoutePlanning.Data.Core;
2using HeuristicLab.Problems.RoutePlanning.Interfaces;
3using HeuristicLab.Problems.RoutePlanning.Utilities;
4
5namespace HeuristicLab.Problems.RoutePlanning.RoutingGraph {
6  public class EarthDistanceCostCalculator : ICostCalculator {
7    #region ICostCalculator Members
8
9    public float Costs(Edge<Vertex> edge) {
10      return edge.Weight;
11    }
12
13    public float CalculateCosts(Vertex source, Vertex destination, HighwayType category) {
14      double distanceKms = Utils.LocationDistance(source.Logitude, source.Latitude,
15                                            destination.Logitude, destination.Latitude);
16      double weight = distanceKms;
17      return (float)weight;
18    }
19
20    public float EstimatedCosts(Vertex source, Vertex destination) {
21      double distanceKms = Utils.LocationDistance(source.Logitude, source.Latitude,
22                                            destination.Logitude, destination.Latitude);
23      double weight = distanceKms;
24      return (float)weight;
25    }
26
27    #endregion
28  }
29}
Note: See TracBrowser for help on using the repository browser.