Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.impl / src / main / java / org / gvsig / expressionevaluator / impl / function / spatial / STGeomFromTextFunction.java @ 44006

History | View | Annotate | Download (1.03 KB)

1 43512 jjdelcerro
package org.gvsig.expressionevaluator.impl.function.spatial;
2
3
import org.apache.commons.lang3.Range;
4 44006 jjdelcerro
import org.cresques.cts.IProjection;
5 43521 jjdelcerro
import org.gvsig.expressionevaluator.Interpreter;
6 43512 jjdelcerro
import org.gvsig.expressionevaluator.spi.AbstractFunction;
7 44006 jjdelcerro
import org.gvsig.fmap.crs.CRSFactory;
8 43518 jjdelcerro
import org.gvsig.fmap.geom.Geometry;
9
import org.gvsig.fmap.geom.GeometryLocator;
10
import org.gvsig.fmap.geom.GeometryManager;
11 43512 jjdelcerro
12 43518 jjdelcerro
public class STGeomFromTextFunction extends AbstractFunction {
13 43512 jjdelcerro
14 43518 jjdelcerro
    public STGeomFromTextFunction() {
15 44006 jjdelcerro
        super("OGC", "ST_GeomFromText", Range.between(1,2));
16 43512 jjdelcerro
    }
17
18
    @Override
19 43521 jjdelcerro
    public Object call(Interpreter interpreter, Object[] args) throws Exception {
20 43518 jjdelcerro
        GeometryManager geomManager = GeometryLocator.getGeometryManager();
21
        String wkt = getStr(args, 0);
22
        Geometry r = geomManager.createFrom(wkt);
23 44006 jjdelcerro
        if( args.length==2 ) {
24
            int code = getInt(args, 1);
25
            IProjection proj = CRSFactory.getCRS("EPSG:"+code);
26
            r.setProjection(proj);
27
        }
28 43512 jjdelcerro
        return r;
29
    }
30
31
}