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 +22 -1
- package/README.md +63 -4
- package/lib/OgcOpenApiFeatureStore.d.ts +10 -0
- package/lib/OgcOpenApiFeatureStore.d.ts.map +1 -1
- package/lib/OgcOpenApiFeatureStore.js +55 -5
- package/lib/OgcOpenApiFeatureStore.js.map +1 -1
- package/lib/OgcOpenApiGetCapabilities.d.ts +38 -0
- package/lib/OgcOpenApiGetCapabilities.d.ts.map +1 -1
- package/lib/OgcOpenApiGetCapabilities.js +80 -0
- package/lib/OgcOpenApiGetCapabilities.js.map +1 -1
- package/package.json +1 -1
- package/src/OgcOpenApiFeatureStore.ts +68 -5
- package/src/OgcOpenApiGetCapabilities.ts +100 -0
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.
|
|
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
|
|
172
|
-
|
|
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":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACnG,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,KAAK,EAAE,KAAK,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AAQhF,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAGpE,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,GAAG,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,eAAe,CAAA;
|
|
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
|
-
|
|
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
|
-
|
|
120
|
-
|
|
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
|
|
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":"AAAA,OAAO,EAAoB,KAAK,EAA0B,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAAC,OAAO,EAAC,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,KAAK,EAA0B,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAC,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAC,oBAAoB,EAAC,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAE7D,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAyD/D,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAmB/C,YAAY,OAAiD;QAC3D,KAAK,EAAE,CAAC;QACR,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,OAAO,OAAO,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,MAAM,mBAAmB,GAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAE9J,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1G,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAC,CAAC,CAAC;QAEpH,IACE,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,MAAM,CAAC,OAAO;YACtB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAC3B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE;gBACpC,IAAI,CAAC,CAAC,CAAC;gBACP,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,CAAC,CAAC;gBACP,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oBAAoB,CAAC,UAA8B;QACjD,OAAO,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,cAAc,CAAC;IAC/D,CAAC;IAED,GAAG,CAAC,EAAmB,EAAE,YAAkB;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAuC,CAAC;QAC3F,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5H,CAAC;IAED,KAAK,CAAC,aAAkD,EAAE,OAAsB;QAC9E,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9C,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACnD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,gHAAgH;IAChH,wCAAwC;IAChC,SAAS,CAAC,GAAW,EAAE,UAAkC;QAC/D,MAAM,MAAM,GAAG,EAAC,GAAG,IAAI,CAAC,cAAc,EAAC,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7H,CAAC;IAED,yGAAyG;IACzG,iGAAiG;IACzF,aAAa,CAAC,OAAe,EAAE,WAAyB;QAC9D,aAAa;QACb,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,WAAW;YAC/C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,WAAW;gBACnD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC;QACT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,UAAU;QACV,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3D,OAAO,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAA,CAAC,CAAC,MAAM;YACrD,OAAO;YACP,MAAM,EAAE,WAAW;SACpB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtC,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9G,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAChE,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;gBACvD,yDAAyD;gBACzD,OAAO,GAAG,OAAO;qBACd,KAAK,CAAC,wDAAwD,CAAC;qBAC/D,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAyC;oBACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa;iBAChD,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,YAAY,YAAY,IAAI,IAAI,CAAC,KAAK,YAAY,QAAQ,EAAE,CAAC;oBACzE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC;gBACxH,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CACV,MAAe,EACf,aAAkD,EAClD,OAAsB;QAEtB,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAuC,CAAC;QAChG,OAAO,KAAK,CAAC,IAAI,CAAC;QAClB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACvE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;oBACnB,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC;wBACA,WAAW,CAAC,CAAC;wBACb,WAAW,CAAC,CAAC;wBACb,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK;wBACjC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM;qBACnC,CAAC;YACR,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;oBACnB,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC;wBACA,MAAM,CAAC,CAAC;wBACR,MAAM,CAAC,CAAC;wBACR,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;wBACvB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;qBACzB,CAAC;gBACN,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBACrC,CAAC;gBACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,KAAG,aAAa,CAAC,GAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,KAAa;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,qBAA0C;QACpF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAC7E,OAAO,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,QAAQ,GAAC,KAAK;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,GAAW;QAC3C,MAAM,UAAU,GAA8B,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK;YAAE,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACvF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
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;
|
|
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
|
@@ -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
|
-
|
|
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
|
-
|
|
207
|
-
|
|
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
|
|
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
|
*/
|