Revision 44006 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
STGeomFromTextFunction.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
2 | 2 |
|
3 | 3 |
import org.apache.commons.lang3.Range; |
4 |
import org.cresques.cts.IProjection; |
|
4 | 5 |
import org.gvsig.expressionevaluator.Interpreter; |
5 | 6 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
7 |
import org.gvsig.fmap.crs.CRSFactory; |
|
6 | 8 |
import org.gvsig.fmap.geom.Geometry; |
7 | 9 |
import org.gvsig.fmap.geom.GeometryLocator; |
8 | 10 |
import org.gvsig.fmap.geom.GeometryManager; |
... | ... | |
10 | 12 |
public class STGeomFromTextFunction extends AbstractFunction { |
11 | 13 |
|
12 | 14 |
public STGeomFromTextFunction() { |
13 |
super("OGC", "ST_GeomFromText", Range.is(1));
|
|
15 |
super("OGC", "ST_GeomFromText", Range.between(1,2));
|
|
14 | 16 |
} |
15 | 17 |
|
16 | 18 |
@Override |
... | ... | |
18 | 20 |
GeometryManager geomManager = GeometryLocator.getGeometryManager(); |
19 | 21 |
String wkt = getStr(args, 0); |
20 | 22 |
Geometry r = geomManager.createFrom(wkt); |
23 |
if( args.length==2 ) { |
|
24 |
int code = getInt(args, 1); |
|
25 |
IProjection proj = CRSFactory.getCRS("EPSG:"+code); |
|
26 |
r.setProjection(proj); |
|
27 |
} |
|
21 | 28 |
return r; |
22 | 29 |
} |
23 | 30 |
|
Also available in: Unified diff