Revision 8188 trunk/extensions/extGraph_predes/src/com/iver/cit/gvsig/graph/TestExtension.java

View differences:

TestExtension.java
43 43
import java.awt.BasicStroke;
44 44
import java.awt.Color;
45 45
import java.awt.Frame;
46
import java.awt.geom.Point2D;
47 46
import java.io.File;
48 47
import java.util.Collection;
49 48
import java.util.Iterator;
......
69 68
import com.iver.cit.gvsig.graph.core.FEdge;
70 69
import com.iver.cit.gvsig.graph.core.FNode;
71 70
import com.iver.cit.gvsig.graph.core.IGraph;
72
import com.iver.cit.gvsig.graph.core.JungConverter;
73 71
import com.iver.cit.gvsig.graph.core.JungGraph;
74 72
import com.iver.cit.gvsig.graph.core.Network;
75 73
import com.iver.cit.gvsig.graph.core.NetworkRedLoader;
74
import com.iver.cit.gvsig.graph.gui.DlgDirections;
76 75
import com.iver.cit.gvsig.graph.solvers.Route;
77 76
import com.iver.cit.gvsig.graph.solvers.ShortestPathSolver;
78
import com.iver.cit.gvsig.graph.ui.DlgDirections;
79 77
import com.iver.cit.gvsig.project.documents.view.gui.View;
80 78

  
81 79
import edu.uci.ics.jung.algorithms.shortestpath.DijkstraShortestPath;
82
import edu.uci.ics.jung.graph.ArchetypeGraph;
83
import edu.uci.ics.jung.graph.Vertex;
84
import edu.uci.ics.jung.graph.decorators.Indexer;
85 80

  
86 81
public class TestExtension extends Extension {
87 82

  
88 83
	public static ShortestPathSolver solver = new ShortestPathSolver();
89 84
	private int idSymbolLine = -1;
90
	
85

  
91 86
	public void initialize() {
92 87
	}
93 88

  
......
103 98
			Network net = new Network();
104 99
			net.setLayer((FLyrVect) aux);
105 100
			NetworkRedLoader netLoader = new NetworkRedLoader();
106
			
101

  
107 102
			netLoader.setNetFile(new File("c:/ejes.red"));
108
			
103

  
109 104
			IGraph g = netLoader.loadNetwork();
110 105

  
111 106
			net.setGraph(g);
112 107

  
113 108
			// Primer punto
114 109
			net.addFlag(433647.09375, 4488029, 10);
115
			
110

  
116 111
			// Segundo punto
117 112
			net.addFlag(437290.96875, 4481547, 10);
118
			
119
			
120
			
113

  
114

  
115

  
121 116
			Route route;
122
			try {					
117
			try {
123 118
				solver.setNetwork(net);
124 119
				solver.setFielStreetName("Nombre");
125 120
				route = solver.calculateRoute();
......
127 122
				dlg.setModel(route.getFeatureList());
128 123

  
129 124
				createGraphicsFrom(route.getFeatureList(), v.getMapControl());
130
				
125

  
131 126
				dlg.setVisible(true);
132 127
				System.out.println("distancia fjp:" + route.getCost());
133
					
128

  
134 129
				// PROBAMOS JUNG
135 130
				JungGraph jG = new JungGraph(net.getGraph());
136
				
131

  
137 132
				// Probamos la algoritmia: distancia entre nodo 1 y nodo 1000
138 133
				DijkstraShortestPath distCalculator = new DijkstraShortestPath(jG, new EdgeWeightLabeller());
139 134
				FNode vOrig = jG.getVertexByID(1);
......
141 136
				long t1 = System.currentTimeMillis();
142 137
				Number dist = distCalculator.getDistance(vOrig, vEnd);
143 138
				long t2 = System.currentTimeMillis();
144
				
139

  
145 140
//				assertEquals(dist.doubleValue(), 8887, 0);
146
				
141

  
147 142
				System.out.println("dist =" + dist + " meters. msecs: " + (t2-t1));
148 143

  
149 144
				List path = distCalculator.getPath(vOrig, vEnd);
......
153 148
				System.out.println(vOrig.getX() + ", " + vOrig.getY()
154 149
								+ " - " + vEnd.getX() + ", " + vEnd.getY());
155 150

  
156
				
151

  
157 152
			} catch (GraphException e) {
158 153
				// TODO Auto-generated catch block
159 154
				e.printStackTrace();
......
162 157
				e.printStackTrace();
163 158
			}
164 159
		}
165
		
166
		
167
		
160

  
161

  
162

  
168 163
	}
169 164

  
170 165
	private void createGraphicsFrom(Collection featureList, MapControl mapControl) {
......
184 179
			graphicLayer.addGraphic(graphic);
185 180
		}
186 181
		mapControl.drawGraphics();
187
		
182

  
188 183
	}
189
	
184

  
190 185
	private void createGraphicsFrom(ListIterator it, MapControl mapControl) throws DriverException {
191 186
		GraphicLayer graphicLayer = mapControl.getMapContext().getGraphicsLayer();
192 187
		Color color = new Color(0.5f, 0.8f, 0.0f, 0.5f);
......
202 197
			graphicLayer.addGraphic(graphic);
203 198
		}
204 199
		mapControl.drawGraphics();
205
		
200

  
206 201
	}
207
	
208 202

  
203

  
209 204
	public boolean isEnabled() {
210 205
		// TODO Auto-generated method stub
211 206
		return true;

Also available in: Unified diff