Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/03/12 15:04:27 (12 years ago)
Author:
spimming
Message:

#1894

  • restructured test program
  • new, faster version of AStar algorithm
  • moved method to obtain edge max speed to way
Location:
branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Graph/Graph.cs

    r8369 r8408  
    6161    public float GetWeight(Way edge, Vertex<Node> source, Vertex<Node> target) {
    6262      double distance = Utils.Distance(source.Node.Point, target.Node.Point);
    63       int speed = 0;
    64 
    65       //TODO:
    66       HighwayType highwayType = edge.HighwayTag;
    67       switch (highwayType) {
    68         case HighwayType.bridleway:
    69         case HighwayType.bus_guideway:
    70         case HighwayType.raceway:
    71         case HighwayType.cycleway:
    72         case HighwayType.footway:
    73         case HighwayType.steps:
    74         case HighwayType.null_type:
    75           speed = 1;
    76           break;
    77 
    78         case HighwayType.path:
    79         case HighwayType.service:
    80         case HighwayType.pedestrian:
    81         case HighwayType.living_street:
    82           speed = 15;
    83           break;
    84 
    85         case HighwayType.road:
    86         case HighwayType.track:
    87           speed = 30;
    88           break;
    89 
    90         case HighwayType.tertiary:
    91         case HighwayType.tertiary_link:
    92         case HighwayType.secondary:
    93         case HighwayType.secondary_link:
    94           speed = 80;
    95           break;
    96 
    97         case HighwayType.unclassified:
    98         case HighwayType.residential:
    99           speed = 50;
    100           break;
    101 
    102         case HighwayType.trunk:
    103         case HighwayType.trunk_link:
    104         case HighwayType.primary:
    105         case HighwayType.primary_link:
    106           speed = 100;
    107           break;
    108         case HighwayType.motorway:
    109         case HighwayType.motorway_link:
    110           speed = 130;
    111           break;
    112 
    113         default:
    114           speed = 1;
    115           break;
    116       }
    117 
     63      int speed = edge.GetMaxSpeed();
    11864      double weight = (distance / speed) * 3.6;
    11965      return (float)weight;
  • branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/HeuristicLab.Problems.RoutePlanning.csproj

    r8314 r8408  
    8181    <None Include="Properties\AssemblyInfo.cs.frame" />
    8282  </ItemGroup>
    83   <ItemGroup />
    8483  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    8584  <PropertyGroup>
  • branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Osm/Way.cs

    r8369 r8408  
    9494
    9595    //public bool CanBeTraversed(Vehicle) {}
     96
     97    public int GetMaxSpeed() {
     98      int speed = 0;
     99
     100      //TODO:
     101      HighwayType highwayType = HighwayTag;
     102      switch (highwayType) {
     103        case HighwayType.bridleway:
     104        case HighwayType.bus_guideway:
     105        case HighwayType.raceway:
     106        case HighwayType.cycleway:
     107        case HighwayType.footway:
     108        case HighwayType.steps:
     109        case HighwayType.null_type:
     110          speed = 1;
     111          break;
     112
     113        case HighwayType.path:
     114        case HighwayType.service:
     115        case HighwayType.pedestrian:
     116        case HighwayType.living_street:
     117          speed = 15;
     118          break;
     119
     120        case HighwayType.road:
     121        case HighwayType.track:
     122          speed = 30;
     123          break;
     124
     125        case HighwayType.tertiary:
     126        case HighwayType.tertiary_link:
     127        case HighwayType.secondary:
     128        case HighwayType.secondary_link:
     129          speed = 80;
     130          break;
     131
     132        case HighwayType.unclassified:
     133        case HighwayType.residential:
     134          speed = 50;
     135          break;
     136
     137        case HighwayType.trunk:
     138        case HighwayType.trunk_link:
     139        case HighwayType.primary:
     140        case HighwayType.primary_link:
     141          speed = 100;
     142          break;
     143        case HighwayType.motorway:
     144        case HighwayType.motorway_link:
     145          speed = 130;
     146          break;
     147
     148        default:
     149          speed = 1;
     150          break;
     151      }
     152      return speed;
     153    }
    96154  }
    97155}
Note: See TracChangeset for help on using the changeset viewer.