@loaders.gl/wms 3.3.0-alpha.8 → 3.3.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 (257) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +6 -0
  4. package/dist/dist.min.js +4141 -1479
  5. package/dist/es5/bundle.js.map +1 -1
  6. package/dist/es5/index.js +77 -0
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/lerc-loader.js +74 -0
  9. package/dist/es5/lerc-loader.js.map +1 -0
  10. package/dist/es5/lib/data-sources/adhoc-image-service.js +129 -0
  11. package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
  12. package/dist/es5/lib/data-sources/arcgis-image-service.js +180 -0
  13. package/dist/es5/lib/data-sources/arcgis-image-service.js.map +1 -0
  14. package/dist/es5/lib/data-sources/create-image-source.js +45 -0
  15. package/dist/es5/lib/data-sources/create-image-source.js.map +1 -0
  16. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js +179 -0
  17. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  18. package/dist/es5/lib/data-sources/image-services/image-service.js +163 -0
  19. package/dist/es5/lib/data-sources/image-services/image-service.js.map +1 -0
  20. package/dist/es5/lib/data-sources/image-services/wms-service.js +400 -0
  21. package/dist/es5/lib/data-sources/image-services/wms-service.js.map +1 -0
  22. package/dist/es5/lib/data-sources/image-source.js +14 -0
  23. package/dist/es5/lib/data-sources/image-source.js.map +1 -0
  24. package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
  25. package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
  26. package/dist/es5/lib/gml/parse-gml.js +416 -0
  27. package/dist/es5/lib/gml/parse-gml.js.map +1 -0
  28. package/dist/es5/lib/lerc/lerc-types.js +2 -0
  29. package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
  30. package/dist/es5/lib/wcs/parse-wcs.js +43 -0
  31. package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
  32. package/dist/es5/lib/wcs/wcs-types.js +2 -0
  33. package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
  34. package/dist/es5/lib/wfs/parse-wfs.js +43 -0
  35. package/dist/es5/lib/wfs/parse-wfs.js.map +1 -0
  36. package/dist/es5/lib/wfs/wfs-types.js +2 -0
  37. package/dist/es5/lib/wfs/wfs-types.js.map +1 -0
  38. package/dist/es5/lib/wms/parse-wms.js +135 -0
  39. package/dist/es5/lib/wms/parse-wms.js.map +1 -0
  40. package/dist/es5/{wms-types.js → lib/wms/wms-types.js} +0 -0
  41. package/dist/{esm → es5/lib/wms}/wms-types.js.map +1 -1
  42. package/dist/es5/lib/wmts/parse-wmts.js +43 -0
  43. package/dist/es5/lib/wmts/parse-wmts.js.map +1 -0
  44. package/dist/es5/lib/wmts/wmts-types.js +2 -0
  45. package/dist/es5/lib/wmts/wmts-types.js.map +1 -0
  46. package/dist/es5/wip/arcgis-feature-service.js +45 -0
  47. package/dist/es5/wip/arcgis-feature-service.js.map +1 -0
  48. package/dist/es5/wip/data-source.js +4 -0
  49. package/dist/es5/wip/data-source.js.map +1 -0
  50. package/dist/es5/wip/gml-loader.js +54 -0
  51. package/dist/es5/wip/gml-loader.js.map +1 -0
  52. package/dist/es5/wip/wcs-capabilities-loader.js +54 -0
  53. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
  54. package/dist/es5/wip/wfs-capabilities-loader.js +54 -0
  55. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
  56. package/dist/es5/wip/wms-feature-info-loader.js +44 -0
  57. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
  58. package/dist/es5/wip/wms-layer-description-loader.js +44 -0
  59. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
  60. package/dist/es5/wip/wms-layer-description-loader.md.disabled.md +47 -0
  61. package/dist/es5/wip/wmts-capabilities-loader.js +54 -0
  62. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
  63. package/dist/es5/wms-capabilities-loader.js +7 -6
  64. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  65. package/dist/es5/wms-error-loader.js +70 -0
  66. package/dist/es5/wms-error-loader.js.map +1 -0
  67. package/dist/esm/bundle.js +1 -0
  68. package/dist/esm/bundle.js.map +1 -1
  69. package/dist/esm/index.js +16 -0
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/lerc-loader.js +25 -0
  72. package/dist/esm/lerc-loader.js.map +1 -0
  73. package/dist/esm/lib/data-sources/adhoc-image-service.js +43 -0
  74. package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
  75. package/dist/esm/lib/data-sources/arcgis-image-service.js +62 -0
  76. package/dist/esm/lib/data-sources/arcgis-image-service.js.map +1 -0
  77. package/dist/esm/lib/data-sources/create-image-source.js +30 -0
  78. package/dist/esm/lib/data-sources/create-image-source.js.map +1 -0
  79. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +61 -0
  80. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  81. package/dist/esm/lib/data-sources/image-services/image-service.js +72 -0
  82. package/dist/esm/lib/data-sources/image-services/image-service.js.map +1 -0
  83. package/dist/esm/lib/data-sources/image-services/wms-service.js +190 -0
  84. package/dist/esm/lib/data-sources/image-services/wms-service.js.map +1 -0
  85. package/dist/esm/lib/data-sources/image-source.js +4 -0
  86. package/dist/esm/lib/data-sources/image-source.js.map +1 -0
  87. package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
  88. package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
  89. package/dist/esm/lib/gml/parse-gml.js +348 -0
  90. package/dist/esm/lib/gml/parse-gml.js.map +1 -0
  91. package/dist/esm/lib/lerc/lerc-types.js +2 -0
  92. package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
  93. package/dist/esm/lib/wcs/parse-wcs.js +32 -0
  94. package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
  95. package/dist/esm/lib/wcs/wcs-types.js +2 -0
  96. package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
  97. package/dist/esm/lib/wfs/parse-wfs.js +32 -0
  98. package/dist/esm/lib/wfs/parse-wfs.js.map +1 -0
  99. package/dist/esm/lib/wfs/wfs-types.js +2 -0
  100. package/dist/esm/lib/wfs/wfs-types.js.map +1 -0
  101. package/dist/esm/lib/wms/parse-wms.js +101 -0
  102. package/dist/esm/lib/wms/parse-wms.js.map +1 -0
  103. package/dist/esm/{wms-types.js → lib/wms/wms-types.js} +0 -0
  104. package/dist/{es5 → esm/lib/wms}/wms-types.js.map +1 -1
  105. package/dist/esm/lib/wmts/parse-wmts.js +32 -0
  106. package/dist/esm/lib/wmts/parse-wmts.js.map +1 -0
  107. package/dist/esm/lib/wmts/wmts-types.js +2 -0
  108. package/dist/esm/lib/wmts/wmts-types.js.map +1 -0
  109. package/dist/esm/wip/arcgis-feature-service.js +28 -0
  110. package/dist/esm/wip/arcgis-feature-service.js.map +1 -0
  111. package/dist/esm/wip/data-source.js +2 -0
  112. package/dist/esm/wip/data-source.js.map +1 -0
  113. package/dist/esm/wip/gml-loader.js +25 -0
  114. package/dist/esm/wip/gml-loader.js.map +1 -0
  115. package/dist/esm/wip/wcs-capabilities-loader.js +25 -0
  116. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
  117. package/dist/esm/wip/wfs-capabilities-loader.js +25 -0
  118. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
  119. package/dist/esm/wip/wms-feature-info-loader.js +14 -0
  120. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
  121. package/dist/esm/wip/wms-layer-description-loader.js +14 -0
  122. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
  123. package/dist/esm/wip/wms-layer-description-loader.md.disabled.md +47 -0
  124. package/dist/esm/wip/wmts-capabilities-loader.js +25 -0
  125. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
  126. package/dist/esm/wms-capabilities-loader.js +6 -4
  127. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  128. package/dist/esm/wms-error-loader.js +40 -0
  129. package/dist/esm/wms-error-loader.js.map +1 -0
  130. package/dist/index.d.ts +27 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +33 -0
  133. package/dist/lerc-loader.d.ts +30 -0
  134. package/dist/lerc-loader.d.ts.map +1 -0
  135. package/dist/lerc-loader.js +56 -0
  136. package/dist/lib/data-sources/adhoc-image-service.d.ts +24 -0
  137. package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
  138. package/dist/lib/data-sources/adhoc-image-service.js +46 -0
  139. package/dist/lib/data-sources/arcgis-image-service.d.ts +79 -0
  140. package/dist/lib/data-sources/arcgis-image-service.d.ts.map +1 -0
  141. package/dist/lib/data-sources/arcgis-image-service.js +85 -0
  142. package/dist/lib/data-sources/create-image-source.d.ts +16 -0
  143. package/dist/lib/data-sources/create-image-source.d.ts.map +1 -0
  144. package/dist/lib/data-sources/create-image-source.js +39 -0
  145. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts +71 -0
  146. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +1 -0
  147. package/dist/lib/data-sources/image-services/arcgis-image-service.js +85 -0
  148. package/dist/lib/data-sources/image-services/image-service.d.ts +39 -0
  149. package/dist/lib/data-sources/image-services/image-service.d.ts.map +1 -0
  150. package/dist/lib/data-sources/image-services/image-service.js +82 -0
  151. package/dist/lib/data-sources/image-services/wms-service.d.ts +188 -0
  152. package/dist/lib/data-sources/image-services/wms-service.d.ts.map +1 -0
  153. package/dist/lib/data-sources/image-services/wms-service.js +218 -0
  154. package/dist/lib/data-sources/image-source.d.ts +73 -0
  155. package/dist/lib/data-sources/image-source.d.ts.map +1 -0
  156. package/dist/lib/data-sources/image-source.js +12 -0
  157. package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
  158. package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
  159. package/dist/lib/gml/deep-strict-equal.js +119 -0
  160. package/dist/lib/gml/parse-gml.d.ts +28 -0
  161. package/dist/lib/gml/parse-gml.d.ts.map +1 -0
  162. package/dist/lib/gml/parse-gml.js +371 -0
  163. package/dist/lib/lerc/lerc-types.d.ts +30 -0
  164. package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
  165. package/dist/lib/lerc/lerc-types.js +3 -0
  166. package/dist/lib/wcs/parse-wcs.d.ts +7 -0
  167. package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
  168. package/dist/lib/wcs/parse-wcs.js +36 -0
  169. package/dist/lib/wcs/wcs-types.d.ts +73 -0
  170. package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
  171. package/dist/lib/wcs/wcs-types.js +3 -0
  172. package/dist/lib/wfs/parse-wfs.d.ts +7 -0
  173. package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
  174. package/dist/lib/wfs/parse-wfs.js +36 -0
  175. package/dist/lib/wfs/wfs-types.d.ts +73 -0
  176. package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
  177. package/dist/lib/wfs/wfs-types.js +3 -0
  178. package/dist/lib/wms/parse-wms.d.ts +24 -0
  179. package/dist/lib/wms/parse-wms.d.ts.map +1 -0
  180. package/dist/lib/wms/parse-wms.js +115 -0
  181. package/dist/lib/wms/wms-types.d.ts +100 -0
  182. package/dist/lib/wms/wms-types.d.ts.map +1 -0
  183. package/dist/lib/wms/wms-types.js +1908 -0
  184. package/dist/lib/wmts/parse-wmts.d.ts +7 -0
  185. package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
  186. package/dist/lib/wmts/parse-wmts.js +36 -0
  187. package/dist/lib/wmts/wmts-types.d.ts +73 -0
  188. package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
  189. package/dist/lib/wmts/wmts-types.js +3 -0
  190. package/dist/wip/arcgis-feature-service.d.ts +56 -0
  191. package/dist/wip/arcgis-feature-service.d.ts.map +1 -0
  192. package/dist/wip/arcgis-feature-service.js +28 -0
  193. package/dist/wip/data-source.d.ts +54 -0
  194. package/dist/wip/data-source.d.ts.map +1 -0
  195. package/dist/wip/data-source.js +59 -0
  196. package/dist/wip/gml-loader.d.ts +26 -0
  197. package/dist/wip/gml-loader.d.ts.map +1 -0
  198. package/dist/wip/gml-loader.js +31 -0
  199. package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
  200. package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
  201. package/dist/wip/wcs-capabilities-loader.js +31 -0
  202. package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
  203. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
  204. package/dist/wip/wfs-capabilities-loader.js +31 -0
  205. package/dist/wip/wms-feature-info-loader.d.ts +22 -0
  206. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
  207. package/dist/wip/wms-feature-info-loader.js +17 -0
  208. package/dist/wip/wms-layer-description-loader.d.ts +22 -0
  209. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
  210. package/dist/wip/wms-layer-description-loader.js +17 -0
  211. package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
  212. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
  213. package/dist/wip/wmts-capabilities-loader.js +31 -0
  214. package/dist/wms-capabilities-loader.d.ts +26 -0
  215. package/dist/wms-capabilities-loader.d.ts.map +1 -0
  216. package/dist/wms-capabilities-loader.js +31 -0
  217. package/dist/wms-error-loader.d.ts +34 -0
  218. package/dist/wms-error-loader.d.ts.map +1 -0
  219. package/dist/wms-error-loader.js +43 -0
  220. package/package.json +17 -6
  221. package/src/bundle.ts +2 -0
  222. package/src/index.ts +54 -2
  223. package/src/lerc-loader.ts +50 -0
  224. package/src/lib/data-sources/adhoc-image-service.ts +61 -0
  225. package/src/lib/data-sources/arcgis-image-service.ts +146 -0
  226. package/src/lib/data-sources/create-image-source.ts +46 -0
  227. package/src/lib/data-sources/image-services/arcgis-image-service.ts +136 -0
  228. package/src/lib/data-sources/image-services/image-service.ts +105 -0
  229. package/src/lib/data-sources/image-services/wms-service.ts +351 -0
  230. package/src/lib/data-sources/image-source.ts +82 -0
  231. package/src/lib/gml/deep-strict-equal.ts +119 -0
  232. package/src/lib/gml/parse-gml.ts +500 -0
  233. package/src/lib/lerc/lerc-types.ts +43 -0
  234. package/src/lib/wcs/parse-wcs.ts +39 -0
  235. package/src/lib/wcs/wcs-types.ts +77 -0
  236. package/src/lib/wfs/parse-wfs.ts +39 -0
  237. package/src/lib/wfs/wfs-types.ts +78 -0
  238. package/src/lib/wms/parse-wms.ts +142 -0
  239. package/src/{wms-types.ts → lib/wms/wms-types.ts} +76 -24
  240. package/src/lib/wmts/parse-wmts.ts +39 -0
  241. package/src/lib/wmts/wmts-types.ts +77 -0
  242. package/src/wip/arcgis-feature-service.ts +89 -0
  243. package/src/wip/data-source.ts +62 -0
  244. package/src/wip/gml-loader.ts +40 -0
  245. package/src/wip/wcs-capabilities-loader.ts +40 -0
  246. package/src/wip/wfs-capabilities-loader.ts +40 -0
  247. package/src/wip/wms-feature-info-loader.ts +21 -0
  248. package/src/wip/wms-layer-description-loader.md.disabled.md +47 -0
  249. package/src/wip/wms-layer-description-loader.ts +21 -0
  250. package/src/wip/wmts-capabilities-loader.ts +40 -0
  251. package/src/wms-capabilities-loader.ts +10 -8
  252. package/src/wms-error-loader.ts +59 -0
  253. package/dist/es5/lib/parse-wms-capabilities.js +0 -19
  254. package/dist/es5/lib/parse-wms-capabilities.js.map +0 -1
  255. package/dist/esm/lib/parse-wms-capabilities.js +0 -14
  256. package/dist/esm/lib/parse-wms-capabilities.js.map +0 -1
  257. package/src/lib/parse-wms-capabilities.ts +0 -14
@@ -0,0 +1,62 @@
1
+ // loaders.gl, MIT license
2
+
3
+ /** General data source class */
4
+ // export abstract class DataSource {};
5
+ // export type DataSourceMetadata = {};
6
+
7
+ // ImageSource
8
+
9
+ // Tile Source
10
+
11
+ /** Data source that serves data by tile index *
12
+ export abstract class TileDataSource extends DataSource {};
13
+
14
+ // Image Tile Data Source
15
+
16
+ export type ImageTileDataSourceCapabilities = {
17
+ }
18
+
19
+ export type ImageTile = Record<string, any>;
20
+
21
+ export type FeatureInfo = {};
22
+
23
+ export abstract class ImageTileDataSource extends TileDataSource {
24
+ source: ImageDataSource;
25
+
26
+ constructor(source: ImageDataSource) {
27
+ super();
28
+ this.source = source;
29
+ }
30
+
31
+ getCapabilities(): Promise<ImageTileDataSourceCapabilities> {
32
+ return this.source.getCapabilities();
33
+ }
34
+
35
+ getTile({x, y, z, width, height, layers, parameters}): Promise<ImageType> {
36
+ const boundingBox = this.getBoundingBoxFromTileIndex(x, y, z);
37
+ return this.source.getImage({boundingBox, width, height, layers, parameters});
38
+ }
39
+
40
+ getFeatureInfo(): FeatureInfo | null {
41
+ return null;
42
+ }
43
+
44
+ getBoundingBoxFromTileIndex(x: number, y: number, z: number): [number, number, number, number] {
45
+ return [0, 0, 1, 1];
46
+ }
47
+ }
48
+
49
+ // Vector Tile Source
50
+
51
+ export type VectorTileDataSourceCapabilities = {
52
+ // check tile.json
53
+ }
54
+
55
+ export type VectorTile = Record<string, any>;
56
+
57
+ export abstract class VectorTileDataSource extends TileDataSource {
58
+ abstract getCapabilities(): Promise<VectorTileDataSourceCapabilities>;
59
+ abstract getTile({x, y, z, width, height, layers, parameters}): Promise<VectorTile>;
60
+ }
61
+
62
+ */
@@ -0,0 +1,40 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
+ import {parseGML} from '../lib/gml/parse-gml';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ export type GMLLoaderOptions = LoaderOptions & {
11
+ gml?: {};
12
+ };
13
+
14
+ /**
15
+ * Loader for the response to the GML GetCapability request
16
+ */
17
+ export const GMLLoader = {
18
+ name: 'GML',
19
+ id: 'gml',
20
+
21
+ module: 'wms',
22
+ version: VERSION,
23
+ worker: false,
24
+ extensions: ['xml'],
25
+ mimeTypes: ['application/vnd.ogc.gml_xml', 'application/xml', 'text/xml'],
26
+ testText: testXMLFile,
27
+ options: {
28
+ gml: {}
29
+ },
30
+ parse: async (arrayBuffer: ArrayBuffer, options?: GMLLoaderOptions) =>
31
+ parseGML(new TextDecoder().decode(arrayBuffer), options),
32
+ parseTextSync: (text: string, options?: GMLLoaderOptions) => parseGML(text, options)
33
+ };
34
+
35
+ function testXMLFile(text: string): boolean {
36
+ // TODO - There could be space first.
37
+ return text.startsWith('<?xml');
38
+ }
39
+
40
+ export const _typecheckGMLLoader: LoaderWithParser = GMLLoader;
@@ -0,0 +1,40 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
+ import {parseWFSCapabilities} from '../lib/wcs/parse-wcs';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ export type WCSLoaderOptions = LoaderOptions & {
11
+ wcs?: {};
12
+ };
13
+
14
+ /**
15
+ * Loader for the response to the WCS GetCapability request
16
+ */
17
+ export const WCSCapabilitiesLoader = {
18
+ id: 'wcs-capabilities',
19
+ name: 'WFS Capabilities',
20
+
21
+ module: 'wms',
22
+ version: VERSION,
23
+ worker: false,
24
+ extensions: ['xml'],
25
+ mimeTypes: ['application/vnd.ogc.wcs_xml', 'application/xml', 'text/xml'],
26
+ testText: testXMLFile,
27
+ options: {
28
+ wms: {}
29
+ },
30
+ parse: async (arrayBuffer: ArrayBuffer, options?: WCSLoaderOptions) =>
31
+ parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),
32
+ parseTextSync: (text: string, options?: WCSLoaderOptions) => parseWFSCapabilities(text, options)
33
+ };
34
+
35
+ function testXMLFile(text: string): boolean {
36
+ // TODO - There could be space first.
37
+ return text.startsWith('<?xml');
38
+ }
39
+
40
+ export const _typecheckWFSCapabilitiesLoader: LoaderWithParser = WCSCapabilitiesLoader;
@@ -0,0 +1,40 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
+ import {parseWFSCapabilities} from '../lib/wfs/parse-wfs';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ export type WFSLoaderOptions = LoaderOptions & {
11
+ wfs?: {};
12
+ };
13
+
14
+ /**
15
+ * Loader for the response to the WFS GetCapability request
16
+ */
17
+ export const WFSCapabilitiesLoader = {
18
+ id: 'wfs-capabilities',
19
+ name: 'WFS Capabilities',
20
+
21
+ module: 'wms',
22
+ version: VERSION,
23
+ worker: false,
24
+ extensions: ['xml'],
25
+ mimeTypes: ['application/vnd.ogc.wfs_xml', 'application/xml', 'text/xml'],
26
+ testText: testXMLFile,
27
+ options: {
28
+ wms: {}
29
+ },
30
+ parse: async (arrayBuffer: ArrayBuffer, options?: WFSLoaderOptions) =>
31
+ parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),
32
+ parseTextSync: (text: string, options?: WFSLoaderOptions) => parseWFSCapabilities(text, options)
33
+ };
34
+
35
+ function testXMLFile(text: string): boolean {
36
+ // TODO - There could be space first.
37
+ return text.startsWith('<?xml');
38
+ }
39
+
40
+ export const _typecheckWFSCapabilitiesLoader: LoaderWithParser = WFSCapabilitiesLoader;
@@ -0,0 +1,21 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
5
+ import {parseWMSFeatureInfo} from '../lib/wms/parse-wms';
6
+
7
+ /**
8
+ * Loader for the response to the WMS GetFeatureInfo request
9
+ */
10
+ export const WMSFeatureInfoLoader = {
11
+ ...WMSCapabilitiesLoader,
12
+
13
+ id: 'wms-feature-info',
14
+ name: 'WMS FeatureInfo',
15
+
16
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
17
+ parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
18
+ parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)
19
+ };
20
+
21
+ export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSFeatureInfoLoader;
@@ -0,0 +1,47 @@
1
+ # WMSLayerDescriptionLoader
2
+
3
+ <p class="badges">
4
+ <img src="https://img.shields.io/badge/From-v3.3-blue.svg?style=flat-square" alt="From-v3.3" />
5
+ <img src="https://img.shields.io/badge/-BETA-teal.svg" alt="BETA" />
6
+ </p>
7
+
8
+ The `WMSLayerDescriptionLoader` parses the XML-formatted response from the
9
+ the [OGC](https://www.opengeospatial.org/) [WMS](https://www.ogc.org/standards/wms) (Web Map Service) standard `DescribeLayer` request into a typed JavaScript data structure.
10
+
11
+ > Note that the WMS standard is rather verbose and the XML responses can contain many rarely used metadata fields, not all of which are extracted by this loader. If this is a problem, it is possible to use the `XMLLoader` directly though the result will be untyped and not normalized.
12
+
13
+ | Loader | Characteristic |
14
+ | --------------------- | ---------------------------------------------------- |
15
+ | File Extension | `.xml` |
16
+ | File Type | Text |
17
+ | File Format | [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) |
18
+ | Data Format | Data structure |
19
+ | Decoder Type | Synchronous |
20
+ | Worker Thread Support | No |
21
+ | Streaming Support | No |
22
+
23
+ ## Usage
24
+
25
+ ```js
26
+ import {WMSLayerDescriptionLoader} from '@loaders.gl/wms';
27
+ import {load} from '@loaders.gl/core';
28
+
29
+ // Form a WMS request
30
+ const url = `${WMS_SERVICE_URL}?REQUEST=DescribeLayer&LAYER=...`;
31
+
32
+ const data = await load(url, WMSLayerDescriptionLoader, options);
33
+ ```
34
+
35
+ ## Parsed Data Format
36
+
37
+ ```typescript
38
+ /** All capabilities of a WMS service. Typed data structure extracted from XML */
39
+ export type WMSLayerDescription = {
40
+ // TO BE DOCUMENTED
41
+ }
42
+ ```
43
+
44
+ ## Options
45
+
46
+ | Option | Type | Default | Description |
47
+ | ------ | ---- | ------- | ----------- |
@@ -0,0 +1,21 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
5
+ import {parseWMSLayerDescription} from '../lib/wms/parse-wms';
6
+
7
+ /**
8
+ * Loader for the response to the WMS DescribeLayer request
9
+ */
10
+ export const WMSLayerDescriptionLoader = {
11
+ ...WMSCapabilitiesLoader,
12
+
13
+ id: 'wms-layer-description',
14
+ name: 'WMS DescribeLayer',
15
+
16
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
17
+ parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),
18
+ parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSLayerDescription(text, options)
19
+ };
20
+
21
+ export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;
@@ -0,0 +1,40 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
+ import {parseWMTSCapabilities} from '../lib/wmts/parse-wmts';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ export type WMTSLoaderOptions = LoaderOptions & {
11
+ wmts?: {};
12
+ };
13
+
14
+ /**
15
+ * Loader for the response to the WMTS GetCapability request
16
+ */
17
+ export const WMTSCapabilitiesLoader = {
18
+ id: 'wmts-capabilities',
19
+ name: 'WMTS Capabilities',
20
+
21
+ module: 'wms',
22
+ version: VERSION,
23
+ worker: false,
24
+ extensions: ['xml'],
25
+ mimeTypes: ['application/vnd.ogc.wmts_xml', 'application/xml', 'text/xml'],
26
+ testText: testXMLFile,
27
+ options: {
28
+ wms: {}
29
+ },
30
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMTSLoaderOptions) =>
31
+ parseWMTSCapabilities(new TextDecoder().decode(arrayBuffer), options),
32
+ parseTextSync: (text: string, options?: WMTSLoaderOptions) => parseWMTSCapabilities(text, options)
33
+ };
34
+
35
+ function testXMLFile(text: string): boolean {
36
+ // TODO - There could be space first.
37
+ return text.startsWith('<?xml');
38
+ }
39
+
40
+ export const _typecheckWMTSCapabilitiesLoader: LoaderWithParser = WMTSCapabilitiesLoader;
@@ -1,20 +1,23 @@
1
+ // loaders.gl, MIT license
2
+
1
3
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
2
- import {parseWMSCapabilities} from './lib/parse-wms-capabilities';
4
+ import {parseWMSCapabilities} from './lib/wms/parse-wms';
3
5
 
4
6
  // __VERSION__ is injected by babel-plugin-version-inline
5
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
8
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
7
9
 
8
- export type WMSCapabilitiesLoaderOptions = LoaderOptions & {
10
+ export type WMSLoaderOptions = LoaderOptions & {
9
11
  wms?: {};
10
12
  };
11
13
 
12
14
  /**
13
- * Worker loader for the OBJ geometry format
15
+ * Loader for the response to the WMS GetCapability request
14
16
  */
15
17
  export const WMSCapabilitiesLoader = {
18
+ id: 'wms-capabilities',
16
19
  name: 'WMS Capabilities',
17
- id: 'wms',
20
+
18
21
  module: 'wms',
19
22
  version: VERSION,
20
23
  worker: false,
@@ -22,12 +25,11 @@ export const WMSCapabilitiesLoader = {
22
25
  mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],
23
26
  testText: testXMLFile,
24
27
  options: {
25
- obj: {}
28
+ wms: {}
26
29
  },
27
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSCapabilitiesLoaderOptions) =>
30
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
28
31
  parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options),
29
- parseTextSync: (text: string, options?: WMSCapabilitiesLoaderOptions) =>
30
- parseWMSCapabilities(text, options)
32
+ parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSCapabilities(text, options)
31
33
  };
32
34
 
33
35
  function testXMLFile(text: string): boolean {
@@ -0,0 +1,59 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
+ import {parseWMSError} from './lib/wms/parse-wms';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ export type WMSLoaderOptions = LoaderOptions & {
11
+ wms?: {
12
+ /** By default the error loader will throw an error with the parsed error message */
13
+ throwOnError?: boolean;
14
+ /** Do not add any text to errors */
15
+ minimalErrors?: boolean;
16
+ };
17
+ };
18
+
19
+ /**
20
+ * Loader for the response to the WMS GetCapability request
21
+ */
22
+ export const WMSErrorLoader = {
23
+ id: 'wms-error',
24
+ name: 'WMS Error',
25
+
26
+ module: 'wms',
27
+ version: VERSION,
28
+ worker: false,
29
+ extensions: ['xml'],
30
+ mimeTypes: ['application/vnd.ogc.se_xml', 'application/xml', 'text/xml'],
31
+ testText: testXMLFile,
32
+ options: {
33
+ wms: {
34
+ throwOnError: false
35
+ }
36
+ },
37
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions): Promise<string> =>
38
+ parseTextSync(new TextDecoder().decode(arrayBuffer), options),
39
+ parseSync: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions): string =>
40
+ parseTextSync(new TextDecoder().decode(arrayBuffer), options),
41
+ parseTextSync: (text: string, options?: WMSLoaderOptions): string => parseTextSync(text, options)
42
+ };
43
+
44
+ function testXMLFile(text: string): boolean {
45
+ // TODO - There could be space first.
46
+ return text.startsWith('<?xml');
47
+ }
48
+
49
+ function parseTextSync(text: string, options?: WMSLoaderOptions): string {
50
+ const wmsOptions: WMSLoaderOptions['wms'] = {...WMSErrorLoader.options.wms, ...options?.wms};
51
+ const error = parseWMSError(text, wmsOptions);
52
+ const message = wmsOptions.minimalErrors ? error : `WMS Service error: ${error}`;
53
+ if (wmsOptions.throwOnError) {
54
+ throw new Error(message);
55
+ }
56
+ return message;
57
+ }
58
+
59
+ export const _typecheckWMSErrorLoader: LoaderWithParser = WMSErrorLoader;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseWMSCapabilities = parseWMSCapabilities;
7
- var _xml = require("@loaders.gl/xml");
8
-
9
- function parseWMSCapabilities(text, options) {
10
- var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
11
- if (parsedXML.WMT_MS_Capabilities) {
12
- return parsedXML.WMT_MS_Capabilities;
13
- }
14
- if (parsedXML.WMS_Capabilities) {
15
- return parsedXML.WMS_Capabilities;
16
- }
17
- return parsedXML;
18
- }
19
- //# sourceMappingURL=parse-wms-capabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wms-capabilities.js","names":["parseWMSCapabilities","text","options","parsedXML","XMLLoader","parseTextSync","WMT_MS_Capabilities","WMS_Capabilities"],"sources":["../../../src/lib/parse-wms-capabilities.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\nexport function parseWMSCapabilities(text, options) {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n if (parsedXML.WMT_MS_Capabilities) {\n return parsedXML.WMT_MS_Capabilities;\n }\n if (parsedXML.WMS_Capabilities) {\n return parsedXML.WMS_Capabilities;\n }\n return parsedXML;\n}\n"],"mappings":";;;;;;AAEA;;AAEO,SAASA,oBAAoB,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,IAAMC,SAAS,GAAGC,cAAS,CAACC,aAAa,CAACJ,IAAI,EAAEC,OAAO,CAAC;EACxD,IAAIC,SAAS,CAACG,mBAAmB,EAAE;IACjC,OAAOH,SAAS,CAACG,mBAAmB;EACtC;EACA,IAAIH,SAAS,CAACI,gBAAgB,EAAE;IAC9B,OAAOJ,SAAS,CAACI,gBAAgB;EACnC;EACA,OAAOJ,SAAS;AAClB"}
@@ -1,14 +0,0 @@
1
-
2
-
3
- import { XMLLoader } from '@loaders.gl/xml';
4
- export function parseWMSCapabilities(text, options) {
5
- const parsedXML = XMLLoader.parseTextSync(text, options);
6
- if (parsedXML.WMT_MS_Capabilities) {
7
- return parsedXML.WMT_MS_Capabilities;
8
- }
9
- if (parsedXML.WMS_Capabilities) {
10
- return parsedXML.WMS_Capabilities;
11
- }
12
- return parsedXML;
13
- }
14
- //# sourceMappingURL=parse-wms-capabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wms-capabilities.js","names":["XMLLoader","parseWMSCapabilities","text","options","parsedXML","parseTextSync","WMT_MS_Capabilities","WMS_Capabilities"],"sources":["../../../src/lib/parse-wms-capabilities.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\nexport function parseWMSCapabilities(text, options) {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n if (parsedXML.WMT_MS_Capabilities) {\n return parsedXML.WMT_MS_Capabilities;\n }\n if (parsedXML.WMS_Capabilities) {\n return parsedXML.WMS_Capabilities;\n }\n return parsedXML;\n}\n"],"mappings":";;AAEA,SAAQA,SAAS,QAAO,iBAAiB;AAEzC,OAAO,SAASC,oBAAoB,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,MAAMC,SAAS,GAAGJ,SAAS,CAACK,aAAa,CAACH,IAAI,EAAEC,OAAO,CAAC;EACxD,IAAIC,SAAS,CAACE,mBAAmB,EAAE;IACjC,OAAOF,SAAS,CAACE,mBAAmB;EACtC;EACA,IAAIF,SAAS,CAACG,gBAAgB,EAAE;IAC9B,OAAOH,SAAS,CAACG,gBAAgB;EACnC;EACA,OAAOH,SAAS;AAClB"}
@@ -1,14 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import {XMLLoader} from '@loaders.gl/xml';
4
-
5
- export function parseWMSCapabilities(text, options) {
6
- const parsedXML = XMLLoader.parseTextSync(text, options);
7
- if (parsedXML.WMT_MS_Capabilities) {
8
- return parsedXML.WMT_MS_Capabilities;
9
- }
10
- if (parsedXML.WMS_Capabilities) {
11
- return parsedXML.WMS_Capabilities;
12
- }
13
- return parsedXML;
14
- }