Revision 436 org.gvsig.projection.jcrs/trunk/org.gvsig.projection.jcrs/org.gvsig.projection.jcrs.lib/src/main/java/org/gvsig/crs/CrsFactory.java

View differences:

CrsFactory.java
20 20

  
21 21
import java.io.File;
22 22
import java.util.TreeMap;
23
import java.util.Vector;
23 24

  
24 25
import org.cresques.cts.ICRSFactory;
25 26
import org.cresques.cts.IProjection;
27
import org.gdal.osr.SpatialReference;
28

  
26 29
import org.gvsig.crs.repository.EpsgRepository;
27 30
import org.gvsig.crs.repository.EpsgRepositoryGT;
28 31
import org.gvsig.crs.repository.EsriRepository;
......
35 38
import org.gvsig.crs.repository.UsrRepository;
36 39
import org.gvsig.crs.repository.UsrRepositoryGT;
37 40
import org.gvsig.tools.dispose.Disposable;
41

  
38 42
import org.slf4j.Logger;
39 43
import org.slf4j.LoggerFactory;
40 44

  
......
43 47
 * la cadena WKT
44 48
 *
45 49
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
50
 * @param <E>
46 51
 *
47 52
 */
48
public class CrsFactory implements ICRSFactory {
53
public class CrsFactory<E> implements ICRSFactory {
49 54

  
50 55
    private static Logger logger = LoggerFactory.getLogger(CrsFactory.class);
51 56
    static TreeMap data = new TreeMap();
......
270 275
            epsgDatabaseFile = new File(getDataBaseFolder(), epsgDatabaseFile.getPath());
271 276
        }
272 277
    }
278

  
279
    public IProjection get(String format, String value) {
280
        if(ICRSFactory.FORMAT_WKT_ESRI.equalsIgnoreCase(format)){
281
        SpatialReference sr = new SpatialReference();
282
        Vector<String> vector = new Vector<String>();
283
        vector.add(value);
284
        sr.ImportFromESRI(vector);
285
        sr.MorphFromESRI();
286
//        try {
287
//            String authorityCode = sr.GetAuthorityCode(null);
288
//            String authorityName = sr.GetAuthorityName(null);
289
//
290
//            int code = 0;
291
//            if( "EPSG".equalsIgnoreCase(authorityName) ){
292
//                code = 1;
293
//            } else if( "ESRI".equalsIgnoreCase(authorityName) ){
294
//                code = 2;
295
//
296
//            } else if( "IAU2000".equalsIgnoreCase(authorityName) ){
297
//                code = 3;
298
//
299
//            } else if( "USR".equalsIgnoreCase(authorityName) ){
300
//                code = 4;
301
//
302
//            } else {
303
//                logger.warn("Can't get CRS format '" + format + "' and value '"+value+"', unknow authorityName '"+authorityName+"'.");
304
//            }
305
//            return new Crs(Integer.parseInt(authorityCode), code);
306
            return new Crs(sr);
307
//        } catch (CrsException e) {
308
//            logger.warn("Can't get CRS format '" + format + "' and value '"+value+"'.", e);
309
//        }
310
//        return null;
311
        } else if (ICRSFactory.FORMAT_WKT.equalsIgnoreCase(format)) {
312

  
313
            return null;
314

  
315
        } else if (ICRSFactory.FORMAT_PROJ4.equalsIgnoreCase(format)) {
316

  
317
            return null;
318

  
319
        }
320
        return null;
321
    }
322

  
323
    /* (non-Javadoc)
324
     * @see org.cresques.cts.ICRSFactory#export(java.lang.String, org.cresques.cts.IProjection)
325
     */
326
    public String export(String format, IProjection proj) {
327
        // TODO Auto-generated method stub
328
        return null;
329
    }
273 330
}

Also available in: Unified diff