Package org.geotools.text.filter

Common Query Language (CQL) This package implements the OGC_Common Catalogue Query Language.

See:
          Description

Class Summary
FilterBuilder Deprecated. use the CQL utility class instead, this one is going to be set to package visibility
 

Exception Summary
FilterBuilderException Deprecated. use the CQLException class instead, this one is going to be set to package visibility
 

Package org.geotools.text.filter Description

Common Query Language (CQL)

This package implements the OGC_Common Catalogue Query Language. OGC CQL is the query language to be supported by all OGC Catalogue Interfaces in order to support search interoperability. Catalogue Service Implementation Specification (OGC 04-021r3):

CQL BNF with SQL Extensions

The original BNF was extended thinking in a SQL where expression. The original BNF is reproduced to indicate the extensions highlighted with bold characters.

Extensions in original BNF

    <between predicate> ::= 
                <attribute name> [ NOT ] BETWEEN <literal> AND < literal > 
        
    <routine invocation> ::= 
             <geoop name><georoutine argument list>
           | <relgeoop name><relgeoop argument list>
           | <routine name><argument list>
           | <BBOX> <bbox argument list>     
           
    <geoop name> ::= 
           EQUAL | DISJOINT | INTERSECT | TOUCH | CROSS | 
           WITHIN | CONTAINS |OVERLAP | RELATE [1]
      
    <bbox argument list>::= 
       "(" <attribute> ","<min X> ","<min Y> ","<max X> ","<max Y>["," <crs>] ")"
    <min X> ::= <signed numerical literal> 
    <min Y> ::= <signed numerical literal> 
    <max X> ::= <signed numerical literal> 
    <max Y> ::= <signed numerical literal>
    <crs> ::= [2]  
      
      
    [1] RELATE is not supported (implementation in GeoTools is required)
    [2] If not supplied, the BoundingBox CRS is EPSG:4326.

    

Implementation Notes

The parser was generated using javacc. In expr.jjt file you can see the input grammar for javacc required to parse CQL with extensions.

This implementation does not check CRS. The problem can be solved adding tokens (standards simbols in grammar) or checking in semantic actions consturction (FilterBuilder). The last solution requires to fix a bug retrieved the correspondent factory for crs (srs).



Copyright © 1996-2009 Geotools. All Rights Reserved.