ogcopenapis 1.0.0 → 1.0.1
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 +63 -0
- package/README.md +8 -13
- package/package.json +3 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to ogcopenapis are in this file. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions follow
|
|
5
|
+
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
Each pull request adds its changes under Unreleased. A release renames Unreleased to its version and date.
|
|
8
|
+
|
|
9
|
+
## [Unreleased]
|
|
10
|
+
|
|
11
|
+
## [1.0.1] - 2026-10-27
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- The Features example of the README keeps the feature ids of the server, `new GeoJsonCodec({generateIDs: false})`.
|
|
15
|
+
`generateIDs: true` replaced them with ids of its own on every query: `get(id)` of the store then requested ids that
|
|
16
|
+
do not exist, and LuciadRIA re-added every feature on every query. The library is unchanged, the application passes
|
|
17
|
+
the codec.
|
|
18
|
+
|
|
19
|
+
## [1.0.0] - 2026-10-27
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- **BREAKING:** requires LuciadRIA 2026.1 or higher, as a peer dependency: the application installs its single copy,
|
|
23
|
+
the package never bundles it.
|
|
24
|
+
- **BREAKING:** the package is native ES modules (`"type": "module"`) with an `exports` map. Import components as
|
|
25
|
+
`ogcopenapis/OgcOpenApiFeatureStore`, the paths of 0.0.12 with `lib/` still work. TypeScript projects need
|
|
26
|
+
`moduleResolution` `bundler`, `node16` or `nodenext` for the paths without `lib/`.
|
|
27
|
+
- OgcOpenApiTilesModel uses LuciadRIA's WMTS support: create it with `createFromTileSet`, which handles tile matrix
|
|
28
|
+
sets that are not quad-trees and `tileMatrixSetLimits`.
|
|
29
|
+
- OgcOpenApiFeatureStore extends LuciadRIA's `Store`. Its requests always settle, and it supports `abortSignal`.
|
|
30
|
+
- `fetchTileSetsInFull` leaves out tile matrix sets whose definition cannot be read, instead of failing, and rejects
|
|
31
|
+
only when none can be read.
|
|
32
|
+
- OgcOpenApiMapsModel keeps the `f` value of the map link, such as `f=png`, and encodes its query.
|
|
33
|
+
- Tile matrix set definitions are requested by their link as the server gives it, with an `Accept: application/json`
|
|
34
|
+
header.
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
- Vector tiles (Mapbox Vector Tiles): OgcOpenApiVectorTilesModel, on LuciadRIA's MapboxVectorTileSetModel. It reads
|
|
38
|
+
the layers from a few tiles when a tileset does not list them (`discoverLayers`).
|
|
39
|
+
- OGC API Styles in the Mapbox GL encoding: OgcOpenApiStyleTools, with a stylesheet or a style per tile matrix set
|
|
40
|
+
(`pickStylesheet`, `getStylesForTileMatrixSet`) and a generated default style (`createDefaultStyle`).
|
|
41
|
+
- The tilesets of a collection, only the tile matrix sets it is tiled in: `fetchCollectionTileSets`, matched to the
|
|
42
|
+
tile matrix sets of the server by URI (`matchTileMatrixSet`, `fetchTileMatrixSetOfTileSet`).
|
|
43
|
+
- The tilesets of the dataset, all collections in each tile: `hasDatasetTileSets`, `fetchDatasetTileSets`, and
|
|
44
|
+
`fetchCollectionTileSet` with collection `null`.
|
|
45
|
+
- A tile matrix set included in a tileset is used as is.
|
|
46
|
+
- A demo, test servers with recorded, live and browser tests, and a check of the package as published.
|
|
47
|
+
|
|
48
|
+
### Deprecated
|
|
49
|
+
- The constructor `new OgcOpenApiTilesModel(options)`: it supports quad-tree tile matrix sets only.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Relative links are resolved against the URL of their document, instead of the host of the server.
|
|
53
|
+
- Tile matrix set URIs match regardless of `http`/`https`, the case of the host and a trailing slash.
|
|
54
|
+
- `orderedAxes` `Y, X` (EPSG:3035) is northing first: `pointOfOrigin` is read in that order.
|
|
55
|
+
- `fromURL` without options no longer hangs.
|
|
56
|
+
|
|
57
|
+
## 0.0.12 and earlier
|
|
58
|
+
|
|
59
|
+
See the [git history](https://github.com/felipecarrillo100/ogcopenapis/commits/main).
|
|
60
|
+
|
|
61
|
+
[Unreleased]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.0.1...HEAD
|
|
62
|
+
[1.0.1]: https://github.com/felipecarrillo100/ogcopenapis/compare/v1.0.0...v1.0.1
|
|
63
|
+
[1.0.0]: https://github.com/felipecarrillo100/ogcopenapis/releases/tag/v1.0.0
|
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ npm run test:record
|
|
|
63
63
|
GNOSIS (https://maps.gnosis.earth/ogcapi/) is in the list but not tested: its `/collections` response is 9 MB, and its tiles need a login.
|
|
64
64
|
|
|
65
65
|
The package check builds and packs the package, and checks it as published: only `lib/`, the sources of its source
|
|
66
|
-
maps, README, LICENSE and package.json are in it, nothing of LuciadRIA; `lib/` imports only its own modules and
|
|
66
|
+
maps, README, CHANGELOG, LICENSE and package.json are in it, nothing of LuciadRIA; `lib/` imports only its own modules and
|
|
67
67
|
`@luciad/ria`; [publint](https://publint.dev) and [Are the Types Wrong](https://arethetypeswrong.github.io) find no
|
|
68
68
|
problems; and every module loads through the package exports, installed in a `node_modules` folder, by Node's own
|
|
69
69
|
ES module loader, as in the tests of an application:
|
|
@@ -130,7 +130,7 @@ const items = OgcOpenApiGetCapabilities.filterCollectionLinks(collection.links,
|
|
|
130
130
|
const store = new OgcOpenApiFeatureStore({
|
|
131
131
|
dataUrl: items.find(l => l.type === "application/geo+json").href,
|
|
132
132
|
outputFormat: "application/geo+json",
|
|
133
|
-
codec: new GeoJsonCodec({generateIDs:
|
|
133
|
+
codec: new GeoJsonCodec({generateIDs: false}),
|
|
134
134
|
crs: "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
|
|
135
135
|
extent: collection.extent,
|
|
136
136
|
useCrs84Bounds: true,
|
|
@@ -140,6 +140,10 @@ map.layerTree.addChild(new FeatureLayer(model, {label: collection.title, loading
|
|
|
140
140
|
```
|
|
141
141
|
The store requests the features in view, a query does not follow the `next` links of a response yet (no paging).
|
|
142
142
|
|
|
143
|
+
Keep the ids of the server: `generateIDs: false`. Each feature of an OGC API Features collection has an id, `get(id)` of
|
|
144
|
+
the store requests `items/{id}` with it, and LuciadRIA updates only the features that changed when the ids stay the same
|
|
145
|
+
between queries. `generateIDs: true` replaces them with ids of its own on every query.
|
|
146
|
+
|
|
143
147
|
### Maps and map tiles
|
|
144
148
|
For maps and map tiles use OgcOpenApiMapsModel and OgcOpenApiTilesModel. OgcOpenApiMapsModel extends WMSTileSetModel
|
|
145
149
|
and OgcOpenApiTilesModel extends WMTSTileSetModel, so you use them in combination with RasterTileSetLayer.
|
|
@@ -291,17 +295,8 @@ which MapEvolution uses) do. The WKT of epsg.io that the demo uses has no `AXIS`
|
|
|
291
295
|
level 0, and does not request tiles outside the `tileMatrixSetLimits` of the tileset.
|
|
292
296
|
* LuciadRIA 2026.1.1 does not paint Mapbox `circle` layers. The default style draws points as a text symbol for that reason.
|
|
293
297
|
|
|
294
|
-
## Changes
|
|
295
|
-
|
|
296
|
-
* It requires LuciadRIA 2026.1 or higher, as a peer dependency: the application installs it.
|
|
297
|
-
* The package is native ES modules (`"type": "module"`), with an `exports` map. Import components as
|
|
298
|
-
`ogcopenapis/OgcOpenApiFeatureStore`, the paths with `lib/` still work.
|
|
299
|
-
* New: vector tiles (OgcOpenApiVectorTilesModel), OGC API Styles (OgcOpenApiStyleTools), the tilesets of a collection
|
|
300
|
-
(`fetchCollectionTileSets`) and of the dataset (`fetchDatasetTileSets`).
|
|
301
|
-
* OgcOpenApiTilesModel uses LuciadRIA's WMTS support, create it with `createFromTileSet`. The constructor is deprecated.
|
|
302
|
-
* OgcOpenApiFeatureStore extends LuciadRIA's `Store`.
|
|
303
|
-
* `fetchTileSetsInFull` leaves out tile matrix sets whose definition cannot be read, instead of failing.
|
|
304
|
-
* Relative links are resolved against the document that has them, instead of the host of the server.
|
|
298
|
+
## Changes
|
|
299
|
+
See [CHANGELOG.md](CHANGELOG.md) for the changes of each version.
|
|
305
300
|
|
|
306
301
|
## Requirements
|
|
307
302
|
* LuciadRIA 2026.1 or higher, a peer dependency that the application installs (place it on a local npm repository,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ogcopenapis",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "OGC API Features, Maps, Tiles and Styles for LuciadRIA",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"lib/",
|
|
19
19
|
"src/",
|
|
20
20
|
"!src/**/*.test.ts",
|
|
21
|
-
"!src/fixtures/"
|
|
21
|
+
"!src/fixtures/",
|
|
22
|
+
"CHANGELOG.md"
|
|
22
23
|
],
|
|
23
24
|
"sideEffects": false,
|
|
24
25
|
"scripts": {
|