Statistics
| Revision:

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

History | View | Annotate | Download (4.92 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
                                                                          //+" WHERE COORD_REF_SYS_CODE>2055");
38
                ResultSet result;
39
                        
40
                        result = stmt.executeQuery();
41
                        
42
               /* ArrayList wkt = new ArrayList();
43
                ArrayList proj4 = new ArrayList();
44
                ArrayList name = new ArrayList();
45
                ArrayList codigo = new ArrayList();
46
                ArrayList fallos = new ArrayList();*/
47
               
48
                String filename = "salida.txt";
49
                
50
                BufferedWriter bw =  new BufferedWriter(new FileWriter(filename));
51
               
52
                while (result.next()) {
53
                        ICrs crs = null;
54
                        //wkt.add(indice,"");
55
                                //proj4.add(indice,"");                                
56
                                //fallos.add(indice,"");                                
57
                        int cod = result.getInt("COORD_REF_SYS_CODE");
58
                        //codigo.add(indice,String.valueOf(cod));
59
                        //name.add(indice,result.getString("COORD_REF_SYS_NAME"));
60
                        //if (cod > 2100) break;
61
                        try {
62
                                
63
                                        crs = new CrsFactory().getCRS("EPSG:"+cod);
64
                                        //wkt.add(indice,crs.getWKT());
65
                                        //Proj4 proj= new Proj4();                                        
66
                                        //proj4.add(indice,crs.getProj4String());
67
                                        if (crs instanceof CrsGT) {
68
//                                                fallos.add(indice,"No falla");
69
                                                if (crs.getProj4String() == null){
70
                                                        bw.write("C?digo: "+cod+"\tNombre: "+result.getString("COORD_REF_SYS_NAME")+"\n");
71
                                                bw.write("Cadena WKT: "+crs.getWKT()+"\n");
72
                                                bw.write("Cadena Proj4: No cadena proj4 \n");
73
                                                bw.write("Fallo: Fallo generando cadena proj4 \n");                                
74
                                                bw.write("\n\n");
75
                                                }
76
                                        }
77
                                                
78
                                                
79
                                        else {
80
                                                bw.write("C?digo: "+cod+"\tNombre: "+result.getString("COORD_REF_SYS_NAME")+"\n");
81
                                        bw.write("Cadena WKT: "+crs.getWKT()+"\n");
82
                                        bw.write("Cadena Proj4: "+crs.getProj4String()+"\n");
83
                                        bw.write("Fallo: Creado con crs antiguo \n");                                
84
                                        bw.write("\n\n");
85
                                        
86
                                        //fallos.add(indice,"Creado con crs antiguo");
87
                                                
88
                                        }
89
                                                
90
                                        
91
                                } catch (CrsException e) {
92
                                        // TODO Auto-generated catch block
93
                                        //e.printStackTrace();
94
                                        /*fallos.add(indice,""+cod+": "+e);
95
                                        proj4.add(indice, "No cadena proj4");
96
                                        fallo++;*/
97
                                        bw.write("C?digo: "+cod+"\tNombre: "+result.getString("COORD_REF_SYS_NAME")+"\n");
98
                                bw.write("Cadena WKT: No cadena wkt \n");
99
                                bw.write("Cadena Proj4: No cadena proj4\n");
100
                                bw.write("Fallo: No cadena proj4 \n");                                
101
                                bw.write("\n\n");
102
                                } catch (NumberFormatException e) {
103
                                        // TODO Auto-generated catch block
104
                                        //e.printStackTrace();
105
                                        /*fallos.add(indice,""+cod+": "+e);
106
                                        proj4.add(indice, "No cadena proj4");
107
                                        fallo++;*/
108
                                        bw.write("C?digo: "+cod+"\tNombre: "+result.getString("COORD_REF_SYS_NAME")+"\n");
109
                                bw.write("Cadena WKT: No cadena wkt \n");
110
                                bw.write("Cadena Proj4: No cadena proj4\n");
111
                                bw.write("Fallo: No cadena proj4 \n");                                
112
                                bw.write("\n\n");
113
                                } catch (ConversionException e) {
114
                                        // TODO Auto-generated catch block
115
                                        //e.printStackTrace();
116
                                        /*fallos.add(indice,""+cod+": "+e);
117
                                        proj4.add(indice, "No cadena proj4");
118
                                        fallo++;*/
119
                                        bw.write("C?digo: "+cod+"\tNombre: "+result.getString("COORD_REF_SYS_NAME")+"\n");
120
                                bw.write("Cadena WKT: No cadena wkt \n");
121
                                bw.write("Cadena Proj4: No cadena proj4\n");
122
                                bw.write("Fallo: No cadena proj4 \n");                                
123
                                bw.write("\n\n");
124
                                }catch (UnformattableObjectException e) {
125
                                        // TODO Auto-generated catch block
126
                                        //e.printStackTrace();
127
                                        //fallos.add(indice,""+cod+": "+e);
128
                                        //proj4.add(indice, "No cadena proj4");
129
                                        //fallo++;
130
                                }                                
131
                }
132
                        
133
                bw.flush();
134
                bw.close();
135
               
136
                } catch (SQLException e1) {
137
                        // TODO Auto-generated catch block
138
                        e1.printStackTrace();
139
                } catch (IOException e) {
140
                        // TODO Auto-generated catch block
141
                        e.printStackTrace();
142
                }        
143
        }
144
}