svn-gvsig-desktop / tags / PilotoRedes_Build_4 / extensions / extGraph_predes / src-test / com / iver / cit / gvsig / graphtests / TestOneToMany.java @ 12191
History | View | Annotate | Download (2.14 KB)
1 | 11631 | fjp | package com.iver.cit.gvsig.graphtests; |
---|---|---|---|
2 | |||
3 | import java.io.File; |
||
4 | |||
5 | import junit.framework.TestCase; |
||
6 | |||
7 | import org.cresques.cts.IProjection; |
||
8 | |||
9 | import com.iver.cit.gvsig.fmap.crs.CRSFactory; |
||
10 | import com.iver.cit.gvsig.fmap.layers.FLyrVect; |
||
11 | import com.iver.cit.gvsig.fmap.layers.LayerFactory; |
||
12 | import com.iver.cit.gvsig.graph.GraphException; |
||
13 | import com.iver.cit.gvsig.graph.core.GvFlag; |
||
14 | import com.iver.cit.gvsig.graph.core.IGraph; |
||
15 | import com.iver.cit.gvsig.graph.core.Network; |
||
16 | import com.iver.cit.gvsig.graph.core.loaders.NetworkRedLoader; |
||
17 | import com.iver.cit.gvsig.graph.solvers.OneToManySolver; |
||
18 | import com.iver.cit.gvsig.graph.solvers.Route; |
||
19 | |||
20 | public class TestOneToMany extends TestCase { |
||
21 | |||
22 | FLyrVect lyr; |
||
23 | Network net; |
||
24 | IGraph g; |
||
25 | |||
26 | |||
27 | protected void setUp() throws Exception { |
||
28 | super.setUp();
|
||
29 | // Setup de los drivers
|
||
30 | LayerFactory |
||
31 | .setDriversPath("../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers");
|
||
32 | |||
33 | // Setup del factory de DataSources
|
||
34 | |||
35 | IProjection prj = CRSFactory.getCRS("EPSG:23030");
|
||
36 | File shpFile = new File("test_files/ejes.shp"); |
||
37 | lyr = (FLyrVect) LayerFactory.createLayer("Ejes", "gvSIG shp driver", |
||
38 | shpFile, prj); |
||
39 | |||
40 | NetworkRedLoader netLoader = new NetworkRedLoader();
|
||
41 | netLoader.setNetFile(new File("test_files/ejes.net")); |
||
42 | g = netLoader.loadNetwork(); |
||
43 | |||
44 | net = new Network();
|
||
45 | |||
46 | |||
47 | |||
48 | |||
49 | |||
50 | |||
51 | |||
52 | } |
||
53 | |||
54 | public void testCalculate() throws GraphException { |
||
55 | OneToManySolver solver = new OneToManySolver();
|
||
56 | net.setLayer(lyr); |
||
57 | net.setGraph(g); |
||
58 | solver.setNetwork(net); |
||
59 | |||
60 | // Source flag
|
||
61 | GvFlag sourceFlag = net.createFlag(441901, 4475977, 10); |
||
62 | solver.setSourceFlag(sourceFlag); |
||
63 | |||
64 | // Destination flags
|
||
65 | net.addFlag(441901, 4475977, 10); |
||
66 | net.addFlag(442830, 4476201, 200); |
||
67 | net.addFlag(442673, 4475125, 200); |
||
68 | long t1 = System.currentTimeMillis(); |
||
69 | 12157 | fjp | solver.putDestinationsOnNetwork(); |
70 | 11631 | fjp | solver.calculate(); |
71 | 12157 | fjp | solver.removeDestinationsFromNetwork(); |
72 | 11631 | fjp | long t2 = System.currentTimeMillis(); |
73 | System.out.println("tiempo:" + (t2-t1)); |
||
74 | |||
75 | GvFlag flags[] = net.getFlags();
|
||
76 | |||
77 | for (int i=0; i < flags.length; i++) |
||
78 | { |
||
79 | System.out.println("Flag " + i + " " + flags[i].getCost()); |
||
80 | } |
||
81 | // assertEquals(dist.doubleValue(), 8887, 0);
|
||
82 | |||
83 | |||
84 | |||
85 | |||
86 | |||
87 | } |
||
88 | |||
89 | } |