Statistics
| Revision:

root / branches / F2 / libraries / libJCRS / src-test / es / idr / test / TestWKTandProj4Epsg.java @ 12119

History | View | Annotate | Download (3.5 KB)

1
package es.idr.test;
2

    
3
import java.io.BufferedWriter;
4
import java.io.FileWriter;
5
import java.io.IOException;
6
import java.sql.Connection;
7
import java.sql.PreparedStatement;
8
import java.sql.ResultSet;
9
import java.sql.SQLException;
10
import java.util.ArrayList;
11

    
12
import javax.units.ConversionException;
13

    
14
import org.geotools.referencing.factory.epsg.HSQLDataSource;
15
import org.geotools.referencing.wkt.UnformattableObjectException;
16
import org.gvsig.crs.Crs;
17
import org.gvsig.crs.CrsException;
18
import org.gvsig.crs.Proj4;
19
import org.opengis.referencing.NoSuchAuthorityCodeException;
20

    
21
public class TestWKTandProj4Epsg {
22

    
23
        public static void main(String[] args) {
24
                HSQLDataSource ds = new HSQLDataSource();
25
                Connection conn;
26
                try {
27
                        conn = ds.getConnection();
28
                        int indice = 0;
29
                        int fallo = 0;
30
                        final PreparedStatement stmt;
31
                stmt = conn.prepareStatement("SELECT COORD_REF_SYS_CODE, COORD_REF_SYS_NAME"
32
                                              + " FROM epsg_coordinatereferencesystem");
33
                ResultSet result;
34
                        
35
                        result = stmt.executeQuery();
36
                        
37
                ArrayList wkt = new ArrayList();
38
                ArrayList proj4 = new ArrayList();
39
                ArrayList name = new ArrayList();
40
                ArrayList codigo = new ArrayList();
41
                ArrayList fallos = new ArrayList();
42
                while (result.next()) {
43
                        wkt.add(indice,"");
44
                                proj4.add(indice,"");                                
45
                                fallos.add(indice,"");
46
                                
47
                        int cod = result.getInt("COORD_REF_SYS_CODE");
48
                        codigo.add(indice,String.valueOf(cod));
49
                        name.add(indice,result.getString("COORD_REF_SYS_NAME"));
50
                        try {
51
                                        Crs crs = new Crs(cod,1);
52
                                        wkt.add(indice,crs.getWKT());
53
                                        Proj4 proj= new Proj4();                                        
54
                                        proj4.add(indice,proj.exportToProj4(crs));
55
                                        
56
                                        fallos.add(indice,"No falla");
57
                                        
58
                                } catch (CrsException e) {
59
                                        // TODO Auto-generated catch block
60
                                        //e.printStackTrace();
61
                                        fallos.add(indice,""+cod+": "+e);
62
                                        proj4.add(indice, "No cadena proj4");
63
                                        fallo++;
64
                                } catch (NumberFormatException e) {
65
                                        // TODO Auto-generated catch block
66
                                        //e.printStackTrace();
67
                                        fallos.add(indice,""+cod+": "+e);
68
                                        proj4.add(indice, "No cadena proj4");
69
                                        fallo++;
70
                                } catch (ConversionException e) {
71
                                        // TODO Auto-generated catch block
72
                                        //e.printStackTrace();
73
                                        fallos.add(indice,""+cod+": "+e);
74
                                        proj4.add(indice, "No cadena proj4");
75
                                        fallo++;
76
                                }catch (UnformattableObjectException e) {
77
                                        // TODO Auto-generated catch block
78
                                        //e.printStackTrace();
79
                                        fallos.add(indice,""+cod+": "+e);
80
                                        proj4.add(indice, "No cadena proj4");
81
                                        fallo++;
82
                                } 
83
                                indice++;
84
                }
85
                String filename = "salida.txt";
86
                try
87
                { // opens try
88
                  BufferedWriter bw =  new BufferedWriter(new FileWriter(filename));
89
                
90
                      for (int i = 0; i< codigo.size(); i++) {
91
                                                       
92
                        bw.write("C?digo: "+codigo.get(i)+"\tNombre: "+name.get(i)+"\n");
93
                        bw.write("Cadena WKT: "+wkt.get(i)+"\n");
94
                        bw.write("Cadena Proj4: "+proj4.get(i)+"\n");
95
                        bw.write("Fallo:"+fallos.get(i)+"\n");
96
                        bw.write("\n\n");
97
                }        
98
                /*for (int i = 0; i< fallos.size(); i++) {                        
99
                }*/        
100
               
101
                      bw.write("Numero CRSs: " + codigo.size()+"\n");        
102
                      bw.write("Numero fallos: " + fallo+"\n");
103
                bw.flush();
104
                bw.close();
105
                } // closes try
106
                       catch (IOException ioe) { // open catch
107
                       }// close catch
108
                } catch (SQLException e1) {
109
                        // TODO Auto-generated catch block
110
                        e1.printStackTrace();
111
                }        
112
        }
113
}