Added String.format() to: SfWithinFunction DistanceFunction Added units to: BufferFunction
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/f621a84a Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/f621a84a Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/f621a84a Branch: refs/heads/MARMOTTA-584 Commit: f621a84a3cc70e68d9a59022e1002a071ab7cf22 Parents: 4cc6fd1 Author: cuent <cuent@mbp-de-xavier> Authored: Fri Aug 14 10:54:27 2015 -0500 Committer: cuent <cuent@mbp-de-xavier> Committed: Fri Aug 14 10:54:27 2015 -0500 ---------------------------------------------------------------------- .../kiwi/sparql/function/geosparql/BufferFunction.java | 8 +++++--- .../kiwi/sparql/function/geosparql/DistanceFunction.java | 4 ++-- .../kiwi/sparql/function/geosparql/SfWithinFunction.java | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/f621a84a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/BufferFunction.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/BufferFunction.java b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/BufferFunction.java index 609379b..23e46a2 100644 --- a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/BufferFunction.java +++ b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/BufferFunction.java @@ -33,7 +33,7 @@ import org.openrdf.query.algebra.evaluation.function.FunctionRegistry; * <p/> * The function can be called either as: * <ul> - * <li>geof:buffer(?geometryA, radius) </li> + * <li>geof:buffer(?geometryA, radius) </li> * </ul> * Its necesary enable postgis in your database with the next command "CREATE * EXTENSION postgis;" Note that for performance reasons it might be preferrable @@ -84,8 +84,10 @@ public class BufferFunction implements NativeFunction { @Override public String getNative(KiWiDialect dialect, String... args) { if (dialect instanceof PostgreSQLDialect) { - if (args.length == 2) { - return String.format("ST_AsText(st_Buffer(%s , %s )) ", args[0], args[1]); + if (args.length == 3) { + if (args[2].equalsIgnoreCase("'" + FN_GEOSPARQL.meter.toString() + "'")) { + return String.format("ST_AsText(ST_Buffer( ST_Transform( %s ,26986), %s))", args[0], args[1]); + } } } throw new UnsupportedOperationException("Buffer function not supported by dialect " + dialect); http://git-wip-us.apache.org/repos/asf/marmotta/blob/f621a84a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/DistanceFunction.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/DistanceFunction.java b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/DistanceFunction.java index 1d6ec42..a725710 100644 --- a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/DistanceFunction.java +++ b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/DistanceFunction.java @@ -33,7 +33,7 @@ import org.openrdf.query.algebra.evaluation.function.FunctionRegistry; * <p/> * The function can be called either as: * <ul> - * <li>geof:distance(?geometryA, ?geometryB, units:meter) </li> + * <li>geof:distance(?geometryA, ?geometryB, units:meter) </li> * </ul> * Its necesary enable postgis in your database with the next command "CREATE * EXTENSION postgis;" Note that for performance reasons it might be preferrable @@ -86,7 +86,7 @@ public class DistanceFunction implements NativeFunction { if (dialect instanceof PostgreSQLDialect) { if (args.length == 3) { if (args[2].equalsIgnoreCase("'" + FN_GEOSPARQL.meter.toString() + "'")) { - return "ST_Distance( ST_Transform( " + args[0] + " ,26986), ST_Transform( " + args[1] + " ,26986))"; + return String.format("ST_Distance( ST_Transform( %s ,26986), ST_Transform( %s ,26986))", args[0], args[1]); } } } http://git-wip-us.apache.org/repos/asf/marmotta/blob/f621a84a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java index f986570..abc0a12 100644 --- a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java +++ b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java @@ -33,7 +33,7 @@ import org.openrdf.query.algebra.evaluation.function.FunctionRegistry; * <p/> * The function can be called either as: * <ul> - * <li>geof:sfWithin(?geometryA, ?geometryB) </li> + * <li>geof:sfWithin(?geometryA, ?geometryB) </li> * </ul> * Its necesary enable postgis in your database with the next command "CREATE * EXTENSION postgis;" Note that for performance reasons it might be preferrable @@ -85,7 +85,7 @@ public class SfWithinFunction implements NativeFunction { public String getNative(KiWiDialect dialect, String... args) { if (dialect instanceof PostgreSQLDialect) { if (args.length == 2) { - return "st_Within(" + args[0] + "," + args[1] + ")"; + return String.format("st_Within(%s,%s)", args[0], args[1]); } } throw new UnsupportedOperationException("Within function not supported by dialect " + dialect);
