ogcopenapis 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,26 @@ Each pull request adds its changes under Unreleased. A release renames Unrelease
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [1.2.0] - 2026-10-30
12
+
13
+ ### Added
14
+ - `getFilterSupport(capabilities)`: whether, and how, the server filters features, as its conformance classes declare.
15
+ `filter` for the Features Filter class of OGC API Features Part 3 (`FEATURES_FILTER_CONFORMANCE`), and the CQL2 1.0
16
+ `encodings` (`cql2-text`, `cql2-json`) and `levels` (`basic-cql2`, `advanced-comparison-operators`, …) by their
17
+ names. Each as declared: a CQL2 encoding without the Features Filter class gives `filter` false (pygeoapi).
18
+ Requested by a user of 1.1.1.
19
+ - `fetchQueryables(capabilities, collection, options?)`: the queryables of a collection (OGC API Features Part 3), the
20
+ JSON Schema of the properties a filter can use, as the server sends it (`OgcOpenApiQueryables`). It requests the
21
+ queryables link of the collection, or the path of the standard when `/collections` lists none (ldproxy, PDOK).
22
+ Resolves `null` for a collection without features and for a 404, rejects with an `Error` otherwise. Requested by a
23
+ user of 1.1.1.
24
+ - `onQueryResult` option of OgcOpenApiFeatureStore: called once for each query with what its response says about its
25
+ size, `numberMatched` (left out when the server gives none), `numberReturned` and `hasNext` (a next link, in the
26
+ response or its `Link` header), with the `url` and `query` of the request. From JSON and from the root element of
27
+ GML. Not called for `get`, a failed query or an aborted one. Requested by a user of 1.1.1.
28
+ - Demo: a URL that is not the landing page of an OGC API gets a message in plain words: an HTML page ("the server did
29
+ not answer JSON") or JSON without its links ("not the landing page of an OGC API").
30
+
11
31
  ## [1.1.1] - 2026-10-29
12
32
 
13
33
  ### Fixed
@@ -124,7 +144,8 @@ Each pull request adds its changes under Unreleased. A release renames Unrelease
124
144
 
125
145
  See the [git history](https://github.com/felipecarrillo100/ogcopenapis/commits/main).
126
146
 
127
- [Unreleased]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.1.1...HEAD
147
+ [Unreleased]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.2.0...HEAD
148
+ [1.2.0]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.1.1...v1.2.0
128
149
  [1.1.1]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.1.0...v1.1.1
129
150
  [1.1.0]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.0.3...v1.1.0
130
151
  [1.0.3]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.0.2...v1.0.3
package/README.md CHANGED
@@ -4,14 +4,14 @@
4
4
  The ogcopenapis package provides OGC API functionalities to LuciadRIA applications.
5
5
 
6
6
  Implements
7
- * __OGC API - Features__
7
+ * __OGC API - Features__, with the filters and queryables of Part 3
8
8
  * __OGC API - Maps__
9
9
  * __OGC API - Tiles__, map (raster) tiles and vector tiles, of collections and of the dataset
10
10
  * __OGC API - Styles__, for vector tiles
11
11
 
12
12
  The Main Components are:
13
13
 
14
- * __OgcOpenApiGetCapabilities__: a helper to retrieve the capabilities of a server such as available collections, available formats, tilesets and tile matrix sets
14
+ * __OgcOpenApiGetCapabilities__: a helper to retrieve the capabilities of a server such as available collections, available formats, tilesets and tile matrix sets, and the filter support and queryables for features
15
15
  * __OgcOpenApiFeatureStore__: a ready to use LuciadRIA store that retrieves features from an OGC API Features service
16
16
  * __OgcOpenApiMapsModel__: a ready to use model that retrieves images from an OGC API Maps service
17
17
  * __OgcOpenApiTilesModel__: a ready to use model that retrieves map tiles from an OGC API Tiles service
@@ -168,8 +168,31 @@ function createFeatureLayer(collection: OgcOpenApiCapabilitiesCollection) {
168
168
  return new FeatureLayer(model, {label: collection.title || collection.id, loadingStrategy: new LoadSpatially()});
169
169
  }
170
170
  ```
171
- The store requests the features in view, a query does not follow the `next` links of a response yet (no paging). It
172
- keeps the parameters of the items link, such as `profile` or an api key, and encodes the values of its own.
171
+ The store requests the features in view, and a query does not follow the `next` links of a response: a map layer
172
+ shows the features of its view, up to `limit`, without paging. Paging belongs with a table of the features, it needs
173
+ a UI to move through the pages. The store keeps the parameters of the items link, such as `profile` or an api key, and
174
+ encodes the values of its own.
175
+
176
+ `onQueryResult` tells what the response to each query says about its size, to show for example "3,460 match, 1,000
177
+ shown":
178
+ ```typescript
179
+ const store = new OgcOpenApiFeatureStore({
180
+ // ...the options above
181
+ onQueryResult: ({url, query, numberMatched, numberReturned, hasNext}) => {
182
+ if (hasNext) console.log((numberMatched ?? "More") + " match, " + numberReturned + " shown");
183
+ },
184
+ });
185
+ ```
186
+ * It is called once for each query whose features are decoded, not for `get`, a failed query or an aborted one.
187
+ With `LoadSpatially` every view sends a query of its own: `numberMatched` counts the features in its `bbox`, and
188
+ `url` and `query` tell which request it answers.
189
+ * `numberMatched` is left out when the server gives none, it is optional (PDOK). `numberReturned` can be less than
190
+ `limit`, servers cap it (pygeoapi at 10).
191
+ * `hasNext`: the response links a next page, in its `links` or its `Link` header: not every match is shown. The store
192
+ does not request that page. Left out when the response has no links to tell, such as GML whose `Link` header the
193
+ browser cannot read (CORS).
194
+ * The counts come from the response: the members of JSON, or the attributes of the root element of GML. Reading them
195
+ parses a JSON response a second time, only when `onQueryResult` is set.
173
196
 
174
197
  JSON-FG (OGC Features and Geometries JSON) needs a JSON-FG codec, which LuciadRIA does not have yet. Servers offer it as
175
198
  `application/vnd.ogc.fg+json`, or as `application/geo+json` with the JSON-FG profile (ldproxy); `isJsonFgLink` tells them
@@ -180,6 +203,42 @@ Keep the ids of the server: `generateIDs: false`. Each feature of an OGC API Fea
180
203
  the store requests `items/{id}` with it, and LuciadRIA updates only the features that changed when the ids stay the same
181
204
  between queries. `generateIDs: true` replaces them with ids of its own on every query.
182
205
 
206
+ #### Filters
207
+ The store passes a server-side filter through the query (OGC API Features Part 3): `filter`, `filter-lang` and
208
+ `filter-crs`. `getFilterSupport` says whether, and how, the server filters, as its conformance classes declare:
209
+ ```typescript
210
+ const support = OgcOpenApiGetCapabilities.getFilterSupport(capabilities);
211
+ // {filter: true, encodings: ["cql2-json", "cql2-text"], levels: ["advanced-comparison-operators", "basic-cql2", ...]}
212
+ if (support.filter && support.encodings.indexOf("cql2-text") > -1) {
213
+ // Within the levels the server declares: like, between and in need advanced-comparison-operators
214
+ const cursor = await store.query({filter: "F_CODE='AP030'", "filter-lang": "cql2-text"});
215
+ }
216
+ ```
217
+ * `filter`: the server declares the Features Filter class of Part 3,
218
+ `http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter`.
219
+ * `encodings` and `levels`: the CQL2 1.0 classes the server declares (`http://www.opengis.net/spec/cql2/1.0/conf/…`),
220
+ by their names. The encodings are also the values of `filter-lang`.
221
+ * Each is reported as the server declares it. pygeoapi, for example, declares `cql2-text` and `basic-cql2` without the
222
+ Features Filter class: `filter` is false, and accepting the encoding alone is up to the application.
223
+ * Pre-standard CQL classes, such as `ogcapi-features-3/1.0/conf/cql-text` (CubeWerx), are not CQL2 and are left out.
224
+
225
+ The properties a filter can use are the queryables of the collection, a JSON Schema. `fetchQueryables` returns it as
226
+ the server sends it, to interpret in the application:
227
+ ```typescript
228
+ const queryables = await OgcOpenApiGetCapabilities.fetchQueryables(capabilities, collection);
229
+ if (queryables) {
230
+ for (const [name, schema] of Object.entries(queryables.properties || {})) {
231
+ // F_CODE {type: "string", title: "Feature Type Code", enum: ["AN010", ...], "x-ogc-role": "type"}
232
+ console.log(name, schema.type, schema.format, schema.title, schema.enum);
233
+ }
234
+ }
235
+ ```
236
+ * It requests the queryables link of the collection, JSON Schema or JSON, with `Accept: application/schema+json,
237
+ application/json`. ldproxy and PDOK list that link only in the collection document, not in `/collections`: then
238
+ it requests the path of the standard, `/collections/{collectionId}/queryables`.
239
+ * It resolves `null` for a collection without features, without a request, and when the server answers 404.
240
+ * The geometry is a queryable too, with `"x-ogc-role": "primary-geometry"` and a `format` such as `geometry-point`.
241
+
183
242
  ### Maps
184
243
  OgcOpenApiMapsModel extends WMSTileSetModel, use it with a RasterTileSetLayer. It requests the map as tiles, in the
185
244
  reference of the map when the collection offers it, otherwise in CRS84, which every server supports, and LuciadRIA
@@ -22,6 +22,14 @@ export interface OgcOpenApiFeatureStoreConstructorOptions {
22
22
  };
23
23
  crs: string;
24
24
  proxify?: ProxifyFunction;
25
+ onQueryResult?: (result: OgcOpenApiFeatureQueryResult) => void;
26
+ }
27
+ export interface OgcOpenApiFeatureQueryResult {
28
+ url: string;
29
+ query: OgcOpenApiFeatureStoreQueryOptions;
30
+ numberMatched?: number;
31
+ numberReturned?: number;
32
+ hasNext?: boolean;
25
33
  }
26
34
  export interface OgcOpenApiFeatureStoreQueryOptions {
27
35
  f?: string;
@@ -79,6 +87,7 @@ export declare class OgcOpenApiFeatureStore extends Store {
79
87
  private credentials;
80
88
  private serverOptions;
81
89
  private swapAxes;
90
+ private onQueryResult;
82
91
  constructor(options: OgcOpenApiFeatureStoreConstructorOptions);
83
92
  get bounds(): Bounds;
84
93
  isOperationSupported(methodName: StoreOperationName): boolean;
@@ -87,6 +96,7 @@ export declare class OgcOpenApiFeatureStore extends Store {
87
96
  private withQuery;
88
97
  private fetchFeatures;
89
98
  spatialQuery(bounds?: Bounds, receivedQuery?: OgcOpenApiFeatureStoreQueryOptions, options?: QueryOptions): Promise<Cursor> | Cursor;
99
+ private static getResultSize;
90
100
  private static getCRS84BoundingBox;
91
101
  private static targetBounds;
92
102
  private static cleanUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"OgcOpenApiFeatureStore.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiFeatureStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OgcOpenApiFeatureStore.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiFeatureStore.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export class OgcOpenApiFeatureStore extends Store {
15
15
  super();
16
16
  // console.log(options);
17
17
  this.swapAxes = options.swapAxes;
18
+ this.onQueryResult = options.onQueryResult;
18
19
  this.useCrs84Bounds = typeof options.useCrs84Bounds !== "undefined" ? options.useCrs84Bounds : false;
19
20
  this.dataUrl = options.dataUrl;
20
21
  this.outputFormat = options.outputFormat;
@@ -66,7 +67,7 @@ export class OgcOpenApiFeatureStore extends Store {
66
67
  query.f = query.f ? query.f : this.dataFormat;
67
68
  query.crs = query.crs ? query.crs : this.customCrs;
68
69
  query.limit = query.limit ? query.limit : undefined;
69
- return this.fetchFeatures(this.withQuery(this.baseUrl, query), options?.abortSignal);
70
+ return this.fetchFeatures(this.withQuery(this.baseUrl, query), options?.abortSignal, query);
70
71
  }
71
72
  // The parameters of the items link, then those of the request, which replace a link parameter of the same name.
72
73
  // f comes first, every value is encoded
@@ -83,7 +84,8 @@ export class OgcOpenApiFeatureStore extends Store {
83
84
  }
84
85
  // Fetches and decodes features. The promise always settles: it rejects with the reason when the request,
85
86
  // the response or the decoding fails, and when LuciadRIA aborts the request through abortSignal.
86
- fetchFeatures(request, abortSignal) {
87
+ // A query is reported to onQueryResult once its features are decoded, unless it was aborted
88
+ fetchFeatures(request, abortSignal, query) {
87
89
  // Mod starta
88
90
  const itemsAccept = typeof this.requestHeaders.accept !== 'undefined'
89
91
  ? this.requestHeaders.accept.split(';')
@@ -116,10 +118,13 @@ export class OgcOpenApiFeatureStore extends Store {
116
118
  const codecOptions = {
117
119
  content, contentType, contentCrs, contentLength
118
120
  };
119
- if (this.codec instanceof GeoJsonCodec || this.codec instanceof GMLCodec) {
120
- return this.codec.decode({ ...codecOptions, reference: getReference(OgcOpenApiCrsTools.getReferenceName(contentCrs)) });
121
+ const cursor = this.codec instanceof GeoJsonCodec || this.codec instanceof GMLCodec ?
122
+ this.codec.decode({ ...codecOptions, reference: getReference(OgcOpenApiCrsTools.getReferenceName(contentCrs)) }) :
123
+ this.codec.decode(codecOptions);
124
+ if (query && this.onQueryResult && !abortSignal?.aborted) {
125
+ this.onQueryResult({ url: request, query, ...OgcOpenApiFeatureStore.getResultSize(content, contentType, response.headers.get('Link')) });
121
126
  }
122
- return this.codec.decode(codecOptions);
127
+ return cursor;
123
128
  });
124
129
  });
125
130
  }
@@ -159,6 +164,51 @@ export class OgcOpenApiFeatureStore extends Store {
159
164
  }
160
165
  return this.query(query, options);
161
166
  }
167
+ // The size of a response: the members of a JSON response, or the attributes of the root element of GML, and the
168
+ // next link of the response or of its Link header
169
+ static getResultSize(content, contentType, linkHeader) {
170
+ const size = {};
171
+ const count = (value) => {
172
+ const n = typeof value === "string" ? (/^\d+$/.test(value) ? Number(value) : undefined) : value;
173
+ return typeof n === "number" && isFinite(n) && n >= 0 ? n : undefined;
174
+ };
175
+ if (/json/i.test(contentType)) {
176
+ let data;
177
+ try {
178
+ data = JSON.parse(content);
179
+ }
180
+ catch (e) {
181
+ data = undefined;
182
+ }
183
+ if (data && typeof data === "object") {
184
+ size.numberMatched = count(data.numberMatched);
185
+ size.numberReturned = count(data.numberReturned);
186
+ if (Array.isArray(data.links))
187
+ size.hasNext = data.links.some(l => l && l.rel === "next");
188
+ }
189
+ }
190
+ else if (/xml/i.test(contentType)) {
191
+ // WFS 2.0 allows numberMatched="unknown"
192
+ const root = /<(?:[\w.-]+:)?FeatureCollection\b([^>]*)>/.exec(content);
193
+ const attribute = (name) => {
194
+ const match = root ? new RegExp("\\s" + name + "=[\"']([^\"']*)[\"']").exec(root[1]) : null;
195
+ return match ? count(match[1]) : undefined;
196
+ };
197
+ size.numberMatched = attribute("numberMatched");
198
+ size.numberReturned = attribute("numberReturned");
199
+ }
200
+ if (linkHeader) {
201
+ const next = linkHeader.split(/,\s*(?=<)/).some(link => {
202
+ const rel = /;\s*rel\s*=\s*"?([^";]*)"?/i.exec(link);
203
+ return rel !== null && rel[1].split(/\s+/).indexOf("next") > -1;
204
+ });
205
+ size.hasNext = size.hasNext || next;
206
+ }
207
+ for (const key of Object.keys(size))
208
+ if (typeof size[key] === "undefined")
209
+ delete size[key];
210
+ return size;
211
+ }
162
212
  static getCRS84BoundingBox(shape) {
163
213
  const WGS84 = getReference("CRS:84");
164
214
  const bounds = shape.bounds;
@@ -1 +1 @@
1
- {"version":3,"file":"OgcOpenApiFeatureStore.js","sourceRoot":"","sources":["../src/OgcOpenApiFeatureStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OgcOpenApiFeatureStore.js","sourceRoot":"","sources":["../src/OgcOpenApiFeatureStore.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,26 @@ export declare const JSON_FG_MEDIA_TYPE = "application/vnd.ogc.fg+json";
13
13
  export declare const JSON_FG_PROFILE = "http://www.opengis.net/def/profile/OGC/0/jsonfg";
14
14
  export declare const COLLECTIONS_SELECTION_CONFORMANCE = "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/collections-selection";
15
15
  export declare const COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS: string[];
16
+ export declare const FEATURES_FILTER_CONFORMANCE = "http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter";
17
+ export declare const CQL2_CONFORMANCE_PREFIX = "http://www.opengis.net/spec/cql2/1.0/conf/";
18
+ export declare const CQL2_ENCODINGS: string[];
19
+ export interface OgcOpenApiFilterSupport {
20
+ filter: boolean;
21
+ encodings: string[];
22
+ levels: string[];
23
+ }
24
+ export interface OgcOpenApiQueryables {
25
+ $schema?: string;
26
+ $id?: string;
27
+ type?: string;
28
+ title?: string;
29
+ properties?: {
30
+ [name: string]: {
31
+ [keyword: string]: any;
32
+ };
33
+ };
34
+ [keyword: string]: any;
35
+ }
16
36
  export interface TileMatrix {
17
37
  id: string;
18
38
  scaleDenominator: number;
@@ -172,6 +192,24 @@ export declare class OgcOpenApiGetCapabilities {
172
192
  * as its conformance classes declare: the class of the standard, or the variant of COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS
173
193
  */
174
194
  static supportsCollectionSelection(capabilities: OgcOpenApiCapabilitiesObject | null): boolean;
195
+ /**
196
+ * Whether, and how, the server filters features, as its conformance classes declare: the Features Filter class of
197
+ * OGC API Features Part 3, and the CQL2 1.0 classes by their names, in the order the server lists them. Each is
198
+ * reported as declared, a CQL2 encoding without the Features Filter class gives filter false. Pre-standard CQL
199
+ * classes (ogcapi-features-3/1.0/conf/cql-text) are not CQL2 and are left out.
200
+ */
201
+ static getFilterSupport(capabilities: OgcOpenApiCapabilitiesObject | null): OgcOpenApiFilterSupport;
202
+ /**
203
+ * Fetches the queryables of a collection (OGC API Features Part 3), the properties a filter can use: a JSON Schema,
204
+ * as the server sends it. Resolves null for a collection that has none: a collection without features, or a
205
+ * queryables request that answers 404. Rejects with an Error otherwise, and with the error of the request as it is
206
+ * when it fails, an AbortError included.
207
+ */
208
+ static fetchQueryables(capabilities: OgcOpenApiCapabilitiesObject | null, collection: OgcOpenApiCapabilitiesCollection, options?: {
209
+ credentials?: boolean;
210
+ requestHeaders?: RequestHeaders;
211
+ }): Promise<OgcOpenApiQueryables | null>;
212
+ private static getQueryablesHref;
175
213
  /**
176
214
  * Whether the server tiles the dataset as a whole, all its collections in each tile, for linkType Tiles or VectorTiles
177
215
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OgcOpenApiGetCapabilities.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,kBAAkB,EAAuB,MAAM,2BAA2B,CAAC;AAGxF,KAAK,cAAc,GAAG;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAAC,GAAG,IAAI,CAAA;AAC5D,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAID,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAChE,eAAO,MAAM,eAAe,oDAAoD,CAAC;AAGjF,eAAO,MAAM,iCAAiC,8EAA8E,CAAC;AAG7H,eAAO,MAAM,0CAA0C,UAA+E,CAAC;AAEvI,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAA;CACJ;AACD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAA;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,qBAAqB;IAEpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEzC,WAAW,CAAC,EAAE;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CACzE;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gCAAgC,EAAE,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,+CAA+C,EAAE,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC;IACZ,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,+CAA+C;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,WAAW,gBAAgB;CAC5B;AA4BD,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,KAAK;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,WAAW,CAAC;CAC3B,CAAA;AAED,MAAM,WAAW,gCAAgC;IAC/C,2BAA2B,CAAC,EAAE,kBAAkB,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE;QACf,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B;AAED,qBAAa,yBAAyB;IAEpC;;;;;OAKG;WACiB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,gCAAgC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAkF3I,OAAO,CAAC,MAAM,CAAC,OAAO;IAKtB,MAAM,CAAC,qBAAqB,CAC1B,KAAK,EAAE,+CAA+C,EAAE,EACxD,QAAQ,EAAE,kBAAkB;WAchB,WAAW,CACvB,YAAY,EAAE,gCAAgC,EAC9C,cAAc,EAAE,MAAM;IASxB;;OAEG;WACW,YAAY,CAAC,IAAI,EAAE,QAAQ;IAOzC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;;OAGG;WACiB,mBAAmB,CAAC,YAAY,EAAE,4BAA4B,GAAG,IAAI,EAAE,OAAO,CAAC,EAAC;QAAC,WAAW,CAAC,EAAC,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC;WAY7I,gCAAgC,CAAC,aAAa,EAAE,WAAW;mBAkCpD,aAAa;mBAgBb,SAAS;IAgB9B,OAAO,CAAC,MAAM,CAAC,mBAAmB;WAKpB,YAAY,CACtB,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,iBAAiB,EAAE,gCAAgC,EACnD,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,EAClE,QAAQ,GAAE,kBAA6C;IAM3D,OAAO,CAAC,MAAM,CAAC,eAAe;IAO9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAMrC;;;OAGG;WACW,2BAA2B,CAAC,YAAY,EAAE,4BAA4B,GAAG,IAAI;IAM3F;;OAEG;WACW,kBAAkB,CAAC,YAAY,EAAE,4BAA4B,GAAG,IAAI,EAAE,QAAQ,EAAE,kBAAkB;IAIhH;;;OAGG;WACiB,uBAAuB,CACvC,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,UAAU,EAAE,gCAAgC,EAC5C,QAAQ,GAAE,kBAA6C,EACvD,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,GACnE,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAOnC;;;OAGG;WACiB,oBAAoB,CACpC,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,QAAQ,GAAE,kBAA6C,EACvD,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,GACnE,OAAO,CAAC,qBAAqB,EAAE,CAAC;mBAOd,gBAAgB;IAsBrC;;;OAGG;WACW,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS;IAWxH,OAAO,CAAC,MAAM,CAAC,OAAO;IAMtB;;;;OAIG;WACiB,2BAA2B,CAC3C,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,OAAO,EAAE,qBAAqB,EAC9B,cAAc,EAAE,WAAW,EAAE,EAC7B,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,GACnE,OAAO,CAAC,WAAW,CAAC;mBAiBF,oBAAoB;IAWzC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAMrC;;;OAGG;WACiB,sBAAsB,CACtC,YAAY,EAAE,4BAA4B,GAAG,IAAI,EAEjD,iBAAiB,EAAE,gCAAgC,GAAG,IAAI,EAE1D,UAAU,EAAE,MAAM,GAAG,qBAAqB,EAC1C,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,EAClE,QAAQ,GAAE,kBAA6C,GACxD,OAAO,CAAC,iBAAiB,CAAC;IAmB7B;;;OAGG;WACiB,YAAY,CAC5B,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC,GACnE,OAAO,CAAC,WAAW,CAAC;CAQxB"}
1
+ {"version":3,"file":"OgcOpenApiGetCapabilities.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,14 @@ export const COLLECTIONS_SELECTION_CONFORMANCE = "http://www.opengis.net/spec/og
9
9
  // The same class under another name, also accepted. Not in the standard: ldproxy declares it so, and supports the
10
10
  // collections parameter as the standard requires. To be removed once ldproxy declares the class of the standard
11
11
  export const COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS = ["http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/collection-selection"];
12
+ // The conformance class of OGC API Features Part 3 for the filter parameter of the items of a collection
13
+ export const FEATURES_FILTER_CONFORMANCE = "http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter";
14
+ // The conformance classes of CQL2 1.0 (OGC 21-065) share this prefix, the encodings and the levels of the language
15
+ export const CQL2_CONFORMANCE_PREFIX = "http://www.opengis.net/spec/cql2/1.0/conf/";
16
+ // The CQL2 encodings, as conformance classes name them. They are also the values of the filter-lang parameter
17
+ export const CQL2_ENCODINGS = ["cql2-text", "cql2-json"];
18
+ // The media types of a queryables document, in the order they are preferred
19
+ const QUERYABLES_MEDIA_TYPES = ["application/schema+json", "application/json"];
12
20
  export var CollectionLinkType;
13
21
  (function (CollectionLinkType) {
14
22
  CollectionLinkType["Items"] = "items";
@@ -263,6 +271,78 @@ export class OgcOpenApiGetCapabilities {
263
271
  return conformsTo.indexOf(COLLECTIONS_SELECTION_CONFORMANCE) > -1 ||
264
272
  COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS.some(variant => conformsTo.indexOf(variant) > -1);
265
273
  }
274
+ /**
275
+ * Whether, and how, the server filters features, as its conformance classes declare: the Features Filter class of
276
+ * OGC API Features Part 3, and the CQL2 1.0 classes by their names, in the order the server lists them. Each is
277
+ * reported as declared, a CQL2 encoding without the Features Filter class gives filter false. Pre-standard CQL
278
+ * classes (ogcapi-features-3/1.0/conf/cql-text) are not CQL2 and are left out.
279
+ */
280
+ static getFilterSupport(capabilities) {
281
+ const conformsTo = capabilities && capabilities.conformsTo ? capabilities.conformsTo : [];
282
+ const cql2 = conformsTo
283
+ .filter(uri => uri.indexOf(CQL2_CONFORMANCE_PREFIX) === 0)
284
+ .map(uri => uri.substring(CQL2_CONFORMANCE_PREFIX.length));
285
+ return {
286
+ filter: conformsTo.indexOf(FEATURES_FILTER_CONFORMANCE) > -1,
287
+ encodings: cql2.filter(name => CQL2_ENCODINGS.indexOf(name) > -1),
288
+ levels: cql2.filter(name => CQL2_ENCODINGS.indexOf(name) === -1),
289
+ };
290
+ }
291
+ /**
292
+ * Fetches the queryables of a collection (OGC API Features Part 3), the properties a filter can use: a JSON Schema,
293
+ * as the server sends it. Resolves null for a collection that has none: a collection without features, or a
294
+ * queryables request that answers 404. Rejects with an Error otherwise, and with the error of the request as it is
295
+ * when it fails, an AbortError included.
296
+ */
297
+ static async fetchQueryables(capabilities, collection, options) {
298
+ if (capabilities === null)
299
+ throw new Error("No capabilities to fetch the queryables of " + collection.id);
300
+ const href = OgcOpenApiGetCapabilities.getQueryablesHref(capabilities, collection);
301
+ if (!href)
302
+ return null;
303
+ let response;
304
+ try {
305
+ response = await OgcOpenApiFetchTools.fetch(href, {
306
+ method: "GET",
307
+ credentials: options?.credentials ? "same-origin" : "omit",
308
+ headers: { Accept: QUERYABLES_MEDIA_TYPES.join(", "), ...(options?.requestHeaders ? options.requestHeaders : {}) }
309
+ }, capabilities.serverOptions);
310
+ }
311
+ catch (e) {
312
+ throw OgcOpenApiGetCapabilities.toError(e, href);
313
+ }
314
+ if (response.status === 404)
315
+ return null;
316
+ if (response.status !== 200)
317
+ throw new Error("Invalid response: " + response.status + " for " + href);
318
+ let data;
319
+ try {
320
+ data = await response.json();
321
+ }
322
+ catch (e) {
323
+ throw new Error("Not JSON data for " + href);
324
+ }
325
+ if (!data || typeof data !== "object" || Array.isArray(data))
326
+ throw new Error("Invalid format: (not a JSON Schema) in " + href);
327
+ return data;
328
+ }
329
+ // The queryables link of the collection, in JSON. Some servers (ldproxy, PDOK) list it only in the collection
330
+ // document, not in /collections: then the path of the standard, /collections/{collectionId}/queryables, for a
331
+ // collection with features. Other collections have no queryables, '' then
332
+ static getQueryablesHref(capabilities, collection) {
333
+ const links = collection.links ? collection.links : [];
334
+ const queryables = links.filter(l => isRel(l, "queryables"));
335
+ const link = QUERYABLES_MEDIA_TYPES.map(type => queryables.find(l => l.type === type)).find(l => l) ||
336
+ queryables.find(l => !l.type);
337
+ if (link)
338
+ return link.href;
339
+ if (OgcOpenApiGetCapabilities.filterCollectionLinks(links, CollectionLinkType.Items).length === 0)
340
+ return '';
341
+ // The self link keeps its query, such as f=json (PDOK)
342
+ const self = links.find(l => l.rel === "self" && (!l.type || l.type === "application/json"));
343
+ const collectionHref = self ? self.href : capabilities.baseUrl + "collections/" + encodeURIComponent(collection.id);
344
+ return OgcOpenApiFetchTools.appendPath(collectionHref, "queryables");
345
+ }
266
346
  /**
267
347
  * Whether the server tiles the dataset as a whole, all its collections in each tile, for linkType Tiles or VectorTiles
268
348
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OgcOpenApiGetCapabilities.js","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OgcOpenApiGetCapabilities.js","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ogcopenapis",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "OGC API Features, Maps, Tiles and Styles for LuciadRIA",
5
5
  "type": "module",
6
6
  "exports": {
@@ -25,6 +25,22 @@ export interface OgcOpenApiFeatureStoreConstructorOptions {
25
25
  extent?: { spatial: { bbox: any[] } };
26
26
  crs: string;
27
27
  proxify?: ProxifyFunction
28
+ // Called once for each query that succeeds, with what the response says about its size
29
+ onQueryResult?: (result: OgcOpenApiFeatureQueryResult) => void;
30
+ }
31
+
32
+ // What the response to a query says about its size (OGC API Features Part 1)
33
+ export interface OgcOpenApiFeatureQueryResult {
34
+ // The request, and the query it was made from
35
+ url: string;
36
+ query: OgcOpenApiFeatureStoreQueryOptions;
37
+ // The number of features that match the query, left out when the server gives none (it is optional, PDOK)
38
+ numberMatched?: number;
39
+ // The number of features in the response. Servers cap limit: it can be less than limit (pygeoapi gives 10)
40
+ numberReturned?: number;
41
+ // The response links a next page. Left out when the response has no links to tell: a GML response whose Link
42
+ // header the browser may not read (CORS)
43
+ hasNext?: boolean;
28
44
  }
29
45
 
30
46
  export interface OgcOpenApiFeatureStoreQueryOptions {
@@ -86,11 +102,13 @@ export class OgcOpenApiFeatureStore extends Store {
86
102
  private credentials: boolean;
87
103
  private serverOptions: { proxy: (url: string, fetchOptions) => { fetchOptions: any; url: string }; hostname: string; complete: (url: string) => string };
88
104
  private swapAxes: string[] | undefined;
105
+ private onQueryResult: ((result: OgcOpenApiFeatureQueryResult) => void) | undefined;
89
106
 
90
107
  constructor(options: OgcOpenApiFeatureStoreConstructorOptions) {
91
108
  super();
92
109
  // console.log(options);
93
110
  this.swapAxes = options.swapAxes;
111
+ this.onQueryResult = options.onQueryResult;
94
112
  this.useCrs84Bounds = typeof options.useCrs84Bounds !== "undefined" ? options.useCrs84Bounds : false;
95
113
  this.dataUrl = options.dataUrl;
96
114
  this.outputFormat = options.outputFormat;
@@ -152,7 +170,7 @@ export class OgcOpenApiFeatureStore extends Store {
152
170
  query.f = query.f ? query.f : this.dataFormat;
153
171
  query.crs = query.crs ? query.crs : this.customCrs;
154
172
  query.limit = query.limit ? query.limit : undefined;
155
- return this.fetchFeatures(this.withQuery(this.baseUrl, query), options?.abortSignal);
173
+ return this.fetchFeatures(this.withQuery(this.baseUrl, query), options?.abortSignal, query);
156
174
  }
157
175
 
158
176
  // The parameters of the items link, then those of the request, which replace a link parameter of the same name.
@@ -169,7 +187,8 @@ export class OgcOpenApiFeatureStore extends Store {
169
187
 
170
188
  // Fetches and decodes features. The promise always settles: it rejects with the reason when the request,
171
189
  // the response or the decoding fails, and when LuciadRIA aborts the request through abortSignal.
172
- private fetchFeatures(request: string, abortSignal?: AbortSignal): Promise<Cursor> {
190
+ // A query is reported to onQueryResult once its features are decoded, unless it was aborted
191
+ private fetchFeatures(request: string, abortSignal?: AbortSignal, query?: OgcOpenApiFeatureStoreQueryOptions): Promise<Cursor> {
173
192
  // Mod starta
174
193
  const itemsAccept =
175
194
  typeof this.requestHeaders.accept !== 'undefined'
@@ -203,10 +222,13 @@ export class OgcOpenApiFeatureStore extends Store {
203
222
  const codecOptions: OgcOpenApiFeaturesCodecDecodeOptions = {
204
223
  content, contentType, contentCrs, contentLength
205
224
  };
206
- if (this.codec instanceof GeoJsonCodec || this.codec instanceof GMLCodec) {
207
- return this.codec.decode({...codecOptions, reference: getReference(OgcOpenApiCrsTools.getReferenceName(contentCrs))});
225
+ const cursor = this.codec instanceof GeoJsonCodec || this.codec instanceof GMLCodec ?
226
+ this.codec.decode({...codecOptions, reference: getReference(OgcOpenApiCrsTools.getReferenceName(contentCrs))}) :
227
+ this.codec.decode(codecOptions);
228
+ if (query && this.onQueryResult && !abortSignal?.aborted) {
229
+ this.onQueryResult({url: request, query, ...OgcOpenApiFeatureStore.getResultSize(content, contentType, response.headers.get('Link'))});
208
230
  }
209
- return this.codec.decode(codecOptions);
231
+ return cursor;
210
232
  });
211
233
  });
212
234
  }
@@ -251,6 +273,47 @@ export class OgcOpenApiFeatureStore extends Store {
251
273
  return this.query(query, options);
252
274
  }
253
275
 
276
+ // The size of a response: the members of a JSON response, or the attributes of the root element of GML, and the
277
+ // next link of the response or of its Link header
278
+ private static getResultSize(content: string, contentType: string, linkHeader: string | null) {
279
+ const size: { numberMatched?: number, numberReturned?: number, hasNext?: boolean } = {};
280
+ const count = (value: any) => {
281
+ const n = typeof value === "string" ? (/^\d+$/.test(value) ? Number(value) : undefined) : value;
282
+ return typeof n === "number" && isFinite(n) && n >= 0 ? n : undefined;
283
+ };
284
+ if (/json/i.test(contentType)) {
285
+ let data: any;
286
+ try {
287
+ data = JSON.parse(content);
288
+ } catch (e) {
289
+ data = undefined;
290
+ }
291
+ if (data && typeof data === "object") {
292
+ size.numberMatched = count(data.numberMatched);
293
+ size.numberReturned = count(data.numberReturned);
294
+ if (Array.isArray(data.links)) size.hasNext = data.links.some(l => l && l.rel === "next");
295
+ }
296
+ } else if (/xml/i.test(contentType)) {
297
+ // WFS 2.0 allows numberMatched="unknown"
298
+ const root = /<(?:[\w.-]+:)?FeatureCollection\b([^>]*)>/.exec(content);
299
+ const attribute = (name: string) => {
300
+ const match = root ? new RegExp("\\s" + name + "=[\"']([^\"']*)[\"']").exec(root[1]) : null;
301
+ return match ? count(match[1]) : undefined;
302
+ };
303
+ size.numberMatched = attribute("numberMatched");
304
+ size.numberReturned = attribute("numberReturned");
305
+ }
306
+ if (linkHeader) {
307
+ const next = linkHeader.split(/,\s*(?=<)/).some(link => {
308
+ const rel = /;\s*rel\s*=\s*"?([^";]*)"?/i.exec(link);
309
+ return rel !== null && rel[1].split(/\s+/).indexOf("next") > -1;
310
+ });
311
+ size.hasNext = size.hasNext || next;
312
+ }
313
+ for (const key of Object.keys(size)) if (typeof size[key] === "undefined") delete size[key];
314
+ return size;
315
+ }
316
+
254
317
  private static getCRS84BoundingBox(shape: Bounds) {
255
318
  const WGS84 = getReference("CRS:84");
256
319
  const bounds = shape.bounds;
@@ -22,6 +22,36 @@ export const COLLECTIONS_SELECTION_CONFORMANCE = "http://www.opengis.net/spec/og
22
22
  // collections parameter as the standard requires. To be removed once ldproxy declares the class of the standard
23
23
  export const COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS = ["http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/collection-selection"];
24
24
 
25
+ // The conformance class of OGC API Features Part 3 for the filter parameter of the items of a collection
26
+ export const FEATURES_FILTER_CONFORMANCE = "http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter";
27
+ // The conformance classes of CQL2 1.0 (OGC 21-065) share this prefix, the encodings and the levels of the language
28
+ export const CQL2_CONFORMANCE_PREFIX = "http://www.opengis.net/spec/cql2/1.0/conf/";
29
+ // The CQL2 encodings, as conformance classes name them. They are also the values of the filter-lang parameter
30
+ export const CQL2_ENCODINGS = ["cql2-text", "cql2-json"];
31
+
32
+ export interface OgcOpenApiFilterSupport {
33
+ // The server declares the Features Filter class of OGC API Features Part 3: the items of its collections take a filter
34
+ filter: boolean;
35
+ // The CQL2 encodings the server declares, cql2-text or cql2-json
36
+ encodings: string[];
37
+ // The other CQL2 classes the server declares, such as basic-cql2, advanced-comparison-operators or spatial-functions
38
+ levels: string[];
39
+ }
40
+
41
+ // The queryables of a collection (OGC API Features Part 3): a JSON Schema, as the server sends it. Each property has
42
+ // a JSON Schema of its own, with type, format, title, enum or x-ogc-role among others
43
+ export interface OgcOpenApiQueryables {
44
+ $schema?: string;
45
+ $id?: string;
46
+ type?: string;
47
+ title?: string;
48
+ properties?: { [name: string]: { [keyword: string]: any } };
49
+ [keyword: string]: any;
50
+ }
51
+
52
+ // The media types of a queryables document, in the order they are preferred
53
+ const QUERYABLES_MEDIA_TYPES = ["application/schema+json", "application/json"];
54
+
25
55
  export interface TileMatrix {
26
56
  id: string,
27
57
  scaleDenominator: number;
@@ -450,6 +480,76 @@ export class OgcOpenApiGetCapabilities {
450
480
  COLLECTIONS_SELECTION_CONFORMANCE_VARIANTS.some(variant => conformsTo.indexOf(variant) > -1);
451
481
  }
452
482
 
483
+ /**
484
+ * Whether, and how, the server filters features, as its conformance classes declare: the Features Filter class of
485
+ * OGC API Features Part 3, and the CQL2 1.0 classes by their names, in the order the server lists them. Each is
486
+ * reported as declared, a CQL2 encoding without the Features Filter class gives filter false. Pre-standard CQL
487
+ * classes (ogcapi-features-3/1.0/conf/cql-text) are not CQL2 and are left out.
488
+ */
489
+ public static getFilterSupport(capabilities: OgcOpenApiCapabilitiesObject | null): OgcOpenApiFilterSupport {
490
+ const conformsTo = capabilities && capabilities.conformsTo ? capabilities.conformsTo : [];
491
+ const cql2 = conformsTo
492
+ .filter(uri => uri.indexOf(CQL2_CONFORMANCE_PREFIX) === 0)
493
+ .map(uri => uri.substring(CQL2_CONFORMANCE_PREFIX.length));
494
+ return {
495
+ filter: conformsTo.indexOf(FEATURES_FILTER_CONFORMANCE) > -1,
496
+ encodings: cql2.filter(name => CQL2_ENCODINGS.indexOf(name) > -1),
497
+ levels: cql2.filter(name => CQL2_ENCODINGS.indexOf(name) === -1),
498
+ };
499
+ }
500
+
501
+ /**
502
+ * Fetches the queryables of a collection (OGC API Features Part 3), the properties a filter can use: a JSON Schema,
503
+ * as the server sends it. Resolves null for a collection that has none: a collection without features, or a
504
+ * queryables request that answers 404. Rejects with an Error otherwise, and with the error of the request as it is
505
+ * when it fails, an AbortError included.
506
+ */
507
+ public static async fetchQueryables(
508
+ capabilities: OgcOpenApiCapabilitiesObject | null,
509
+ collection: OgcOpenApiCapabilitiesCollection,
510
+ options?: {credentials?: boolean, requestHeaders?: RequestHeaders}
511
+ ): Promise<OgcOpenApiQueryables | null> {
512
+ if (capabilities === null) throw new Error("No capabilities to fetch the queryables of " + collection.id);
513
+ const href = OgcOpenApiGetCapabilities.getQueryablesHref(capabilities, collection);
514
+ if (!href) return null;
515
+ let response: Response;
516
+ try {
517
+ response = await OgcOpenApiFetchTools.fetch(href, {
518
+ method: "GET",
519
+ credentials: options?.credentials ? "same-origin" : "omit",
520
+ headers: {Accept: QUERYABLES_MEDIA_TYPES.join(", "), ...(options?.requestHeaders ? options.requestHeaders : {})}
521
+ }, capabilities.serverOptions);
522
+ } catch (e) {
523
+ throw OgcOpenApiGetCapabilities.toError(e, href);
524
+ }
525
+ if (response.status === 404) return null;
526
+ if (response.status !== 200) throw new Error("Invalid response: " + response.status + " for " + href);
527
+ let data: any;
528
+ try {
529
+ data = await response.json();
530
+ } catch (e) {
531
+ throw new Error("Not JSON data for " + href);
532
+ }
533
+ if (!data || typeof data !== "object" || Array.isArray(data)) throw new Error("Invalid format: (not a JSON Schema) in " + href);
534
+ return data;
535
+ }
536
+
537
+ // The queryables link of the collection, in JSON. Some servers (ldproxy, PDOK) list it only in the collection
538
+ // document, not in /collections: then the path of the standard, /collections/{collectionId}/queryables, for a
539
+ // collection with features. Other collections have no queryables, '' then
540
+ private static getQueryablesHref(capabilities: OgcOpenApiCapabilitiesObject, collection: OgcOpenApiCapabilitiesCollection) {
541
+ const links = collection.links ? collection.links : [];
542
+ const queryables = links.filter(l => isRel(l, "queryables"));
543
+ const link = QUERYABLES_MEDIA_TYPES.map(type => queryables.find(l => l.type === type)).find(l => l) ||
544
+ queryables.find(l => !l.type);
545
+ if (link) return link.href;
546
+ if (OgcOpenApiGetCapabilities.filterCollectionLinks(links, CollectionLinkType.Items).length === 0) return '';
547
+ // The self link keeps its query, such as f=json (PDOK)
548
+ const self = links.find(l => l.rel === "self" && (!l.type || l.type === "application/json"));
549
+ const collectionHref = self ? self.href : capabilities.baseUrl + "collections/" + encodeURIComponent(collection.id);
550
+ return OgcOpenApiFetchTools.appendPath(collectionHref, "queryables");
551
+ }
552
+
453
553
  /**
454
554
  * Whether the server tiles the dataset as a whole, all its collections in each tile, for linkType Tiles or VectorTiles
455
555
  */