ogcopenapis 0.0.12 → 1.0.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.
Files changed (60) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +310 -72
  3. package/lib/OgcOpenApiCrsTools.d.ts +10 -9
  4. package/lib/OgcOpenApiCrsTools.d.ts.map +1 -0
  5. package/lib/OgcOpenApiCrsTools.js +40 -39
  6. package/lib/OgcOpenApiCrsTools.js.map +1 -0
  7. package/lib/OgcOpenApiFeatureStore.d.ts +94 -93
  8. package/lib/OgcOpenApiFeatureStore.d.ts.map +1 -0
  9. package/lib/OgcOpenApiFeatureStore.js +200 -244
  10. package/lib/OgcOpenApiFeatureStore.js.map +1 -0
  11. package/lib/OgcOpenApiFetchTools.d.ts +37 -30
  12. package/lib/OgcOpenApiFetchTools.d.ts.map +1 -0
  13. package/lib/OgcOpenApiFetchTools.js +68 -50
  14. package/lib/OgcOpenApiFetchTools.js.map +1 -0
  15. package/lib/OgcOpenApiGetCapabilities.d.ts +209 -112
  16. package/lib/OgcOpenApiGetCapabilities.d.ts.map +1 -0
  17. package/lib/OgcOpenApiGetCapabilities.js +424 -277
  18. package/lib/OgcOpenApiGetCapabilities.js.map +1 -0
  19. package/lib/OgcOpenApiMapsModel.d.ts +41 -36
  20. package/lib/OgcOpenApiMapsModel.d.ts.map +1 -0
  21. package/lib/OgcOpenApiMapsModel.js +88 -75
  22. package/lib/OgcOpenApiMapsModel.js.map +1 -0
  23. package/lib/OgcOpenApiMvtTools.d.ts +12 -0
  24. package/lib/OgcOpenApiMvtTools.d.ts.map +1 -0
  25. package/lib/OgcOpenApiMvtTools.js +100 -0
  26. package/lib/OgcOpenApiMvtTools.js.map +1 -0
  27. package/lib/OgcOpenApiStyleTools.d.ts +51 -0
  28. package/lib/OgcOpenApiStyleTools.d.ts.map +1 -0
  29. package/lib/OgcOpenApiStyleTools.js +155 -0
  30. package/lib/OgcOpenApiStyleTools.js.map +1 -0
  31. package/lib/OgcOpenApiTileMatrixTools.d.ts +41 -0
  32. package/lib/OgcOpenApiTileMatrixTools.d.ts.map +1 -0
  33. package/lib/OgcOpenApiTileMatrixTools.js +88 -0
  34. package/lib/OgcOpenApiTileMatrixTools.js.map +1 -0
  35. package/lib/OgcOpenApiTilesModel.d.ts +56 -31
  36. package/lib/OgcOpenApiTilesModel.d.ts.map +1 -0
  37. package/lib/OgcOpenApiTilesModel.js +167 -128
  38. package/lib/OgcOpenApiTilesModel.js.map +1 -0
  39. package/lib/OgcOpenApiVectorTilesModel.d.ts +39 -0
  40. package/lib/OgcOpenApiVectorTilesModel.d.ts.map +1 -0
  41. package/lib/OgcOpenApiVectorTilesModel.js +122 -0
  42. package/lib/OgcOpenApiVectorTilesModel.js.map +1 -0
  43. package/lib/OgcOpenApiWmtsTools.d.ts +30 -0
  44. package/lib/OgcOpenApiWmtsTools.d.ts.map +1 -0
  45. package/lib/OgcOpenApiWmtsTools.js +89 -0
  46. package/lib/OgcOpenApiWmtsTools.js.map +1 -0
  47. package/package.json +56 -27
  48. package/src/OgcOpenApiCrsTools.ts +40 -0
  49. package/src/OgcOpenApiFeatureStore.ts +296 -0
  50. package/src/OgcOpenApiFetchTools.ts +84 -0
  51. package/src/OgcOpenApiGetCapabilities.ts +641 -0
  52. package/src/OgcOpenApiMapsModel.ts +128 -0
  53. package/src/OgcOpenApiMvtTools.ts +104 -0
  54. package/src/OgcOpenApiStyleTools.ts +187 -0
  55. package/src/OgcOpenApiTileMatrixTools.ts +111 -0
  56. package/src/OgcOpenApiTilesModel.ts +214 -0
  57. package/src/OgcOpenApiVectorTilesModel.ts +141 -0
  58. package/src/OgcOpenApiWmtsTools.ts +114 -0
  59. package/lib/OgcOpenApiGetCollectionTiles.d.ts +0 -7
  60. package/lib/OgcOpenApiGetCollectionTiles.js +0 -7
@@ -1,50 +1,68 @@
1
- class OgcOpenApiFetchTools {
2
- static createFetchOptions(options) {
3
- const hostname = this.getHostURL(options.originalUrl);
4
- return {
5
- hostname: hostname,
6
- complete: typeof options.complete === "function" ? options.complete : (url) => {
7
- return this.addHostURL(url, hostname);
8
- },
9
- proxy: typeof options.proxify === "function" ? options.proxify : (url, fetchOptions) => ({
10
- url: url,
11
- fetchOptions: fetchOptions
12
- })
13
- };
14
- }
15
- static fetch(input, options, serverOptions) {
16
- const fullUrl = serverOptions.complete(input);
17
- const result = serverOptions.proxy(fullUrl, options);
18
- return fetch(result.url, result.fetchOptions);
19
- }
20
- static addHostURL(url, HostUrl) {
21
- if (typeof url === "undefined")
22
- return url;
23
- const hostUrl = HostUrl ? HostUrl : "";
24
- if (url.startsWith("http://") || url.startsWith("https://")) {
25
- return url;
26
- }
27
- else {
28
- if (url.startsWith("/"))
29
- return hostUrl + url;
30
- if (url.startsWith("./"))
31
- return hostUrl + url.substring(1);
32
- }
33
- return hostUrl + "/" + url;
34
- }
35
- static cleanUrl(inputUrl) {
36
- return inputUrl.split("?")[0].replace(/\/?$/, '/');
37
- }
38
- static cleanUrlToAsset(inputUrl) {
39
- return inputUrl.split("?")[0].replace(/\/?$/, '');
40
- }
41
- static getHostURL(fullUrl) {
42
- if (!fullUrl.startsWith("http"))
43
- return "";
44
- const pathArray = fullUrl.split('/');
45
- const protocol = pathArray[0];
46
- const host = pathArray[2];
47
- return protocol + '//' + host;
48
- }
49
- }
50
- export { OgcOpenApiFetchTools };
1
+ // Stand-ins for the braces of URL templates while resolving, URL keeps them as they are
2
+ const OPEN_BRACE = "__OGC_OPEN_BRACE__";
3
+ const CLOSE_BRACE = "__OGC_CLOSE_BRACE__";
4
+ class OgcOpenApiFetchTools {
5
+ static createFetchOptions(options) {
6
+ const hostname = this.getHostURL(options.originalUrl);
7
+ return {
8
+ hostname: hostname,
9
+ complete: typeof options.complete === "function" ? options.complete : (url) => {
10
+ return this.addHostURL(url, hostname);
11
+ },
12
+ proxy: typeof options.proxify === "function" ? options.proxify : (url, fetchOptions) => ({
13
+ url: url,
14
+ fetchOptions: fetchOptions
15
+ })
16
+ };
17
+ }
18
+ static fetch(input, options, serverOptions) {
19
+ const fullUrl = serverOptions.complete(input);
20
+ const result = serverOptions.proxy(fullUrl, options);
21
+ return fetch(result.url, result.fetchOptions);
22
+ }
23
+ /**
24
+ * A link of a document, resolved against the URL of that document (RFC 3986): ./x, ../x, x, /x and //host/x.
25
+ * Absolute links are kept as they are. Without an absolute document URL, as behind a relative proxy path, the link
26
+ * is completed with the host of the server.
27
+ */
28
+ static resolveUrl(href, documentUrl, serverOptions) {
29
+ if (typeof href !== "string" || /^[a-z][a-z0-9+.-]*:/i.test(href))
30
+ return href;
31
+ if (!/^https?:\/\//i.test(documentUrl))
32
+ return serverOptions.complete(href);
33
+ // URL encodes { and } in paths, which tile URL templates use: {tileMatrix}/{tileRow}/{tileCol}
34
+ const resolved = new URL(href.replace(/\{/g, OPEN_BRACE).replace(/}/g, CLOSE_BRACE), documentUrl).href;
35
+ return resolved.split(OPEN_BRACE).join("{").split(CLOSE_BRACE).join("}");
36
+ }
37
+ static addHostURL(url, HostUrl) {
38
+ if (typeof url === "undefined")
39
+ return url;
40
+ const hostUrl = HostUrl ? HostUrl : "";
41
+ if (url.startsWith("http://") || url.startsWith("https://")) {
42
+ return url;
43
+ }
44
+ else {
45
+ if (url.startsWith("/"))
46
+ return hostUrl + url;
47
+ if (url.startsWith("./"))
48
+ return hostUrl + url.substring(1);
49
+ }
50
+ return hostUrl + "/" + url;
51
+ }
52
+ static cleanUrl(inputUrl) {
53
+ return inputUrl.split("?")[0].replace(/\/?$/, '/');
54
+ }
55
+ static cleanUrlToAsset(inputUrl) {
56
+ return inputUrl.split("?")[0].replace(/\/?$/, '');
57
+ }
58
+ static getHostURL(fullUrl) {
59
+ if (!fullUrl.startsWith("http"))
60
+ return "";
61
+ const pathArray = fullUrl.split('/');
62
+ const protocol = pathArray[0];
63
+ const host = pathArray[2];
64
+ return protocol + '//' + host;
65
+ }
66
+ }
67
+ export { OgcOpenApiFetchTools };
68
+ //# sourceMappingURL=OgcOpenApiFetchTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiFetchTools.js","sourceRoot":"","sources":["../src/OgcOpenApiFetchTools.ts"],"names":[],"mappings":"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"}
@@ -1,112 +1,209 @@
1
- import { FetchServerOptions } from "./OgcOpenApiFetchTools";
2
- type RequestHeaders = {
3
- [headerName: string]: string;
4
- } | null;
5
- export interface LinkType {
6
- rel: string;
7
- type: string;
8
- title: string;
9
- href: string;
10
- }
11
- interface TileMatrix {
12
- id: string;
13
- scaleDenominator: number;
14
- cellSize: number;
15
- cornerOfOrigin: string;
16
- pointOfOrigin: number[];
17
- matrixWidth: number;
18
- matrixHeight: number;
19
- tileWidth: number;
20
- tileHeight: number;
21
- variableMatrixWidths: {
22
- coalesce: number;
23
- minTileRow: number;
24
- maxTileRow: number;
25
- }[];
26
- }
27
- export interface TileSetData {
28
- id: string;
29
- title: string;
30
- uri: string;
31
- crs: string;
32
- orderedAxes: string[];
33
- tileMatrices: TileMatrix[];
34
- boundingBox: {
35
- lowerLeft: number[];
36
- upperRight: number[];
37
- };
38
- }
39
- export interface TileSetMeta {
40
- id: string;
41
- title: string;
42
- links: LinkType[];
43
- }
44
- export interface OgcOpenApiCapabilitiesObject {
45
- name: string;
46
- collections: OgcOpenApiCapabilitiesCollection[];
47
- version: string;
48
- service: string;
49
- info: any;
50
- crs?: any[];
51
- baseUrl: string;
52
- serverOptions: FetchServerOptions;
53
- }
54
- export interface OgcOpenApiCapabilitiesCollection {
55
- id: string;
56
- name: string;
57
- title: string;
58
- defaultReference: string;
59
- outputFormats: string[];
60
- description: string;
61
- keywords: string[];
62
- links: OgcOpenApiCapabilitiesCollectionServiceLinkType[];
63
- extent: any;
64
- crs?: any;
65
- storageCrs?: any;
66
- }
67
- export interface OgcOpenApiCapabilitiesCollectionServiceLinkType {
68
- rel: string;
69
- type: string;
70
- title: string;
71
- href: string;
72
- }
73
- export declare enum CollectionLinkType {
74
- Items = "items",
75
- Styles = "styles",
76
- Map = "map",
77
- Tiles = "tiles"
78
- }
79
- export type ProxifyFunction = (url: string, fetchOptions: RequestInit) => {
80
- url: string;
81
- fetchOptions: RequestInit;
82
- };
83
- export interface OgcOpenApiGetCapabilitiesFromURL {
84
- filterCollectionsByLinkType?: CollectionLinkType;
85
- credentials?: boolean;
86
- requestHeaders?: {
87
- [headerName: string]: string;
88
- } | null;
89
- proxify?: ProxifyFunction;
90
- }
91
- export declare class OgcOpenApiGetCapabilities {
92
- static fromURL(inputRequest: string, options?: OgcOpenApiGetCapabilitiesFromURL): Promise<OgcOpenApiCapabilitiesObject>;
93
- private static fetchLinkContentAsJSON;
94
- static filterCollectionLinks(links: OgcOpenApiCapabilitiesCollectionServiceLinkType[], linkType: CollectionLinkType): OgcOpenApiCapabilitiesCollectionServiceLinkType[];
95
- static getDataLink(currentLayer: OgcOpenApiCapabilitiesCollection, preferedFormat: string): string;
96
- private static detectTypeFormat;
97
- static fetchTileSetsInFull(capabilities: OgcOpenApiCapabilitiesObject | null, options?: {
98
- credentials?: boolean;
99
- requestHeaders?: RequestHeaders;
100
- }): Promise<TileSetData[]>;
101
- static getQuadTreeCompatibleLevelOffset(tileMatrixSet: TileSetData): number;
102
- private static fetchTileSets;
103
- static getTilesLink(capabilities: OgcOpenApiCapabilitiesObject | null, currentCollection: OgcOpenApiCapabilitiesCollection, tileMatrixId: string, options?: {
104
- credentials?: boolean;
105
- requestHeaders?: RequestHeaders;
106
- }): Promise<LinkType[]>;
107
- static fetchTileset(capabilities: OgcOpenApiCapabilitiesObject | null, tileset: TileSetMeta, options?: {
108
- credentials?: boolean;
109
- requestHeaders?: RequestHeaders;
110
- }): Promise<TileSetData>;
111
- }
112
- export {};
1
+ import { type FetchServerOptions } from "./OgcOpenApiFetchTools.js";
2
+ type RequestHeaders = {
3
+ [headerName: string]: string;
4
+ } | null;
5
+ export interface LinkType {
6
+ rel: string;
7
+ type: string;
8
+ title: string;
9
+ href: string;
10
+ }
11
+ export interface TileMatrix {
12
+ id: string;
13
+ scaleDenominator: number;
14
+ cellSize: number;
15
+ cornerOfOrigin: string;
16
+ pointOfOrigin: number[];
17
+ matrixWidth: number;
18
+ matrixHeight: number;
19
+ tileWidth: number;
20
+ tileHeight: number;
21
+ variableMatrixWidths: {
22
+ coalesce: number;
23
+ minTileRow: number;
24
+ maxTileRow: number;
25
+ }[];
26
+ }
27
+ export interface TileSetData {
28
+ id: string;
29
+ title: string;
30
+ uri: string;
31
+ crs: string;
32
+ orderedAxes: string[];
33
+ tileMatrices: TileMatrix[];
34
+ boundingBox: {
35
+ lowerLeft: number[];
36
+ upperRight: number[];
37
+ };
38
+ }
39
+ export interface TileSetLayer {
40
+ id: string;
41
+ title?: string;
42
+ dataType?: string;
43
+ geometryDimension?: number;
44
+ minTileMatrix?: string;
45
+ maxTileMatrix?: string;
46
+ }
47
+ export interface CollectionTileSetInfo {
48
+ tileMatrixSetURI?: string;
49
+ tileMatrixSetId?: string;
50
+ dataType?: string;
51
+ crs?: string;
52
+ href: string;
53
+ tilingSchemeHref?: string;
54
+ tileMatrixSet?: TileSetData;
55
+ }
56
+ export interface CollectionTileSet {
57
+ dataType?: string;
58
+ links: LinkType[];
59
+ layers: TileSetLayer[];
60
+ tileMatrixSetLimits?: TileMatrixLimits[];
61
+ boundingBox?: {
62
+ lowerLeft: number[];
63
+ upperRight: number[];
64
+ crs?: string;
65
+ };
66
+ }
67
+ export interface TileMatrixLimits {
68
+ tileMatrix: string;
69
+ minTileRow: number;
70
+ maxTileRow: number;
71
+ minTileCol: number;
72
+ maxTileCol: number;
73
+ }
74
+ export interface TileSetMeta {
75
+ id: string;
76
+ title: string;
77
+ links: LinkType[];
78
+ }
79
+ export interface OgcOpenApiCapabilitiesObject {
80
+ name: string;
81
+ collections: OgcOpenApiCapabilitiesCollection[];
82
+ version: string;
83
+ service: string;
84
+ info: any;
85
+ crs?: any[];
86
+ baseUrl: string;
87
+ tileMatrixSetsUrl?: string;
88
+ links?: LinkType[];
89
+ serverOptions: FetchServerOptions;
90
+ }
91
+ export interface OgcOpenApiCapabilitiesCollection {
92
+ id: string;
93
+ name: string;
94
+ title: string;
95
+ defaultReference: string;
96
+ outputFormats: string[];
97
+ description: string;
98
+ keywords: string[];
99
+ links: OgcOpenApiCapabilitiesCollectionServiceLinkType[];
100
+ extent: any;
101
+ crs?: any;
102
+ storageCrs?: any;
103
+ }
104
+ export interface OgcOpenApiCapabilitiesCollectionServiceLinkType {
105
+ rel: string;
106
+ type: string;
107
+ title: string;
108
+ href: string;
109
+ }
110
+ export declare enum CollectionLinkType {
111
+ Items = "items",
112
+ Styles = "styles",
113
+ Map = "map",
114
+ Tiles = "tiles",
115
+ VectorTiles = "vectorTiles"
116
+ }
117
+ export type ProxifyFunction = (url: string, fetchOptions: RequestInit) => {
118
+ url: string;
119
+ fetchOptions: RequestInit;
120
+ };
121
+ export interface OgcOpenApiGetCapabilitiesFromURL {
122
+ filterCollectionsByLinkType?: CollectionLinkType;
123
+ credentials?: boolean;
124
+ requestHeaders?: {
125
+ [headerName: string]: string;
126
+ } | null;
127
+ proxify?: ProxifyFunction;
128
+ }
129
+ export declare class OgcOpenApiGetCapabilities {
130
+ static fromURL(inputRequest: string, fromUrlOptions?: OgcOpenApiGetCapabilitiesFromURL): Promise<OgcOpenApiCapabilitiesObject>;
131
+ private static fetchLinkContentAsJSON;
132
+ static filterCollectionLinks(links: OgcOpenApiCapabilitiesCollectionServiceLinkType[], linkType: CollectionLinkType): OgcOpenApiCapabilitiesCollectionServiceLinkType[];
133
+ static getDataLink(currentLayer: OgcOpenApiCapabilitiesCollection, preferedFormat: string): string;
134
+ private static detectTypeFormat;
135
+ /**
136
+ * The tile matrix sets of the server, with their definitions. A definition that cannot be read is left out, so one
137
+ * broken definition does not hide the others. Rejects only when none can be read.
138
+ */
139
+ static fetchTileSetsInFull(capabilities: OgcOpenApiCapabilitiesObject | null, options?: {
140
+ credentials?: boolean;
141
+ requestHeaders?: RequestHeaders;
142
+ }): Promise<TileSetData[]>;
143
+ static getQuadTreeCompatibleLevelOffset(tileMatrixSet: TileSetData): number;
144
+ private static fetchTileSets;
145
+ private static fetchJson;
146
+ private static getTilingSchemeHref;
147
+ static getTilesLink(capabilities: OgcOpenApiCapabilitiesObject | null, currentCollection: OgcOpenApiCapabilitiesCollection, tileMatrixId: string, options?: {
148
+ credentials?: boolean;
149
+ requestHeaders?: RequestHeaders;
150
+ }, linkType?: CollectionLinkType): Promise<LinkType[]>;
151
+ private static getTileSetsHref;
152
+ private static getDatasetTileSetsHref;
153
+ /**
154
+ * Whether the server tiles the dataset as a whole, all its collections in each tile, for linkType Tiles or VectorTiles
155
+ */
156
+ static hasDatasetTileSets(capabilities: OgcOpenApiCapabilitiesObject | null, linkType: CollectionLinkType): boolean;
157
+ /**
158
+ * Lists the tilesets of a collection: the tile matrix sets the collection is tiled in, which can be fewer than the
159
+ * tile matrix sets of the server.
160
+ */
161
+ static fetchCollectionTileSets(capabilities: OgcOpenApiCapabilitiesObject | null, collection: OgcOpenApiCapabilitiesCollection, linkType?: CollectionLinkType, options?: {
162
+ credentials?: boolean;
163
+ requestHeaders?: RequestHeaders;
164
+ }): Promise<CollectionTileSetInfo[]>;
165
+ /**
166
+ * Lists the tilesets of the dataset (/tiles of the landing page): each tile has the data of all its collections.
167
+ * Some servers tile only the dataset (PDOK).
168
+ */
169
+ static fetchDatasetTileSets(capabilities: OgcOpenApiCapabilitiesObject | null, linkType?: CollectionLinkType, options?: {
170
+ credentials?: boolean;
171
+ requestHeaders?: RequestHeaders;
172
+ }): Promise<CollectionTileSetInfo[]>;
173
+ private static fetchTileSetList;
174
+ /**
175
+ * The tile matrix set of a tileset among the tile matrix sets of the server (fetchTileSetsInFull): by URI, which
176
+ * servers give with their own ids (CubeWerx: WebMercatorQuad is smerc), then by id.
177
+ */
178
+ static matchTileMatrixSet(tileSet: CollectionTileSetInfo, tileMatrixSets: TileSetData[]): TileSetData | undefined;
179
+ private static sameUri;
180
+ /**
181
+ * The tile matrix set of a tileset: matched among the tile matrix sets of the server, or otherwise fetched from the
182
+ * tiling-scheme link of the tileset. A tileset in a list of tilesets is a summary that need not identify its tile
183
+ * matrix set, then the tileset itself is read (CubeWerx).
184
+ */
185
+ static fetchTileMatrixSetOfTileSet(capabilities: OgcOpenApiCapabilitiesObject | null, tileSet: CollectionTileSetInfo, tileMatrixSets: TileSetData[], options?: {
186
+ credentials?: boolean;
187
+ requestHeaders?: RequestHeaders;
188
+ }): Promise<TileSetData>;
189
+ private static fetchTileSetIdentity;
190
+ private static getInlineTileMatrixSet;
191
+ /**
192
+ * Fetches the tileset of a collection for one tile matrix set: the tile URL templates (rel item) and, for vector
193
+ * tiles, the layers contained in each tile.
194
+ */
195
+ static fetchCollectionTileSet(capabilities: OgcOpenApiCapabilitiesObject | null, currentCollection: OgcOpenApiCapabilitiesCollection | null, tileMatrix: string | CollectionTileSetInfo, options?: {
196
+ credentials?: boolean;
197
+ requestHeaders?: RequestHeaders;
198
+ }, linkType?: CollectionLinkType): Promise<CollectionTileSet>;
199
+ /**
200
+ * Fetches the definition of a tile matrix set, by its JSON link as the server gives it: with the query that tells
201
+ * the server to answer JSON (f=json), if it has one.
202
+ */
203
+ static fetchTileset(capabilities: OgcOpenApiCapabilitiesObject | null, tileset: TileSetMeta, options?: {
204
+ credentials?: boolean;
205
+ requestHeaders?: RequestHeaders;
206
+ }): Promise<TileSetData>;
207
+ }
208
+ export {};
209
+ //# sourceMappingURL=OgcOpenApiGetCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiGetCapabilities.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"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"}