[SoC] GSoC 2020 - Introduction - Farheen Bano - Adding CQL feature filtering support to pygeoapi

Farheen Bano farheenbano94 at gmail.com
Tue May 19 05:18:59 PDT 2020

Dear Community Members,

My name is Farheen Bano. I have done my B.Tech in Computer Science
Engineering from West Bengal University of Technology. I am currently
pursuing my Master's in Geo-informatics Engineering under Centre of Studies
in Resources Engineering from Indian Institute of Technology Bombay,
Mumbai, India.

My LinkedIn profile - https://www.linkedin.com/in/farheen-bano/

My GitHub account - https://github.com/FarheenB

Firstly, I would like to thank all the community members of OSGeo and
pygeoapi for giving me this opportunity. I am honoured to be considered for
this opportunity and feel valuable to the community. I have always been an
active contributor to Open Source software development. I am really excited
on working with OSGeo community and pygeoapi mentors and have a happy
learning summer.

My project for GSoC 2020 is “Adding CQL feature filtering support to
pygeoapi” which follows OGC API suit of standards. Details of my proposal
can be found here

pygeoapi is a Python server implementation of the OGC API suite of
standards. To be able to filter features of geospatial collections is an
essential functionality that should be available in a geospatial API. But
this functionality has not yet been implemented in pygeoapi. For GSoC I
proposed to develop the filters for OGC Feature API. The filters would be
implemented at collection level *(following OGC Feature API Collection
Definitions)* in CQL.

OGC API standards define modular API building blocks to spatially enable
Web API in a consistent way. OGC API Features provides API building blocks
to create, modify and query features on the Web. OGC API Features is
comprised of multiple parts, each of them is a separate standard which I
will be following during the development of this project.

On developing API with JSON encoding for CQL, any combination
of bbox, datetime and parameters for filtering on feature properties will
be allowed. The requirements on these parameters imply that only features
matching all the predicates are in the result set. i.e., the logical
operator between the predicates is 'AND'. The API definition may be used to
determine details, e.g., on filter parameters, but this may not be
necessary depending on the needs of the client. These are clients that are
in general able to use multiple APIs as long as it implements OGC API

If features in the feature collection include a feature property that has a
simple value (for example, a string or integer) that is expected to be
useful for applications using the service to filter the features of the
collection based on this property, a parameter with the name of the feature
property and with the characteristics (using an OpenAPI Specification 3.0
fragment) should be supported. The schema property will be the same as the
definition of the feature property in the response schema.

My aim is to develop an efficient code to contribute to pygeoapi with
simple as well as advance feature filtering functionality using CQL. I will
develop efficient and least time computing, complex filter based APIs which
would add on high value to the existing system. This functionality that I
intend to develop will give pygeoapi an advantage in the GIS community
because this helps in delivering appropriate results based on the set of
conditions specified by the client. Thus increases the client’s usage

I will be implementing this project on GitHub Repository
https://github.com/FarheenB/pygeoapi and will update my work progress
regularly on the wiki page *(The request to edit the OSGeo GSoC wiki page
with user name FarheenBano is not yet approved)*

Will be glad to receive any suggestions and feedback from the community :-)


Farheen Bano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20200519/6d4cef65/attachment.html>

More information about the SoC mailing list