Revision 43518
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/SQLSymbolTable.java | ||
---|---|---|
50 | 50 |
import org.gvsig.expressionevaluator.impl.function.numeric.TanFunction; |
51 | 51 |
import org.gvsig.expressionevaluator.impl.function.numeric.TanhFunction; |
52 | 52 |
import org.gvsig.expressionevaluator.impl.function.numeric.ZeroFunction; |
53 |
import org.gvsig.expressionevaluator.impl.function.spatial.STAreaFunction; |
|
54 |
import org.gvsig.expressionevaluator.impl.function.spatial.STAsTextFunction; |
|
55 |
import org.gvsig.expressionevaluator.impl.function.spatial.STBufferFunction; |
|
56 |
import org.gvsig.expressionevaluator.impl.function.spatial.STCentroidFunction; |
|
57 |
import org.gvsig.expressionevaluator.impl.function.spatial.STContainsFunction; |
|
58 |
import org.gvsig.expressionevaluator.impl.function.spatial.STConvexHullFunction; |
|
59 |
import org.gvsig.expressionevaluator.impl.function.spatial.STCoveredByFunction; |
|
60 |
import org.gvsig.expressionevaluator.impl.function.spatial.STCoversFunction; |
|
61 |
import org.gvsig.expressionevaluator.impl.function.spatial.STCrossesFunction; |
|
62 |
import org.gvsig.expressionevaluator.impl.function.spatial.STDiferenceFunction; |
|
63 |
import org.gvsig.expressionevaluator.impl.function.spatial.STDimensionFunction; |
|
64 |
import org.gvsig.expressionevaluator.impl.function.spatial.STDisjointFunction; |
|
65 |
import org.gvsig.expressionevaluator.impl.function.spatial.STDistanceFunction; |
|
66 |
import org.gvsig.expressionevaluator.impl.function.spatial.STEndPointFunction; |
|
67 |
import org.gvsig.expressionevaluator.impl.function.spatial.STEnvelopeFunction; |
|
68 |
import org.gvsig.expressionevaluator.impl.function.spatial.STGeomFromTextFunction; |
|
69 |
import org.gvsig.expressionevaluator.impl.function.spatial.STGeometryNFunction; |
|
70 |
import org.gvsig.expressionevaluator.impl.function.spatial.STIntersectionFunction; |
|
71 |
import org.gvsig.expressionevaluator.impl.function.spatial.STIntersectsFunction; |
|
72 |
import org.gvsig.expressionevaluator.impl.function.spatial.STIsSimpleFunction; |
|
73 |
import org.gvsig.expressionevaluator.impl.function.spatial.STIsValidFunction; |
|
74 |
import org.gvsig.expressionevaluator.impl.function.spatial.STNumGeometriesFunction; |
|
75 |
import org.gvsig.expressionevaluator.impl.function.spatial.STNumPointsFunction; |
|
76 |
import org.gvsig.expressionevaluator.impl.function.spatial.STOverlapsFunction; |
|
77 |
import org.gvsig.expressionevaluator.impl.function.spatial.STPointNFunction; |
|
78 |
import org.gvsig.expressionevaluator.impl.function.spatial.STStartPointFunction; |
|
79 |
import org.gvsig.expressionevaluator.impl.function.spatial.STTouchesFunction; |
|
80 |
import org.gvsig.expressionevaluator.impl.function.spatial.STUnionFunction; |
|
81 |
import org.gvsig.expressionevaluator.impl.function.spatial.STWithinFunction; |
|
82 |
import org.gvsig.expressionevaluator.impl.function.spatial.STXFunction; |
|
83 |
import org.gvsig.expressionevaluator.impl.function.spatial.STYFunction; |
|
84 |
import org.gvsig.expressionevaluator.impl.function.spatial.STZFunction; |
|
53 | 85 |
import org.gvsig.expressionevaluator.impl.function.string.AsciiFunction; |
54 | 86 |
import org.gvsig.expressionevaluator.impl.function.string.CharFunction; |
55 | 87 |
import org.gvsig.expressionevaluator.impl.function.string.ConcatFunction; |
... | ... | |
158 | 190 |
addFunction(new SubstringFunction()); |
159 | 191 |
addFunction(new TrimFunction()); |
160 | 192 |
addFunction(new UpperFunction()); |
193 |
|
|
194 |
addFunction(new STAreaFunction()); |
|
195 |
addFunction(new STAsTextFunction()); |
|
196 |
addFunction(new STBufferFunction()); |
|
197 |
addFunction(new STCentroidFunction()); |
|
198 |
addFunction(new STContainsFunction()); |
|
199 |
addFunction(new STConvexHullFunction()); |
|
200 |
addFunction(new STCoveredByFunction()); |
|
201 |
addFunction(new STCoversFunction()); |
|
202 |
addFunction(new STCrossesFunction()); |
|
203 |
addFunction(new STDiferenceFunction()); |
|
204 |
addFunction(new STDimensionFunction()); |
|
205 |
addFunction(new STDisjointFunction()); |
|
206 |
addFunction(new STDistanceFunction()); |
|
207 |
addFunction(new STEndPointFunction()); |
|
208 |
addFunction(new STEnvelopeFunction()); |
|
209 |
addFunction(new STGeomFromTextFunction()); |
|
210 |
addFunction(new STGeometryNFunction()); |
|
211 |
addFunction(new STIntersectionFunction()); |
|
212 |
addFunction(new STIntersectsFunction()); |
|
213 |
addFunction(new STIsSimpleFunction()); |
|
214 |
addFunction(new STIsValidFunction()); |
|
215 |
addFunction(new STNumGeometriesFunction()); |
|
216 |
addFunction(new STNumPointsFunction()); |
|
217 |
addFunction(new STOverlapsFunction()); |
|
218 |
addFunction(new STPointNFunction()); |
|
219 |
addFunction(new STStartPointFunction()); |
|
220 |
addFunction(new STTouchesFunction()); |
|
221 |
addFunction(new STUnionFunction()); |
|
222 |
addFunction(new STWithinFunction()); |
|
223 |
addFunction(new STXFunction()); |
|
224 |
addFunction(new STYFunction()); |
|
225 |
addFunction(new STZFunction()); |
|
161 | 226 |
} |
162 | 227 |
|
163 | 228 |
private void addFunction(Function function) { |
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/operator/AbstractUnaryOperator.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expressionevaluator.impl.function.operator; |
2 | 2 |
|
3 |
import java.util.Date; |
|
4 | 3 |
import org.apache.commons.lang3.Range; |
5 | 4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
6 | 5 |
|
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/STIntersectionFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STIntersectionFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STIntersectionFunction() { |
|
10 |
super("OGC", "ST_Intersection", Range.is(2)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
Geometry r = getGeom(args, 0).intersection(getGeom(args, 1)); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STPointNFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.primitive.OrientablePrimitive; |
|
7 |
import org.gvsig.fmap.geom.primitive.Point; |
|
8 |
|
|
9 |
public class STPointNFunction extends AbstractFunction { |
|
10 |
|
|
11 |
public STPointNFunction() { |
|
12 |
super("OGC", "ST_PointN", Range.is(2)); |
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public Object call(Object[] args) throws Exception { |
|
17 |
Geometry geom = getGeom(args, 0); |
|
18 |
if ( geom instanceof OrientablePrimitive ) { |
|
19 |
Point n = ((OrientablePrimitive) geom).getVertex(getInt(args, 1)); |
|
20 |
return n; |
|
21 |
} |
|
22 |
return null; |
|
23 |
} |
|
24 |
|
|
25 |
} |
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/STStartPointFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.primitive.OrientablePrimitive; |
|
7 |
import org.gvsig.fmap.geom.primitive.Point; |
|
8 |
|
|
9 |
public class STStartPointFunction extends AbstractFunction { |
|
10 |
|
|
11 |
public STStartPointFunction() { |
|
12 |
super("OGC", "ST_StartPoint", Range.is(1)); |
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public Object call(Object[] args) throws Exception { |
|
17 |
Geometry geom = getGeom(args, 0); |
|
18 |
if ( geom instanceof OrientablePrimitive ) { |
|
19 |
Point n = ((OrientablePrimitive) geom).getVertex(0); |
|
20 |
return n; |
|
21 |
} |
|
22 |
return null; |
|
23 |
} |
|
24 |
|
|
25 |
} |
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/STYFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
|
|
6 |
public class STYFunction extends AbstractFunction { |
|
7 |
|
|
8 |
public STYFunction() { |
|
9 |
super("OGC", "ST_Y", Range.is(1)); |
|
10 |
} |
|
11 |
|
|
12 |
@Override |
|
13 |
public Object call(Object[] args) throws Exception { |
|
14 |
double r = getPoint(args, 0).getY(); |
|
15 |
return r; |
|
16 |
} |
|
17 |
|
|
18 |
} |
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/STBufferFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STBufferFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STBufferFunction() { |
|
10 |
super("OGC", "ST_Buffer", Range.is(2)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
Geometry r = getGeom(args, 0).buffer(getDouble(args, 1)); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STGeometryNFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.aggregate.Aggregate; |
|
7 |
import org.gvsig.fmap.geom.primitive.Primitive; |
|
8 |
|
|
9 |
public class STGeometryNFunction extends AbstractFunction { |
|
10 |
|
|
11 |
public STGeometryNFunction() { |
|
12 |
super("OGC", "ST_GeometryN", Range.is(2)); |
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public Object call(Object[] args) throws Exception { |
|
17 |
Geometry geom = getGeom(args, 0); |
|
18 |
if( geom instanceof Aggregate ) { |
|
19 |
Primitive r = ((Aggregate) geom).getPrimitiveAt(getInt(args, 1)); |
|
20 |
return r; |
|
21 |
} |
|
22 |
return null; |
|
23 |
} |
|
24 |
|
|
25 |
} |
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 | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.GeometryLocator; |
|
7 |
import org.gvsig.fmap.geom.GeometryManager; |
|
8 |
|
|
9 |
public class STGeomFromTextFunction extends AbstractFunction { |
|
10 |
|
|
11 |
public STGeomFromTextFunction() { |
|
12 |
super("OGC", "ST_GeomFromText", Range.is(1)); |
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public Object call(Object[] args) throws Exception { |
|
17 |
GeometryManager geomManager = GeometryLocator.getGeometryManager(); |
|
18 |
String wkt = getStr(args, 0); |
|
19 |
Geometry r = geomManager.createFrom(wkt); |
|
20 |
return r; |
|
21 |
} |
|
22 |
|
|
23 |
} |
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/STEndPointFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.primitive.OrientablePrimitive; |
|
7 |
import org.gvsig.fmap.geom.primitive.Point; |
|
8 |
|
|
9 |
public class STEndPointFunction extends AbstractFunction { |
|
10 |
|
|
11 |
public STEndPointFunction() { |
|
12 |
super("OGC", "ST_EndPoint", Range.is(1)); |
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public Object call(Object[] args) throws Exception { |
|
17 |
Geometry geom = getGeom(args, 0); |
|
18 |
if ( geom instanceof OrientablePrimitive ) { |
|
19 |
int n = ((OrientablePrimitive) geom).getNumVertices(); |
|
20 |
Point p = ((OrientablePrimitive) geom).getVertex(n-1); |
|
21 |
return p; |
|
22 |
} |
|
23 |
return null; |
|
24 |
} |
|
25 |
|
|
26 |
} |
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/STIsSimpleFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STIsSimpleFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STIsSimpleFunction() { |
|
10 |
super("OGC", "ST_IsSimple", Range.is(1)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
boolean r = getGeom(args, 0).isSimple(); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STConvexHullFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STConvexHullFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STConvexHullFunction() { |
|
10 |
super("OGC", "ST_ConvexHull", Range.is(1)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
Geometry r = getGeom(args, 0).convexHull(); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STUnionFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STUnionFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STUnionFunction() { |
|
10 |
super("OGC", "ST_Union", Range.is(2)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
Geometry r = getGeom(args, 0).union(getGeom(args, 1)); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STIsValidFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STIsValidFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STIsValidFunction() { |
|
10 |
super("OGC", "ST_IsValid", Range.is(1)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
boolean r = getGeom(args, 0).isValid(); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STNumPointsFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.primitive.OrientablePrimitive; |
|
7 |
|
|
8 |
public class STNumPointsFunction extends AbstractFunction { |
|
9 |
|
|
10 |
public STNumPointsFunction() { |
|
11 |
super("OGC", "ST_NumPoints", Range.is(1)); |
|
12 |
} |
|
13 |
|
|
14 |
@Override |
|
15 |
public Object call(Object[] args) throws Exception { |
|
16 |
Geometry geom = getGeom(args, 0); |
|
17 |
if ( geom instanceof OrientablePrimitive ) { |
|
18 |
int n = ((OrientablePrimitive) geom).getNumVertices(); |
|
19 |
return n; |
|
20 |
} |
|
21 |
return null; |
|
22 |
} |
|
23 |
|
|
24 |
} |
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/STXFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
|
|
6 |
public class STXFunction extends AbstractFunction { |
|
7 |
|
|
8 |
public STXFunction() { |
|
9 |
super("OGC", "ST_X", Range.is(1)); |
|
10 |
} |
|
11 |
|
|
12 |
@Override |
|
13 |
public Object call(Object[] args) throws Exception { |
|
14 |
double r = getPoint(args, 0).getX(); |
|
15 |
return r; |
|
16 |
} |
|
17 |
|
|
18 |
} |
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/STAsTextFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
|
|
6 |
public class STAsTextFunction extends AbstractFunction { |
|
7 |
|
|
8 |
public STAsTextFunction() { |
|
9 |
super("OGC", "ST_AsText", Range.is(1)); |
|
10 |
} |
|
11 |
|
|
12 |
@Override |
|
13 |
public Object call(Object[] args) throws Exception { |
|
14 |
String r = getGeom(args, 0).convertToWKT(); |
|
15 |
return r; |
|
16 |
} |
|
17 |
|
|
18 |
} |
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/STZFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STZFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STZFunction() { |
|
10 |
super("OGC", "ST_Z", Range.is(1)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
double r = getPoint(args, 0).getCoordinateAt(Geometry.DIMENSIONS.Z); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STEnvelopeFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.primitive.Envelope; |
|
7 |
|
|
8 |
public class STEnvelopeFunction extends AbstractFunction { |
|
9 |
|
|
10 |
public STEnvelopeFunction() { |
|
11 |
super("OGC", "ST_Envelope", Range.is(1)); |
|
12 |
} |
|
13 |
|
|
14 |
@Override |
|
15 |
public Object call(Object[] args) throws Exception { |
|
16 |
Envelope r = getGeom(args, 0).getEnvelope(); |
|
17 |
return r; |
|
18 |
} |
|
19 |
|
|
20 |
} |
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/STNumGeometriesFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.aggregate.Aggregate; |
|
7 |
|
|
8 |
public class STNumGeometriesFunction extends AbstractFunction { |
|
9 |
|
|
10 |
public STNumGeometriesFunction() { |
|
11 |
super("OGC", "ST_NumGeometries", Range.is(1)); |
|
12 |
} |
|
13 |
|
|
14 |
@Override |
|
15 |
public Object call(Object[] args) throws Exception { |
|
16 |
Geometry geom = getGeom(args, 0); |
|
17 |
if( geom instanceof Aggregate ) { |
|
18 |
int r = ((Aggregate) geom).getPrimitivesNumber(); |
|
19 |
return r; |
|
20 |
} |
|
21 |
return null; |
|
22 |
} |
|
23 |
|
|
24 |
} |
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/STDiferenceFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
|
|
7 |
public class STDiferenceFunction extends AbstractFunction { |
|
8 |
|
|
9 |
public STDiferenceFunction() { |
|
10 |
super("OGC", "ST_Diference", Range.is(2)); |
|
11 |
} |
|
12 |
|
|
13 |
@Override |
|
14 |
public Object call(Object[] args) throws Exception { |
|
15 |
Geometry r = getGeom(args, 0).difference(getGeom(args, 1)); |
|
16 |
return r; |
|
17 |
} |
|
18 |
|
|
19 |
} |
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/STDimensionFunction.java | ||
---|---|---|
1 |
package org.gvsig.expressionevaluator.impl.function.spatial; |
|
2 |
|
|
3 |
import org.apache.commons.lang3.Range; |
|
4 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
|
5 |
import org.gvsig.fmap.geom.Geometry; |
|
6 |
import org.gvsig.fmap.geom.type.GeometryType; |
|
7 |
|
|
8 |
public class STDimensionFunction extends AbstractFunction { |
|
9 |
|
|
10 |
public STDimensionFunction() { |
|
11 |
super("OGC", "ST_Dimension", Range.is(1)); |
|
12 |
} |
|
13 |
|
|
14 |
@Override |
|
15 |
public Object call(Object[] args) throws Exception { |
|
16 |
Geometry geom = getGeom(args, 0); |
|
17 |
GeometryType type = geom.getGeometryType(); |
|
18 |
if( type.isSubTypeOf(Geometry.TYPES.POINT) |
|
19 |
|| type.isSubTypeOf(Geometry.TYPES.MULTIPOINT) ) { |
|
20 |
return 0; |
|
21 |
} |
|
22 |
if( type.isSubTypeOf(Geometry.TYPES.CURVE) |
|
23 |
|| type.isSubTypeOf(Geometry.TYPES.MULTICURVE) ) { |
|
24 |
return 1; |
|
25 |
} |
|
26 |
if( type.isSubTypeOf(Geometry.TYPES.SURFACE) |
|
27 |
|| type.isSubTypeOf(Geometry.TYPES.MULTISURFACE) ) { |
|
28 |
return 2; |
|
29 |
} |
|
30 |
if( type.isSubTypeOf(Geometry.TYPES.SOLID) ) { |
|
31 |
return 3; |
|
32 |
} |
|
33 |
return -1; |
|
34 |
} |
|
35 |
|
|
36 |
} |
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/numeric/TanhFunction.java | ||
---|---|---|
6 | 6 |
public class TanhFunction extends AbstractFunction { |
7 | 7 |
|
8 | 8 |
public TanhFunction() { |
9 |
super("Numeric", "TANH", Range.is(0));
|
|
9 |
super("Numeric", "TANH", Range.is(1));
|
|
10 | 10 |
} |
11 | 11 |
|
12 | 12 |
@Override |
Also available in: Unified diff