root / org.gvsig.jcrs / libJCRS / src / org / gvsig / crs / repository / UsrRepository.java @ 38
History | View | Annotate | Download (1.59 KB)
1 |
package org.gvsig.crs.repository; |
---|---|
2 |
|
3 |
import java.sql.ResultSet; |
4 |
import java.sql.SQLException; |
5 |
|
6 |
import es.idr.teledeteccion.connection.EpsgConnection; |
7 |
import es.idr.teledeteccion.connection.Query; |
8 |
|
9 |
import org.slf4j.Logger; |
10 |
import org.slf4j.LoggerFactory; |
11 |
|
12 |
import org.gvsig.crs.Crs; |
13 |
import org.gvsig.crs.CrsException; |
14 |
import org.gvsig.crs.ICrs; |
15 |
|
16 |
public class UsrRepository implements ICrsRepository { |
17 |
private static final Logger LOG = |
18 |
LoggerFactory.getLogger(UsrRepository.class); |
19 |
|
20 |
EpsgConnection connection; |
21 |
|
22 |
public UsrRepository() {
|
23 |
super();
|
24 |
connection = new EpsgConnection();
|
25 |
} |
26 |
|
27 |
public ICrs getCrs(String code) { |
28 |
// TODO Auto-generated method stub
|
29 |
String cadWKT = ""; |
30 |
Crs crs = null;
|
31 |
|
32 |
String sentence = "SELECT usr_code, usr_wkt, usr_proj, usr_geog, usr_datum " + |
33 |
"FROM USR " +
|
34 |
"WHERE usr_code = " + code;
|
35 |
|
36 |
connection.setConnectionUsr(); |
37 |
ResultSet result = Query.select(sentence,connection.getConnection()); |
38 |
try {
|
39 |
connection.shutdown(); |
40 |
} catch (SQLException e) { |
41 |
LOG.error("Error executing the SQL", e);
|
42 |
} |
43 |
try {
|
44 |
if (!result.next())
|
45 |
return null; |
46 |
cadWKT = result.getString("usr_wkt");
|
47 |
} catch (SQLException e1) { |
48 |
e1.printStackTrace(); |
49 |
} |
50 |
cadWKT = cadWKT.substring(0, cadWKT.length()-1) + ", AUTHORITY[\"USR\","+ Integer.parseInt(code)+"]]"; |
51 |
|
52 |
try {
|
53 |
crs = new Crs(Integer.parseInt(code),cadWKT); |
54 |
} catch (CrsException e) {
|
55 |
LOG.error("Impossible to parse the CRS", e);
|
56 |
} |
57 |
|
58 |
return crs;
|
59 |
} |
60 |
|
61 |
} |