1 |
1 |
package es.idr.test;
|
2 |
2 |
|
|
3 |
import java.io.BufferedWriter;
|
|
4 |
import java.io.FileWriter;
|
|
5 |
import java.io.IOException;
|
3 |
6 |
import java.sql.Connection;
|
4 |
7 |
import java.sql.PreparedStatement;
|
5 |
8 |
import java.sql.ResultSet;
|
... | ... | |
7 |
10 |
import java.util.ArrayList;
|
8 |
11 |
|
9 |
12 |
import javax.units.ConversionException;
|
10 |
|
import javax.units.Unit;
|
11 |
13 |
|
12 |
|
import org.geotools.referencing.CRS;
|
13 |
|
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
14 |
|
import org.geotools.referencing.crs.DefaultProjectedCRS;
|
15 |
|
import org.geotools.referencing.datum.DefaultGeodeticDatum;
|
|
14 |
import org.geotools.referencing.factory.epsg.HSQLDataSource;
|
16 |
15 |
import org.geotools.referencing.wkt.UnformattableObjectException;
|
17 |
16 |
import org.gvsig.crs.Crs;
|
18 |
17 |
import org.gvsig.crs.CrsException;
|
19 |
18 |
import org.gvsig.crs.Proj4;
|
20 |
|
import org.idr.geotools.referencing.factory.epsg.HSQLDataSource;
|
21 |
|
import org.opengis.referencing.FactoryException;
|
22 |
19 |
import org.opengis.referencing.NoSuchAuthorityCodeException;
|
23 |
|
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
24 |
20 |
|
25 |
21 |
public class TestWKTandProj4Epsg {
|
26 |
22 |
|
... | ... | |
29 |
25 |
Connection conn;
|
30 |
26 |
try {
|
31 |
27 |
conn = ds.getConnection();
|
32 |
|
|
|
28 |
int indice = 0;
|
|
29 |
int fallo = 0;
|
33 |
30 |
final PreparedStatement stmt;
|
34 |
31 |
stmt = conn.prepareStatement("SELECT COORD_REF_SYS_CODE, COORD_REF_SYS_NAME"
|
35 |
32 |
+ " FROM epsg_coordinatereferencesystem");
|
... | ... | |
43 |
40 |
ArrayList codigo = new ArrayList();
|
44 |
41 |
ArrayList fallos = new ArrayList();
|
45 |
42 |
while (result.next()) {
|
|
43 |
wkt.add(indice,"");
|
|
44 |
proj4.add(indice,"");
|
|
45 |
fallos.add(indice,"");
|
|
46 |
|
46 |
47 |
int cod = result.getInt("COORD_REF_SYS_CODE");
|
47 |
|
codigo.add(String.valueOf(cod));
|
48 |
|
name.add(result.getString("COORD_REF_SYS_NAME"));
|
49 |
|
|
50 |
|
try {
|
|
48 |
codigo.add(indice,String.valueOf(cod));
|
|
49 |
name.add(indice,result.getString("COORD_REF_SYS_NAME"));
|
|
50 |
try {
|
51 |
51 |
Crs crs = new Crs(cod,1);
|
52 |
|
wkt.add(crs.getWKT());
|
53 |
|
Proj4 proj= new Proj4();
|
54 |
|
proj4.add(proj.exportToProj4(crs));
|
|
52 |
wkt.add(indice,crs.getWKT());
|
|
53 |
Proj4 proj= new Proj4();
|
|
54 |
proj4.add(indice,proj.exportToProj4(crs));
|
55 |
55 |
|
|
56 |
fallos.add(indice,"No falla");
|
|
57 |
|
56 |
58 |
} catch (CrsException e) {
|
57 |
59 |
// TODO Auto-generated catch block
|
58 |
|
e.printStackTrace();
|
|
60 |
//e.printStackTrace();
|
|
61 |
fallos.add(indice,""+cod+": "+e);
|
|
62 |
proj4.add(indice, "No cadena proj4");
|
|
63 |
fallo++;
|
59 |
64 |
} catch (NumberFormatException e) {
|
60 |
65 |
// TODO Auto-generated catch block
|
61 |
66 |
//e.printStackTrace();
|
62 |
|
fallos.add(""+cod+": "+e);
|
|
67 |
fallos.add(indice,""+cod+": "+e);
|
|
68 |
proj4.add(indice, "No cadena proj4");
|
|
69 |
fallo++;
|
63 |
70 |
} catch (ConversionException e) {
|
64 |
71 |
// TODO Auto-generated catch block
|
65 |
72 |
//e.printStackTrace();
|
66 |
|
fallos.add(""+cod+": "+e);
|
|
73 |
fallos.add(indice,""+cod+": "+e);
|
|
74 |
proj4.add(indice, "No cadena proj4");
|
|
75 |
fallo++;
|
67 |
76 |
}catch (UnformattableObjectException e) {
|
68 |
77 |
// TODO Auto-generated catch block
|
69 |
78 |
//e.printStackTrace();
|
70 |
|
fallos.add(""+cod+": "+e);
|
71 |
|
}
|
|
79 |
fallos.add(indice,""+cod+": "+e);
|
|
80 |
proj4.add(indice, "No cadena proj4");
|
|
81 |
fallo++;
|
|
82 |
}
|
|
83 |
indice++;
|
72 |
84 |
}
|
73 |
|
for (int i = 0; i< codigo.size(); i++) {
|
74 |
|
System.out.println("C?digo: "+codigo.get(i)+"\tNombre: "+name.get(i));
|
75 |
|
System.out.println("Cadena WKT: "+wkt.get(i));
|
76 |
|
System.out.println("Cadena Proj4: "+name.get(i));
|
|
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");
|
77 |
97 |
}
|
78 |
|
for (int i = 0; i< fallos.size(); i++) {
|
79 |
|
System.out.println(fallos.get(i));
|
80 |
|
|
81 |
|
}
|
|
98 |
/*for (int i = 0; i< fallos.size(); i++) {
|
|
99 |
}*/
|
82 |
100 |
|
83 |
|
System.out.println("Numero CRSs: " + codigo.size());
|
84 |
|
System.out.println("Numero fallos: " + fallos.size());
|
|
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
|
85 |
108 |
} catch (SQLException e1) {
|
86 |
109 |
// TODO Auto-generated catch block
|
87 |
110 |
e1.printStackTrace();
|