- Timestamp:
- 08/09/12 16:20:19 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Osm.Data/XmlDataSource.cs
r8316 r8462 1 1 2 using System; 2 3 using System.Collections.Generic; 3 4 using System.IO; 4 5 using System.Xml; 6 using HeuristicLab.Problems.RoutePlanning.Graph; 5 7 namespace HeuristicLab.Problems.RoutePlanning.Osm.Data { 6 8 public class XmlDataSource : IDataSource { … … 82 84 } 83 85 84 #endregion 86 public IGraph GetRoutingGraph() { 87 IGraph graph = new Graph.Graph(); 88 foreach (Way way in ways.Values) { 89 List<Node> nodes = way.Nodes; 90 for (int i = 0; i < way.Nodes.Count - 1; i++) { 91 Vertex v1 = new Vertex(nodes[i].Id, nodes[i].Longitude, nodes[i].Latitude); 92 graph.AddVertex(v1); 93 Vertex v2 = new Vertex(nodes[i + 1].Id, nodes[i + 1].Longitude, nodes[i + 1].Latitude); 94 if (v1.Id == 370626403) { 95 Console.WriteLine(); 96 } 97 graph.AddVertex(v2); 98 if (way.OneWay) { 99 Edge<Vertex> edge = new Edge<Vertex>(v1, v2); 100 edge.Category = (short)way.HighwayTag; 101 graph.AddEdge(edge); 102 } else { 103 Edge<Vertex> edgeForward = new Edge<Vertex>(v1, v2); 104 edgeForward.Category = (short)way.HighwayTag; 105 graph.AddEdge(edgeForward); 106 107 Edge<Vertex> edgeBackward = new Edge<Vertex>(v2, v1); 108 edgeForward.Category = (short)way.HighwayTag; 109 graph.AddEdge(edgeBackward); 110 } 111 112 } 113 } 114 return graph; 115 } 116 117 #endregion 118 119 #region Private Methods 85 120 86 121 private void ReadData() { … … 214 249 } 215 250 } 251 252 #endregion 216 253 } 217 254 }
Note: See TracChangeset
for help on using the changeset viewer.