[SoC] GSoC 2020 - Develop CQL Filter implementation for pygeoapi - Coding Period Week 7 Report
farheenbano94 at gmail.com
Sun Jul 19 10:09:22 PDT 2020
This is my report for the period (July 13 - July 19). The updated report
can also be found at the project wiki page
The forked repo of the project can be found here
*What I have done during this period?*
- Designed a filter class for generating AST of the CQL filter
expression using pycql lexer and parser.
- Created evaluate.py file for evaluating AST using Recursive Descent
- Created filter.py file for defining all the filter evaluating
functions to get filtered features.
- Defined a function for evaluating *AttributeExpression* of AST.
- Defined a function for evaluating *LiteralExpression* of AST.
- Defined a function for evaluating *CombinationConditionNode* of AST
for logical operators like "AND" and "OR".
- Defined a function for evaluating *ComparisonPredicateNode* of AST for
conditional operators like "<", ">", "=", "<=", ">=" and "<>".
- Successfully performed the desired CQL operation on CSV Provider
Dataset and retrieved filtered feature dataset.
- Other query operations like start index, last index, page limit etc.
are performed with the CQL query operations.
- Added unit test cases for combination and comparison operations.
- Successfully performed tests for Simple CQL filter expressions on CSV
*What am I going to achieve for next week?*
- Define functions for evaluating NotConditionNode,
BetweenPredicateNode, LikePredicateNode, ArithmeticExpressionNode,
InPredicateNode, NullPredicateNode, TemporalPredicateNode,
SpatialPredicateNode, and BBoxPredicateNode of AST.
- Perform the evaluation of CQL Filter expressions for other data
providers of pygeoapi.
- Restructure filter class and make the implementation generic for all
the data providers of pygeoapi.
*Are there any blockers?*
- No blockers for now
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SoC