[SoC] GSoC 2020 - Develop CQL Filter implementation for pygeoapi - Coding Period Week 7 Report

Farheen Bano farheenbano94 at gmail.com
Sun Jul 19 10:09:22 PDT 2020


Hi Everyone,

This is my report for the period (July 13 - July 19). The updated report
can also be found at the project wiki page
https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi.
The forked repo of the project can be found here
https://github.com/FarheenB/pygeoapi

*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
   Approach.
   - 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
   dataset('pygeoapi-test.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


Regards,
Farheen Bano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20200719/90052134/attachment.html>


More information about the SoC mailing list