Hi all,

I would like to propose moving the cql2-text and cql2-json unsupported
modules to supported land.

In particular, the modules support the CQL2 filter language
<https://docs.ogc.org/is/21-065r2/21-065r2.html> in its text
incarnation (similar to ECQL) and its JSON incarnation (for the JSON
documents that need to express a filter, and general ease of parsing from
machinery (yep, it's 2024 and writing a text parser is still hard).
The modules have been used for a while in the GeoServer OGC API modules,
and have been recently overhauled to match the current standard.

The CQL2 specification is modular and allows a subset of all possible
filters and expression to be implemented. The CQL2 modules currently
support the following requirement classes:

   - http://www.opengis.net/spec/cql2/1.0/req/advanced-comparison-operators
(like,
   between, in)
   - http://www.opengis.net/spec/cql2/1.0/req/property-property (comparison
   between two properties)
   - http://www.opengis.net/spec/cql2/1.0/req/functions (extensible
   functions)
   - http://www.opengis.net/spec/cql2/1.0/req/basic-spatial-functions
    (point/bbox/s_intersects)
   - http://www.opengis.net/spec/cql2/1.0/req/basic-spatial-functions-plus (all
   other single and multi geometry types)
   - http://www.opengis.net/spec/cql2/1.0/req/spatial-functions (S_CONTAINS,
   S_CROSSES, S_DISJOINT, S_EQUALS, S_INTERSECTS, S_OVERLAPS, S_TOUCHES,
   S_WITHIN)

The following are not supported, but may be implemented in the future:

   - http://www.opengis.net/spec/cql2/1.0/req/case-insensitive-comparison
(CASEI
   function)
   - http://www.opengis.net/spec/cql2/1.0/req/accent-insensitive-comparison
(ACCENTI
   function)
   - http://www.opengis.net/spec/cql2/1.0/req/temporal-functions (too many
   to list, various temporal comparisons between instants and intervals)
   - http://www.opengis.net/spec/cql2/1.0/req/array-functions (support for
   array data types)

In terms of gold stars
<https://docs.geotools.org/latest/developer/procedures/check.html> for
graduation:

   - Correct headers: check
   - Releasable no blocking bugs in jira: check
   - Used in anger: sort of, GeoServer OGC API has been using it for a
   while. Check.
   - Optimised: Parsing is as good as it can be. Check.
   - Supported: In terms of maintainers, it will be me, Andrea Aime
   - Documentation. A pull request with documentation is available here
   <https://github.com/geotools/geotools/pull/4987>.

That would be 4+ stars, enough for graduation. In addition to that:

   - cql2-text has a test coverage of 74% (when run with -Ponline)
   - cql2-json has a test coverage of 70% (when run with -Ponline)
   - Both modules pass the QA checks


The CQL2 modules have online tests that download some test data from the
OGC web site (it's a 1MB+ geopackage used for the CQL2 Abstract test
suite). In the PR for graduation we'll also add an online build Github
action running the two tests.

Votes and feedback welcomed!

Cheers
Andrea


==


GeoServer Professional Services from the experts!

Visit http://bit.ly/gs-services-us for more information.

==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions Group
phone: +39 0584 962313

fax:     +39 0584 1660272

mob:   +39  339 8844549

https://www.geosolutionsgroup.com/

http://twitter.com/geosolutions_it

-------------------------------------------------------

Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
precisa che ogni circostanza inerente alla presente email (il suo
contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is
addressed and may contain information that is privileged, confidential or
otherwise protected from disclosure. We remind that - as provided by
European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
e-mail or the information herein by anyone other than the intended
recipient is prohibited. If you have received this email by mistake, please
notify us immediately by telephone or e-mail
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to