Statistics
| Revision:

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

History | View | Annotate | Download (4.08 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.CrsFactory;
19
import org.gvsig.crs.CrsGT;
20
import org.gvsig.crs.ICrs;
21
import org.gvsig.crs.Proj4;
22
import org.opengis.referencing.NoSuchAuthorityCodeException;
23
import org.opengis.referencing.crs.CoordinateReferenceSystem;
24

    
25
public class TestWKTandProj4Epsg {
26

    
27
        public static void main(String[] args) {
28
                HSQLDataSource ds = new HSQLDataSource();
29
                Connection conn;
30
                try {
31
                        conn = ds.getConnection();
32
                        int indice = 0;
33
                        int fallo = 0;
34
                        final PreparedStatement stmt;
35
                stmt = conn.prepareStatement("SELECT COORD_REF_SYS_CODE, COORD_REF_SYS_NAME"
36
                                              + " FROM epsg_coordinatereferencesystem");
37
                ResultSet result;
38
                        
39
                        result = stmt.executeQuery();
40
                        
41
                ArrayList wkt = new ArrayList();
42
                ArrayList proj4 = new ArrayList();
43
                ArrayList name = new ArrayList();
44
                ArrayList codigo = new ArrayList();
45
                ArrayList fallos = new ArrayList();
46
               
47
                String filename = "salida.txt";
48
                
49
                BufferedWriter bw =  new BufferedWriter(new FileWriter(filename));
50
               
51
                while (result.next()) {
52
                        wkt.add(indice,"");
53
                                proj4.add(indice,"");                                
54
                                fallos.add(indice,"");                                
55
                        int cod = result.getInt("COORD_REF_SYS_CODE");
56
                        codigo.add(indice,String.valueOf(cod));
57
                        name.add(indice,result.getString("COORD_REF_SYS_NAME"));
58
                        //if (cod > 2100) break;
59
                        try {
60
                                ICrs crs;
61
                                        crs = new CrsFactory().getCRS("EPSG:"+cod);
62
                                        wkt.add(indice,crs.getWKT());
63
                                        //Proj4 proj= new Proj4();                                        
64
                                        proj4.add(indice,crs.getProj4String());
65
                                        if (crs instanceof CrsGT)                                        
66
                                                fallos.add(indice,"No falla");
67
                                        else
68
                                                fallos.add(indice,"Creado con crs antiguo");
69
                                        
70
                                } catch (CrsException 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 (NumberFormatException 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
                                } catch (ConversionException e) {
83
                                        // TODO Auto-generated catch block
84
                                        //e.printStackTrace();
85
                                        fallos.add(indice,""+cod+": "+e);
86
                                        proj4.add(indice, "No cadena proj4");
87
                                        fallo++;
88
                                }catch (UnformattableObjectException e) {
89
                                        // TODO Auto-generated catch block
90
                                        //e.printStackTrace();
91
                                        fallos.add(indice,""+cod+": "+e);
92
                                        proj4.add(indice, "No cadena proj4");
93
                                        fallo++;
94
                                }
95
                                bw.write("C?digo: "+codigo.get(indice)+"\tNombre: "+name.get(indice)+"\n");
96
                        bw.write("Cadena WKT: "+wkt.get(indice)+"\n");
97
                        bw.write("Cadena Proj4: "+proj4.get(indice)+"\n");
98
                        bw.write("Fallo:"+fallos.get(indice)+"\n");
99
                        bw.write("\n\n");
100
                                indice++;
101
                                
102
                }
103
                
104
                
105
                      for (int i = 0; i< codigo.size(); i++) {
106
                                                       
107
                        /*bw.write("C?digo: "+codigo.get(i)+"\tNombre: "+name.get(i)+"\n");
108
                        bw.write("Cadena WKT: "+wkt.get(i)+"\n");
109
                        bw.write("Cadena Proj4: "+proj4.get(i)+"\n");
110
                        bw.write("Fallo:"+fallos.get(i)+"\n");
111
                        bw.write("\n\n");*/
112
                }        
113
                /*for (int i = 0; i< fallos.size(); i++) {                        
114
                }*/        
115
               
116
                      bw.write("Numero CRSs: " + codigo.size()+"\n");        
117
                      bw.write("Numero fallos: " + fallo+"\n");
118
                bw.flush();
119
                bw.close();
120
               
121
                } catch (SQLException e1) {
122
                        // TODO Auto-generated catch block
123
                        e1.printStackTrace();
124
                } catch (IOException e) {
125
                        // TODO Auto-generated catch block
126
                        e.printStackTrace();
127
                }        
128
        }
129
}