Revision 44364
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestExpressionBuilder.java | ||
---|---|---|
11 | 11 |
import org.gvsig.fmap.geom.GeometryLocator; |
12 | 12 |
import org.gvsig.fmap.geom.GeometryManager; |
13 | 13 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
14 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
|
14 | 15 |
import org.gvsig.fmap.geom.primitive.Point; |
15 | 16 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
16 | 17 |
|
... | ... | |
381 | 382 |
ArrayUtils.toString(builder.parameters_names()) |
382 | 383 |
); |
383 | 384 |
} |
385 |
|
|
386 |
public void test6() throws Exception { |
|
387 |
ExpressionBuilder builder = new DefaultExpressionBuilder(); |
|
388 |
|
|
389 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
|
390 |
IProjection proj = CRSFactory.getCRS("EPSG:4326"); |
|
391 |
|
|
392 |
Point point = geometryManager.createPoint(-0.1779813, 51.6122315, Geometry.SUBTYPES.GEOM2D); |
|
393 |
Geometry point_buffer = point.buffer(0.001); |
|
394 |
|
|
395 |
builder.or( |
|
396 |
builder.ST_Intersects( |
|
397 |
builder.function("ST_StartPoint", builder.column("geometry")), |
|
398 |
builder.geometry(point_buffer, proj) |
|
399 |
), |
|
400 |
builder.ST_Intersects( |
|
401 |
builder.function("ST_EndPoint", builder.column("geometry")), |
|
402 |
builder.geometry(point_buffer, proj) |
|
403 |
) |
|
404 |
); |
|
405 |
|
|
406 |
System.out.println(builder.toString()); |
|
407 |
assertEquals( |
|
408 |
"ST_Intersects((ST_StartPoint(\"geometry\")), (ST_GeomFromWKB((DECODE('00000000030000000100000021bfc6a752bfc074d04049ce5d9a0f0a5fbfc6a7f3ef0c44504049ce573585c39cbfc6a9d14b36039c4049ce510fe0a08dbfc6acd87c00e8e74049ce4b65990cbfbfc6b0ebb72658ed4049ce466e6aca60bfc6b5e2e568b7fa4049ce425b2fa4f0bfc6bb8d2cfc85e24049ce3f53feda0abfc6c1b2d21f95294049ce3d76a2b04bbfc6c8175b6658244049ce3cd573647cbfc6ce7be4ad1b1f4049ce3d76a2b04bbfc6d4a189d02a664049ce3f53feda0abfc6da4bd163f84e4049ce425b2fa4f0bfc6df42ffa6575b4049ce466e6aca60bfc6e3563acbc7614049ce4b65990cbfbfc6e65d6b96acac4049ce510fe0a08dbfc6e83ac7c06bf84049ce573585c39cbfc6e8dbf70c3b784049ce5d9a0f0a5fbfc6e83ac7c06bf84049ce63fe985122bfc6e65d6b96acac4049ce6a243d7431bfc6e3563acbc7614049ce6fce8507ffbfc6df42ffa6575b4049ce74c5b34a5ebfc6da4bd163f84e4049ce78d8ee6fcebfc6d4a189d02a664049ce7be01f3ab4bfc6ce7be4ad1b1f4049ce7dbd7b6473bfc6c8175b6658244049ce7e5eaab042bfc6c1b2d21f95294049ce7dbd7b6473bfc6bb8d2cfc85e24049ce7be01f3ab4bfc6b5e2e568b7fa4049ce78d8ee6fcebfc6b0ebb72658ed4049ce74c5b34a5ebfc6acd87c00e8e74049ce6fce8507ffbfc6a9d14b36039b4049ce6a243d7431bfc6a7f3ef0c44504049ce63fe985122bfc6a752bfc074d04049ce5d9a0f0a5f','hex')), (4326)))) OR ST_Intersects((ST_EndPoint(\"geometry\")), (ST_GeomFromWKB((DECODE('00000000030000000100000021bfc6a752bfc074d04049ce5d9a0f0a5fbfc6a7f3ef0c44504049ce573585c39cbfc6a9d14b36039c4049ce510fe0a08dbfc6acd87c00e8e74049ce4b65990cbfbfc6b0ebb72658ed4049ce466e6aca60bfc6b5e2e568b7fa4049ce425b2fa4f0bfc6bb8d2cfc85e24049ce3f53feda0abfc6c1b2d21f95294049ce3d76a2b04bbfc6c8175b6658244049ce3cd573647cbfc6ce7be4ad1b1f4049ce3d76a2b04bbfc6d4a189d02a664049ce3f53feda0abfc6da4bd163f84e4049ce425b2fa4f0bfc6df42ffa6575b4049ce466e6aca60bfc6e3563acbc7614049ce4b65990cbfbfc6e65d6b96acac4049ce510fe0a08dbfc6e83ac7c06bf84049ce573585c39cbfc6e8dbf70c3b784049ce5d9a0f0a5fbfc6e83ac7c06bf84049ce63fe985122bfc6e65d6b96acac4049ce6a243d7431bfc6e3563acbc7614049ce6fce8507ffbfc6df42ffa6575b4049ce74c5b34a5ebfc6da4bd163f84e4049ce78d8ee6fcebfc6d4a189d02a664049ce7be01f3ab4bfc6ce7be4ad1b1f4049ce7dbd7b6473bfc6c8175b6658244049ce7e5eaab042bfc6c1b2d21f95294049ce7dbd7b6473bfc6bb8d2cfc85e24049ce7be01f3ab4bfc6b5e2e568b7fa4049ce78d8ee6fcebfc6b0ebb72658ed4049ce74c5b34a5ebfc6acd87c00e8e74049ce6fce8507ffbfc6a9d14b36039b4049ce6a243d7431bfc6a7f3ef0c44504049ce63fe985122bfc6a752bfc074d04049ce5d9a0f0a5f','hex')), (4326))))", |
|
409 |
builder.toString() |
|
410 |
); |
|
411 |
assertEquals( |
|
412 |
"[geometry]", |
|
413 |
ArrayUtils.toString(builder.variables_names()) |
|
414 |
); |
|
415 |
assertEquals( |
|
416 |
"[]", |
|
417 |
ArrayUtils.toString(builder.parameters_names()) |
|
418 |
); |
|
419 |
} |
|
384 | 420 |
} |
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/DefaultExpressionBuilder.java | ||
---|---|---|
1183 | 1183 |
} |
1184 | 1184 |
|
1185 | 1185 |
@Override |
1186 |
public Function ST_Area(Value geom) { |
|
1187 |
return function("ST_Area", geom); |
|
1188 |
} |
|
1189 |
|
|
1190 |
@Override |
|
1191 |
public Function ST_Buffer(Value geom) { |
|
1192 |
return function("ST_Buffer", geom); |
|
1193 |
} |
|
1194 |
|
|
1195 |
@Override |
|
1196 |
public Function ST_Centroid(Value geom) { |
|
1197 |
return function("ST_Centroid", geom); |
|
1198 |
} |
|
1199 |
|
|
1200 |
@Override |
|
1201 |
public Function ST_CoveredBy(Value geom1, Value geom2) { |
|
1202 |
return function("ST_CoveredBy", geom1, geom2); |
|
1203 |
} |
|
1204 |
|
|
1205 |
@Override |
|
1206 |
public Function ST_Covers(Value geom1, Value geom2) { |
|
1207 |
return function("ST_Covers", geom1, geom2); |
|
1208 |
} |
|
1209 |
|
|
1210 |
@Override |
|
1211 |
public Function ST_Diference(Value geom1, Value geom2) { |
|
1212 |
return function("ST_Diference", geom1, geom2); |
|
1213 |
} |
|
1214 |
|
|
1215 |
@Override |
|
1216 |
public Function ST_Dimension(Value geom) { |
|
1217 |
return function("ST_Dimension", geom); |
|
1218 |
} |
|
1219 |
|
|
1220 |
@Override |
|
1221 |
public Function ST_Distance(Value geom1, Value geom2) { |
|
1222 |
return function("ST_Distance", geom1, geom2); |
|
1223 |
} |
|
1224 |
|
|
1225 |
@Override |
|
1226 |
public Function ST_EndPoint(Value geom) { |
|
1227 |
return function("ST_EndPoint", geom); |
|
1228 |
} |
|
1229 |
|
|
1230 |
@Override |
|
1231 |
public Function ST_Intersection(Value geom1, Value geom2) { |
|
1232 |
return function("ST_Intersection", geom1, geom2); |
|
1233 |
} |
|
1234 |
|
|
1235 |
@Override |
|
1236 |
public Function ST_IsSimple(Value geom) { |
|
1237 |
return function("ST_IsSimple", geom); |
|
1238 |
} |
|
1239 |
|
|
1240 |
@Override |
|
1241 |
public Function ST_IsValid(Value geom) { |
|
1242 |
return function("ST_IsValid", geom); |
|
1243 |
} |
|
1244 |
|
|
1245 |
@Override |
|
1246 |
public Function ST_NumGeometries(Value geom) { |
|
1247 |
return function("ST_NumGeometries", geom); |
|
1248 |
} |
|
1249 |
|
|
1250 |
@Override |
|
1251 |
public Function ST_NumPoints(Value geom) { |
|
1252 |
return function("ST_NumPoints", geom); |
|
1253 |
} |
|
1254 |
|
|
1255 |
@Override |
|
1256 |
public Function ST_Perimeter(Value geom) { |
|
1257 |
return function("ST_Perimeter", geom); |
|
1258 |
} |
|
1259 |
|
|
1260 |
@Override |
|
1261 |
public Function ST_PointN(Value geom, Value n) { |
|
1262 |
return function("ST_PointN", geom, n); |
|
1263 |
} |
|
1264 |
|
|
1265 |
@Override |
|
1266 |
public Function ST_StartPoint(Value geom) { |
|
1267 |
return function("ST_StartPoint", geom); |
|
1268 |
} |
|
1269 |
|
|
1270 |
@Override |
|
1271 |
public Function ST_Union(Value geom1, Value geom2) { |
|
1272 |
return function("ST_Union", geom1, geom2); |
|
1273 |
} |
|
1274 |
|
|
1275 |
@Override |
|
1276 |
public Function ST_X(Value geom) { |
|
1277 |
return function("ST_X", geom); |
|
1278 |
} |
|
1279 |
|
|
1280 |
@Override |
|
1281 |
public Function ST_Y(Value geom) { |
|
1282 |
return function("ST_Y", geom); |
|
1283 |
} |
|
1284 |
|
|
1285 |
@Override |
|
1286 |
public Function ST_Z(Value geom) { |
|
1287 |
return function("ST_Z", geom); |
|
1288 |
} |
|
1289 |
|
|
1290 |
@Override |
|
1186 | 1291 |
public Function is_null(Value value) { |
1187 | 1292 |
return builtin_function("IS NULL", FORMAT_ISNULL, value); |
1188 | 1293 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/ExpressionBuilder.java | ||
---|---|---|
348 | 348 |
|
349 | 349 |
public Function is_null(Value value); |
350 | 350 |
|
351 |
public Function ST_SRID(Value geom); |
|
352 | 351 |
|
353 |
public Function ST_AsText(Value geom);
|
|
352 |
public Function ST_Area(Value geom);
|
|
354 | 353 |
|
355 | 354 |
public Function ST_AsBinary(Value geom); |
356 | 355 |
|
357 | 356 |
public Function ST_AsEWKB(Value geom); |
358 | 357 |
|
358 |
public Function ST_AsText(Value geom); |
|
359 |
|
|
360 |
public Function ST_Buffer(Value geom); |
|
361 |
|
|
362 |
public Function ST_Centroid(Value geom); |
|
363 |
|
|
364 |
public Function ST_Contains(Value geom1, Value geom2); |
|
365 |
|
|
366 |
public Function ST_CoveredBy(Value geom1, Value geom2); |
|
367 |
|
|
368 |
public Function ST_Covers(Value geom1, Value geom2); |
|
369 |
|
|
370 |
public Function ST_Crosses(Value geom1, Value geom2); |
|
371 |
|
|
372 |
public Function ST_Diference(Value geom1, Value geom2); |
|
373 |
|
|
374 |
public Function ST_Dimension(Value geom1); |
|
375 |
|
|
376 |
public Function ST_Disjoint(Value geom1, Value geom2); |
|
377 |
|
|
378 |
public Function ST_Distance(Value geom1, Value geom2); |
|
379 |
|
|
380 |
public Function ST_EndPoint(Value geom1); |
|
381 |
|
|
359 | 382 |
public Function ST_Envelope(Value geom); |
360 | 383 |
|
384 |
public Function ST_Equals(Value geom1, Value geom2); |
|
385 |
|
|
361 | 386 |
public Function ST_GeomFromText(Value geom, Value crs); |
362 | 387 |
|
363 | 388 |
public Function ST_GeomFromWKB(Value geom, Value crs); |
364 | 389 |
|
365 | 390 |
public Function ST_GeomFromEWKB(Value geom, Value crs); |
366 | 391 |
|
367 |
public Function ST_Simplify(Value geom, Value tolerance);
|
|
392 |
public Function ST_Intersection(Value geom1, Value geom2);
|
|
368 | 393 |
|
369 |
public Function ST_Equals(Value geom1, Value geom2); |
|
370 |
|
|
371 | 394 |
public Function ST_Intersects(Value geom1, Value geom2); |
372 | 395 |
|
373 |
public Function ST_Contains(Value geom1, Value geom2);
|
|
396 |
public Function ST_IsClosed(Value geom);
|
|
374 | 397 |
|
375 |
public Function ST_Disjoint(Value geom1, Value geom2);
|
|
398 |
public Function ST_IsSimple(Value geom);
|
|
376 | 399 |
|
377 |
public Function ST_Crosses(Value geom1, Value geom2);
|
|
400 |
public Function ST_IsValid(Value geom);
|
|
378 | 401 |
|
379 |
public Function ST_IsClosed(Value geom1); |
|
402 |
public Function ST_NumGeometries(Value geom); |
|
403 |
|
|
404 |
public Function ST_NumPoints(Value geom); |
|
380 | 405 |
|
381 | 406 |
public Function ST_Overlaps(Value geom1, Value geom2); |
382 | 407 |
|
408 |
public Function ST_Perimeter(Value geom); |
|
409 |
|
|
410 |
public Function ST_Point(Value x, Value y); |
|
411 |
|
|
412 |
public Function ST_PointN(Value geom, Value n); |
|
413 |
|
|
414 |
public Function ST_SRID(Value geom); |
|
415 |
|
|
416 |
public Function ST_SetSRID(Value geom, Value srid); |
|
417 |
|
|
418 |
public Function ST_StartPoint(Value geom); |
|
419 |
|
|
420 |
public Function ST_Simplify(Value geom, Value tolerance); |
|
421 |
|
|
383 | 422 |
public Function ST_Touches(Value geom1, Value geom2); |
384 | 423 |
|
424 |
public Function ST_Union(Value geom1, Value geom2); |
|
425 |
|
|
385 | 426 |
public Function ST_Within(Value geom1, Value geom2); |
386 | 427 |
|
387 |
public Function ST_Point(Value x, Value y);
|
|
428 |
public Function ST_X(Value geom);
|
|
388 | 429 |
|
389 |
public Function ST_SetSRID(Value geom, Value srid);
|
|
430 |
public Function ST_Y(Value geom);
|
|
390 | 431 |
|
432 |
public Function ST_Z(Value geom); |
|
433 |
|
|
434 |
|
|
391 | 435 |
public Function ST_UnionAggregate(Value geom); |
392 | 436 |
|
393 | 437 |
public Function ST_ExtentAggregate(Value geom); |
438 |
|
|
439 |
|
|
394 | 440 |
|
395 | 441 |
public BinaryOperator and(Value op1, Value op2); |
396 | 442 |
|
Also available in: Unified diff