Statistics
| Revision:

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
}