Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libGeocoding / src-test / org / gvsig / geocoding / geomatches / TestDoubleCrossLineMatcher.java @ 23020

History | View | Annotate | Download (4.56 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

    
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2008 Prodevelop S.L  main development
26
 */
27

    
28
package org.gvsig.geocoding.geomatches;
29

    
30
import java.io.File;
31
import java.util.ArrayList;
32
import java.util.List;
33

    
34
import junit.framework.TestCase;
35

    
36
import org.apache.log4j.ConsoleAppender;
37
import org.apache.log4j.Logger;
38
import org.apache.log4j.PatternLayout;
39
import org.gvsig.fmap.data.DataManager;
40
import org.gvsig.fmap.data.DataStoreParameters;
41
import org.gvsig.fmap.data.ReadException;
42
import org.gvsig.fmap.data.feature.FeatureCollection;
43
import org.gvsig.fmap.data.feature.file.shp.Register;
44
import org.gvsig.fmap.data.feature.file.shp.SHPStore;
45
import org.gvsig.fmap.data.feature.file.shp.SHPStoreParameters;
46
import org.gvsig.fmap.geom.primitive.Curve2D;
47
import org.gvsig.geocoding.geommatches.DoubleCrossLineMatcher;
48

    
49
/**
50
 * 
51
 * @author <a href="mailto:jsanz@prodevelop.es"> Jorge Gaspar Sanz Salinas</a>
52
 * @author <a href="mailto:vsanjaime@prodevelop.es"> Vicente Sanjaime Calvet</a>
53
 * 
54
 */
55

    
56
public class TestDoubleCrossLineMatcher extends TestCase {
57

    
58
        Logger log;
59

    
60
        DoubleCrossLineMatcher geomatcher = null;
61

    
62
        SHPStore store1 = null;
63

    
64
        SHPStore store2 = null;
65

    
66
        SHPStore store3 = null;
67

    
68
        @SuppressWarnings("unchecked")
69
        List listFeatures = new ArrayList();
70

    
71
        public TestDoubleCrossLineMatcher() {
72
                super();
73
                log = Logger.getRootLogger();
74
                log.addAppender(new ConsoleAppender(
75
                                new PatternLayout("%-5p [%t]: %m%n")));
76
        }
77

    
78
        @SuppressWarnings("unchecked")
79
        public void setUp() {
80

    
81
                Register.selfRegister();
82

    
83
                File fileCross1 = new File("./test-data/matches/doublecross1.shp");
84

    
85
                File fileCross2 = new File("./test-data/matches/doublecross2.shp");
86

    
87
                File fileCross3 = new File("./test-data/matches/doublecross3.shp");
88

    
89
                assertTrue(fileCross1.exists());
90
                assertTrue(fileCross2.exists());
91
                assertTrue(fileCross3.exists());
92

    
93
                geomatcher = new DoubleCrossLineMatcher();
94
                DataManager manager = DataManager.getManager();
95

    
96

    
97

    
98
                try {
99
                        SHPStoreParameters shpParameters1 = null;
100
                        shpParameters1 = (SHPStoreParameters) manager
101
                                        .createDataStoreParameters(SHPStore.DATASTORE_NAME);
102
                        shpParameters1.setFile(fileCross1);
103

    
104
                        SHPStoreParameters shpParameters2 = null;
105
                        shpParameters2 = (SHPStoreParameters) manager
106
                                        .createDataStoreParameters(SHPStore.DATASTORE_NAME);
107
                        shpParameters2.setFile(fileCross2);
108

    
109
                        SHPStoreParameters shpParameters3 = null;
110
                        shpParameters3 = (SHPStoreParameters) manager
111
                                        .createDataStoreParameters(SHPStore.DATASTORE_NAME);
112
                        shpParameters3.setFile(fileCross3);
113
                        
114
                        store1 = (SHPStore) manager
115
                                        .createDataStore((DataStoreParameters) shpParameters1);
116
                        store1.open();
117
                        listFeatures.add((FeatureCollection) store1.getDataCollection());
118

    
119
                        store2 = (SHPStore) manager
120
                                        .createDataStore((DataStoreParameters) shpParameters2);
121
                        store2.open();
122
                        listFeatures.add((FeatureCollection) store2.getDataCollection());
123

    
124
                        store3 = (SHPStore) manager
125
                                        .createDataStore((DataStoreParameters) shpParameters3);
126
                        store3.open();                        
127
                        listFeatures.add((FeatureCollection) store3.getDataCollection());
128

    
129
                        store1.close();
130
                        store2.close();
131
                        store3.close();
132

    
133
                } catch (Exception e) {
134
                        e.printStackTrace();
135
                }
136
        }
137

    
138
        public void testDoubleCrossLineMatcher() throws ReadException {
139

    
140
                Curve2D[] places = null;
141
                geomatcher.setGroupField(1);
142
                geomatcher.setFeatures(listFeatures);
143
                // geomatcher.setParams(context);
144
                places = (Curve2D[]) geomatcher.match();
145
                // Validate
146
                assertEquals(3, places.length);
147
                for (int i = 0; i < places.length; i++) {
148
                        log.info("Line. " + places[i].getGeneralPathX());
149
                }
150
        }
151

    
152
        public void tearDown() {
153

    
154
        }
155

    
156
}