Hi,
I have a very narrow opportunity to start implementing a CQL2 parser, but
need to deliver
some results in a matter of a few days.

CQL2-text has some significant differences compared to CQL and ECQL, a
quick check shows:
- spatial and temporal operator names differ
- identifiers can have column and period inside without requiring quoting
(in ECQL period is used to refer to nested properties, we won't be able to
do that anymore)
- DATE/TIMESTAMP functions working off a string, rather than the string
directly (e..g, DATE('2020-10-10'))
- INTERVAL function for date range construction rather than D1/D2
- ENVELOPE has same syntax but different axis order, used to be
west/east/north/south (weird!!) now it's
- CASEI and ACCENTI are new functions to deal with cases insensitive
comparison, can be used in text comparisons but also in LIKE (where a fixed
string used to have to be specified)

Given the (very) tight window my plan is to copy over the ECQL parser and
adapt it in a gt-cql2-text community module,
and then make the results available for usage in OGC APIs (STAC in
particular, at least in the next few days).

Longer term, we might decide to merge gt-cql2-text back into gt-cql, but I
would not go there until "pens are down" on the
CQL2 standard (seems like we are close though).

Ah, by the way... I'll have to use a weird package name, because for some
reason, the implementation of CQL (yes, the original CQL)
lives in a "org.geotools.filter.text.cql2" package... wow that's quite
confusing!! Seems like it has been like that since
before we switched to git... oh well... I'll go for
"org.geotools.filter.text.cql_2" for the time being, if you have a better
suggestion I'm all ears.

Cheers
Andrea
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to