Package org.geotools.filter.text.cql2

Common Query Language (CQL)

This package implements the OGC_Common Catalogue Query Language.

See:
          Description

Class Summary
CQL Utility class to parse CQL predicates and expressions to GeoAPI Filters and Expressions, respectively.
CQLCompiler CQL Compiler.
 

Exception Summary
CQLException This exception is produced when the cql input string has syntax errors.
 

Package org.geotools.filter.text.cql2 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

        
    <SequenceOfSearchConditions > ::= 
              <search condition> 
         |    <SequenceOfSearchConditions> ";" <search condition> 
     
    
    <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 CQLGrammar.jjt file you can see the input grammar for javacc required to parse CQL with extensions.



Copyright © 1996-2010 Geotools. All Rights Reserved.