Strabon
changeset 982:f5ca44796e2f
used ogcgeoconstants when parsing strdf:distance
author | Stella Giannakopoulou <sgian@di.uoa.gr> |
---|---|
date | Fri Apr 05 15:33:40 2013 +0300 (2013-04-05) |
parents | 45539016f159 |
children | ec3e8a847277 |
files | postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java |
line diff
1.1 --- a/postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java Fri Apr 05 15:24:38 2013 +0300 1.2 +++ b/postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java Fri Apr 05 15:33:40 2013 +0300 1.3 @@ -119,6 +119,7 @@ 1.4 public static final String SRID_FIELD = "srid"; 1.5 public static final String ST_TRANSFORM = "ST_Transform"; 1.6 public static final String ST_ASBINARY = "ST_AsBinary"; 1.7 + public static final String GEOGRAPHY = "Geography"; 1.8 /** 1.9 * If (spatial) label column met is null, I must not try to retrieve its srid. 1.10 * Opting to ask for 'null' instead 1.11 @@ -1627,24 +1628,26 @@ 1.12 filter.openBracket(); 1.13 1.14 if (expr.getThirdArg() instanceof GeneralDBStringValue) 1.15 - { 1.16 - String unparsedUnits = ((GeneralDBStringValue)expr.getThirdArg()).getValue(); 1.17 - if(!OGCConstants.supportedUnitsOfMeasure.contains(unparsedUnits)) 1.18 + { 1.19 + 1.20 + units = ((GeneralDBStringValue)expr.getThirdArg()).getValue(); 1.21 + 1.22 + if(!OGCConstants.supportedUnitsOfMeasure.contains(units)) 1.23 { 1.24 throw new UnsupportedRdbmsOperatorException("No such unit of measure exists"); 1.25 } 1.26 - units = unparsedUnits.substring(unparsedUnits.lastIndexOf('/')+1); 1.27 - if(units.equals("metre") || units.equals("meter")) 1.28 + 1.29 + if(units.equals(OGCConstants.OGCmetre)) 1.30 { 1.31 //if(!unparsedUnits.equals(OGCConstants.OGCmetre)); 1.32 - filter.appendFunction("GEOGRAPHY"); 1.33 + filter.appendFunction(GEOGRAPHY); 1.34 filter.openBracket(); 1.35 - filter.appendFunction("ST_TRANSFORM"); 1.36 + filter.appendFunction(ST_TRANSFORM); 1.37 filter.openBracket(); 1.38 } 1.39 - else if(units.equals("degree")) 1.40 + else if(units.equals(OGCConstants.OGCdegree)) 1.41 { 1.42 - filter.appendFunction("ST_TRANSFORM"); 1.43 + filter.appendFunction(ST_TRANSFORM); 1.44 filter.openBracket(); 1.45 } 1.46 } 1.47 @@ -1671,7 +1674,7 @@ 1.48 appendMBB((GeneralDBLabelColumn)(expr.getLeftArg()),filter); 1.49 } 1.50 1.51 - if(units.equals("metre") || units.equals("meter")) 1.52 + if(units.equals(OGCConstants.OGCmetre)) 1.53 { 1.54 filter.appendComma(); 1.55 filter.append(String.valueOf(GeoConstants.defaultSRID)); 1.56 @@ -1680,12 +1683,12 @@ 1.57 1.58 filter.appendComma(); 1.59 1.60 - filter.appendFunction("GEOGRAPHY"); 1.61 + filter.appendFunction(GEOGRAPHY); 1.62 filter.openBracket(); 1.63 - filter.appendFunction("ST_TRANSFORM"); 1.64 + filter.appendFunction(ST_TRANSFORM); 1.65 filter.openBracket(); 1.66 } 1.67 - else if(units.equals("degree")) 1.68 + else if(units.equals(OGCConstants.OGCdegree)) 1.69 { 1.70 filter.appendComma(); 1.71 filter.append(String.valueOf(GeoConstants.defaultSRID)); 1.72 @@ -1693,7 +1696,7 @@ 1.73 1.74 filter.appendComma(); 1.75 1.76 - filter.appendFunction("ST_TRANSFORM"); 1.77 + filter.appendFunction(ST_TRANSFORM); 1.78 filter.openBracket(); 1.79 } 1.80 else 1.81 @@ -1745,14 +1748,14 @@ 1.82 appendMBB((GeneralDBLabelColumn)(expr.getRightArg()),filter); 1.83 } 1.84 1.85 - if(units.equals("metre") || units.equals("meter")) 1.86 + if(units.equals(OGCConstants.OGCmetre)) 1.87 { 1.88 filter.appendComma(); 1.89 filter.append(String.valueOf(GeoConstants.defaultSRID)); 1.90 filter.closeBracket(); 1.91 filter.closeBracket(); 1.92 } 1.93 - else if(units.equals("degree")) 1.94 + else if(units.equals(OGCConstants.OGCdegree)) 1.95 { 1.96 filter.appendComma(); 1.97 filter.append(String.valueOf(GeoConstants.defaultSRID));