Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced support for OGC API Features : Part 3 (Filtering) and CQL 2 standards #48

Open
teezip opened this issue May 31, 2023 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@teezip
Copy link
Collaborator

teezip commented May 31, 2023

Background

The support for OGC API Features : Part 3 (Filtering) and CQL 2 standards in Hakunapi has been developed in late 2021 and early 2022 based on the draft standards versions. Still (2023-05-29) waiting for standards to be approved. At least after approval also support in Hakunapi should be enhanced.

First need to analyze and document

  • which features and conformance classes are currently supported
  • which features and conformance classes not currently implemented are needed by NLS of Finland and other user's use cases
  • then decide what Hakunapi should support and implement those features

Links (drafts)

OGC API Features

Common Query Language (CQL2)

  • Latest drafts (2023-05-31) or at least this was referenced by Part 3 version 1.0.0-rc.2-SNAPSHOT :
@teezip teezip added the enhancement New feature or request label May 31, 2023
@teezip teezip changed the title Full support OGC API Features : Part 3 standard Full support OGC API Features : Part 3 (Filtering) standard May 31, 2023
@teezip teezip changed the title Full support OGC API Features : Part 3 (Filtering) standard Enhanced support for OGC API Features : Part 3 (Filtering) and CQL 2 standards May 31, 2023
@teezip
Copy link
Collaborator Author

teezip commented Mar 20, 2024

GitHub folder in OGC API Features repository for part 3 and cql2:
https://github.com/opengeospatial/ogcapi-features/tree/master/extensions/filtering

OGC Standard roadmap
https://www.ogc.org/standards/roadmap/

OGC API github "Part 3: Filtering / Common Query Language (CQL2)" -project page
https://github.com/opengeospatial/ogcapi-features/projects/4

Seems that this standard part is getting ready. In 2024-03-24 there was 6 future-work, 1 todo and 144 done items.

Implementation (server and client) status:
https://github.com/opengeospatial/ogcapi-features/tree/master/implementations

At least ldproxy, CubeWerx Suite, GDAL and ArcGIS Runtime API announce support for some conformance classes of Part 3.

As noted in background description of this issue in development of Hakunapi the support was originally implemented in late 2021 and early 2022 based on the draft standards version, then the development has been waiting the final standards (part 3 + cql 2).

@teezip
Copy link
Collaborator Author

teezip commented Mar 20, 2024

Currently (2024-03-20) supported conformance classes by Hakunapi:
https://github.com/nlsfi/hakunapi/blob/main/src/hakunapi-core/src/main/java/fi/nls/hakunapi/core/ConformanceClass.java

Conformance classes that relate to OGC API - Features - Part 3: Filtering or CQL2

   FILTER("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter"),
   FEATURES_FILTER("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter"),
   
   TEMPORAL_OPERATORS("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/temporal-operators"),
   ARRAY_OPERATORS("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/array-operators"),
   PROPERTY_PROPERTY_COMPARISONS("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/property-property"),
   CUSTOM_FUNCTIONS("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/functions"),
   ARITHMETIC_EXPRESSIONS("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/arithmetic"),
   
   // Common Query Language CQL 2
   BASIC_CQL("http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2"),
   ADVANCED_COMPARISON_OPERATORS("http://www.opengis.net/spec/cql2/1.0/conf/advanced-comparison-operators"),
   BASIC_SPATIAL_OPERATORS("http://www.opengis.net/spec/cql2/1.0/conf/basic-spatial-operators"),
   SPATIAL_OPERATORS("http://www.opengis.net/spec/cql2/1.0/conf/spatial-operators"),
   FUNCTIONS("http://www.opengis.net/spec/cql2/1.0/conf/functions"),
   CQL2_TEXT_ENCODING("http://www.opengis.net/spec/cql2/1.0/conf/cql2-text"),
   CASE_INSENSITIVE_COMPARISON("http://www.opengis.net/spec/cql2/1.0/conf/case-insensitive-comparison"),
   CQL2_JSON_ENCODING("http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/cql2-json"),

All these need to be checked when the standard is finalized. At least classes with "operators" word need to be changed to classess with "functions" name according to the latest drafts.

Following maybe should be supported too:

Queryables
http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables

Queryables as Query Parameters
http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters

Other checks need also.

@jampukka jampukka added this to the 1.5.0 milestone Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants