@loaders.gl/wms 4.0.0-alpha.9 → 4.0.0-beta.2

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 (259) hide show
  1. package/dist/csw-capabilities-loader.d.ts +1 -17
  2. package/dist/csw-capabilities-loader.d.ts.map +1 -1
  3. package/dist/csw-domain-loader.d.ts +1 -17
  4. package/dist/csw-domain-loader.d.ts.map +1 -1
  5. package/dist/csw-records-loader.d.ts +1 -1
  6. package/dist/csw-records-loader.d.ts.map +1 -1
  7. package/dist/dist.min.js +187 -161
  8. package/dist/es5/csw-capabilities-loader.js +2 -4
  9. package/dist/es5/csw-capabilities-loader.js.map +1 -1
  10. package/dist/es5/csw-domain-loader.js +2 -4
  11. package/dist/es5/csw-domain-loader.js.map +1 -1
  12. package/dist/es5/csw-records-loader.js +2 -2
  13. package/dist/es5/csw-records-loader.js.map +1 -1
  14. package/dist/es5/gml-loader.js +2 -4
  15. package/dist/es5/gml-loader.js.map +1 -1
  16. package/dist/es5/index.js +23 -10
  17. package/dist/es5/index.js.map +1 -1
  18. package/dist/es5/lerc-loader.js +2 -4
  19. package/dist/es5/lerc-loader.js.map +1 -1
  20. package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -1
  21. package/dist/es5/lib/{create-image-source.js → services/create-image-service.js} +30 -21
  22. package/dist/es5/lib/services/create-image-service.js.map +1 -0
  23. package/dist/es5/lib/services/{generic/image-service.js → image-service.js} +2 -2
  24. package/dist/es5/lib/services/image-service.js.map +1 -0
  25. package/dist/es5/{lib/services → services}/arcgis/arcgis-image-service.js +22 -16
  26. package/dist/es5/services/arcgis/arcgis-image-service.js.map +1 -0
  27. package/dist/es5/services/arcgis/arcgis-server.js.map +1 -0
  28. package/dist/es5/services/create-image-source.js +14 -0
  29. package/dist/es5/services/create-image-source.js.map +1 -0
  30. package/dist/es5/{lib/services → services}/ogc/csw-service.js +10 -8
  31. package/dist/es5/services/ogc/csw-service.js.map +1 -0
  32. package/dist/es5/{lib/services → services}/ogc/wms-service.js +28 -22
  33. package/dist/es5/services/ogc/wms-service.js.map +1 -0
  34. package/dist/es5/wip/lib/wfs/parse-wfs.js.map +1 -0
  35. package/dist/es5/wip/lib/wmts/parse-wmts.js.map +1 -0
  36. package/dist/es5/wip/services/arcgis-feature-service.js.map +1 -0
  37. package/dist/es5/wip/wcs-capabilities-loader.js +1 -1
  38. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
  39. package/dist/es5/wip/wfs-capabilities-loader.js +2 -2
  40. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
  41. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  42. package/dist/es5/wip/wmts-capabilities-loader.js +1 -1
  43. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  44. package/dist/es5/wms-capabilities-loader.js +2 -4
  45. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  46. package/dist/es5/wms-error-loader.js +2 -4
  47. package/dist/es5/wms-error-loader.js.map +1 -1
  48. package/dist/esm/csw-capabilities-loader.js +1 -2
  49. package/dist/esm/csw-capabilities-loader.js.map +1 -1
  50. package/dist/esm/csw-domain-loader.js +1 -2
  51. package/dist/esm/csw-domain-loader.js.map +1 -1
  52. package/dist/esm/csw-records-loader.js +2 -2
  53. package/dist/esm/csw-records-loader.js.map +1 -1
  54. package/dist/esm/gml-loader.js +1 -2
  55. package/dist/esm/gml-loader.js.map +1 -1
  56. package/dist/esm/index.js +8 -7
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/lerc-loader.js +1 -2
  59. package/dist/esm/lerc-loader.js.map +1 -1
  60. package/dist/esm/lib/parsers/gml/parse-gml.js.map +1 -1
  61. package/dist/esm/lib/services/create-image-service.js +27 -0
  62. package/dist/esm/lib/services/create-image-service.js.map +1 -0
  63. package/dist/esm/lib/services/{generic/image-service.js → image-service.js} +1 -1
  64. package/dist/esm/lib/services/image-service.js.map +1 -0
  65. package/dist/esm/{lib/services → services}/arcgis/arcgis-image-service.js +7 -5
  66. package/dist/esm/services/arcgis/arcgis-image-service.js.map +1 -0
  67. package/dist/esm/services/arcgis/arcgis-server.js.map +1 -0
  68. package/dist/esm/services/create-image-source.js +8 -0
  69. package/dist/esm/services/create-image-source.js.map +1 -0
  70. package/dist/esm/{lib/services → services}/ogc/csw-service.js +9 -7
  71. package/dist/esm/services/ogc/csw-service.js.map +1 -0
  72. package/dist/esm/{lib/services → services}/ogc/wms-service.js +15 -11
  73. package/dist/esm/services/ogc/wms-service.js.map +1 -0
  74. package/dist/esm/wip/lib/wfs/parse-wfs.js.map +1 -0
  75. package/dist/esm/wip/lib/wmts/parse-wmts.js.map +1 -0
  76. package/dist/esm/wip/services/arcgis-feature-service.js.map +1 -0
  77. package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
  78. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
  79. package/dist/esm/wip/wfs-capabilities-loader.js +2 -2
  80. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
  81. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
  82. package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
  83. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
  84. package/dist/esm/wms-capabilities-loader.js +1 -2
  85. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  86. package/dist/esm/wms-error-loader.js +1 -2
  87. package/dist/esm/wms-error-loader.js.map +1 -1
  88. package/dist/gml-loader.d.ts +2 -18
  89. package/dist/gml-loader.d.ts.map +1 -1
  90. package/dist/index.d.ts +11 -10
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/lerc-loader.d.ts +1 -14
  93. package/dist/lerc-loader.d.ts.map +1 -1
  94. package/dist/lib/parsers/gml/parse-gml.d.ts +1 -0
  95. package/dist/lib/parsers/gml/parse-gml.d.ts.map +1 -1
  96. package/dist/lib/services/create-image-service.d.ts +14 -0
  97. package/dist/lib/services/create-image-service.d.ts.map +1 -0
  98. package/dist/lib/services/{generic/image-service.d.ts → image-service.d.ts} +4 -4
  99. package/dist/lib/services/image-service.d.ts.map +1 -0
  100. package/dist/{lib/services → services}/arcgis/arcgis-image-service.d.ts +6 -7
  101. package/dist/services/arcgis/arcgis-image-service.d.ts.map +1 -0
  102. package/dist/services/arcgis/arcgis-server.d.ts.map +1 -0
  103. package/dist/services/create-image-source.d.ts +18 -0
  104. package/dist/services/create-image-source.d.ts.map +1 -0
  105. package/dist/{lib/services → services}/ogc/csw-service.d.ts +6 -38
  106. package/dist/services/ogc/csw-service.d.ts.map +1 -0
  107. package/dist/{lib/services → services}/ogc/wms-service.d.ts +14 -80
  108. package/dist/services/ogc/wms-service.d.ts.map +1 -0
  109. package/dist/wip/lib/wfs/parse-wfs.d.ts.map +1 -0
  110. package/dist/wip/lib/wmts/parse-wmts.d.ts.map +1 -0
  111. package/dist/wip/services/arcgis-feature-service.d.ts.map +1 -0
  112. package/dist/wip/wfs-capabilities-loader.d.ts +1 -16
  113. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -1
  114. package/dist/wip/wms-feature-info-loader.d.ts +1 -15
  115. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -1
  116. package/dist/wip/wms-layer-description-loader.d.ts +20 -6
  117. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -1
  118. package/dist/wms-capabilities-loader.d.ts +2 -17
  119. package/dist/wms-capabilities-loader.d.ts.map +1 -1
  120. package/dist/wms-error-loader.d.ts +1 -21
  121. package/dist/wms-error-loader.d.ts.map +1 -1
  122. package/package.json +6 -9
  123. package/src/csw-capabilities-loader.ts +1 -4
  124. package/src/csw-domain-loader.ts +1 -3
  125. package/src/csw-records-loader.ts +2 -3
  126. package/src/gml-loader.ts +2 -3
  127. package/src/index.ts +14 -10
  128. package/src/lerc-loader.ts +1 -3
  129. package/src/lib/parsers/gml/parse-gml.ts +2 -0
  130. package/src/lib/services/create-image-service.ts +55 -0
  131. package/src/lib/services/{generic/image-service.ts → image-service.ts} +6 -4
  132. package/src/{lib/services → services}/arcgis/arcgis-image-service.ts +15 -8
  133. package/src/services/create-image-source.ts +31 -0
  134. package/src/{lib/services → services}/ogc/csw-service.ts +11 -11
  135. package/src/{lib/services → services}/ogc/wms-service.ts +27 -34
  136. package/src/wip/wfs-capabilities-loader.ts +2 -2
  137. package/src/wip/wms-feature-info-loader.ts +2 -1
  138. package/src/wms-capabilities-loader.ts +6 -4
  139. package/src/wms-error-loader.ts +1 -3
  140. package/dist/bundle.js +0 -6
  141. package/dist/csw-capabilities-loader.js +0 -31
  142. package/dist/csw-domain-loader.js +0 -31
  143. package/dist/csw-records-loader.js +0 -30
  144. package/dist/es5/lib/create-image-source.js.map +0 -1
  145. package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +0 -1
  146. package/dist/es5/lib/services/arcgis/arcgis-server.js.map +0 -1
  147. package/dist/es5/lib/services/generic/image-service.js.map +0 -1
  148. package/dist/es5/lib/services/ogc/csw-service.js.map +0 -1
  149. package/dist/es5/lib/services/ogc/wms-service.js.map +0 -1
  150. package/dist/es5/lib/sources/data-source.js +0 -67
  151. package/dist/es5/lib/sources/data-source.js.map +0 -1
  152. package/dist/es5/lib/sources/image-source.js +0 -26
  153. package/dist/es5/lib/sources/image-source.js.map +0 -1
  154. package/dist/es5/lib/sources/tile-source.js +0 -26
  155. package/dist/es5/lib/sources/tile-source.js.map +0 -1
  156. package/dist/es5/lib/sources/utils/utils.js +0 -36
  157. package/dist/es5/lib/sources/utils/utils.js.map +0 -1
  158. package/dist/es5/lib/wfs/parse-wfs.js.map +0 -1
  159. package/dist/es5/lib/wmts/parse-wmts.js.map +0 -1
  160. package/dist/es5/wip/arcgis-feature-service.js.map +0 -1
  161. package/dist/esm/lib/create-image-source.js +0 -27
  162. package/dist/esm/lib/create-image-source.js.map +0 -1
  163. package/dist/esm/lib/services/arcgis/arcgis-image-service.js.map +0 -1
  164. package/dist/esm/lib/services/arcgis/arcgis-server.js.map +0 -1
  165. package/dist/esm/lib/services/generic/image-service.js.map +0 -1
  166. package/dist/esm/lib/services/ogc/csw-service.js.map +0 -1
  167. package/dist/esm/lib/services/ogc/wms-service.js.map +0 -1
  168. package/dist/esm/lib/sources/data-source.js +0 -43
  169. package/dist/esm/lib/sources/data-source.js.map +0 -1
  170. package/dist/esm/lib/sources/image-source.js +0 -3
  171. package/dist/esm/lib/sources/image-source.js.map +0 -1
  172. package/dist/esm/lib/sources/tile-source.js +0 -3
  173. package/dist/esm/lib/sources/tile-source.js.map +0 -1
  174. package/dist/esm/lib/sources/utils/utils.js +0 -21
  175. package/dist/esm/lib/sources/utils/utils.js.map +0 -1
  176. package/dist/esm/lib/wfs/parse-wfs.js.map +0 -1
  177. package/dist/esm/lib/wmts/parse-wmts.js.map +0 -1
  178. package/dist/esm/wip/arcgis-feature-service.js.map +0 -1
  179. package/dist/gml-loader.js +0 -31
  180. package/dist/index.js +0 -39
  181. package/dist/lerc-loader.js +0 -56
  182. package/dist/lib/create-image-source.d.ts +0 -17
  183. package/dist/lib/create-image-source.d.ts.map +0 -1
  184. package/dist/lib/create-image-source.js +0 -39
  185. package/dist/lib/parsers/csw/parse-csw-capabilities.js +0 -24
  186. package/dist/lib/parsers/csw/parse-csw-domain.js +0 -33
  187. package/dist/lib/parsers/csw/parse-csw-records.js +0 -58
  188. package/dist/lib/parsers/csw/parse-exception-report.js +0 -30
  189. package/dist/lib/parsers/gml/deep-strict-equal.js +0 -119
  190. package/dist/lib/parsers/gml/parse-gml.js +0 -371
  191. package/dist/lib/parsers/lerc/lerc-types.js +0 -3
  192. package/dist/lib/parsers/wms/parse-wms-capabilities.js +0 -233
  193. package/dist/lib/parsers/wms/parse-wms-error.js +0 -22
  194. package/dist/lib/parsers/wms/parse-wms-features.js +0 -27
  195. package/dist/lib/parsers/wms/parse-wms-layer-description.js +0 -15
  196. package/dist/lib/parsers/xml/parse-xml-helpers.js +0 -68
  197. package/dist/lib/services/arcgis/arcgis-image-service.d.ts.map +0 -1
  198. package/dist/lib/services/arcgis/arcgis-image-service.js +0 -94
  199. package/dist/lib/services/arcgis/arcgis-server.d.ts.map +0 -1
  200. package/dist/lib/services/arcgis/arcgis-server.js +0 -42
  201. package/dist/lib/services/generic/image-service.d.ts.map +0 -1
  202. package/dist/lib/services/generic/image-service.js +0 -47
  203. package/dist/lib/services/ogc/csw-service.d.ts.map +0 -1
  204. package/dist/lib/services/ogc/csw-service.js +0 -168
  205. package/dist/lib/services/ogc/wms-service.d.ts.map +0 -1
  206. package/dist/lib/services/ogc/wms-service.js +0 -317
  207. package/dist/lib/sources/data-source.d.ts +0 -32
  208. package/dist/lib/sources/data-source.d.ts.map +0 -1
  209. package/dist/lib/sources/data-source.js +0 -56
  210. package/dist/lib/sources/image-source.d.ts +0 -79
  211. package/dist/lib/sources/image-source.d.ts.map +0 -1
  212. package/dist/lib/sources/image-source.js +0 -13
  213. package/dist/lib/sources/tile-source.d.ts +0 -56
  214. package/dist/lib/sources/tile-source.d.ts.map +0 -1
  215. package/dist/lib/sources/tile-source.js +0 -13
  216. package/dist/lib/sources/utils/utils.d.ts +0 -13
  217. package/dist/lib/sources/utils/utils.d.ts.map +0 -1
  218. package/dist/lib/sources/utils/utils.js +0 -38
  219. package/dist/lib/wfs/parse-wfs.d.ts.map +0 -1
  220. package/dist/lib/wfs/parse-wfs.js +0 -32
  221. package/dist/lib/wmts/parse-wmts.d.ts.map +0 -1
  222. package/dist/lib/wmts/parse-wmts.js +0 -35
  223. package/dist/wip/arcgis-feature-service.d.ts.map +0 -1
  224. package/dist/wip/arcgis-feature-service.js +0 -28
  225. package/dist/wip/data-source.js +0 -59
  226. package/dist/wip/lib/wcs/parse-wcs-capabilities.js +0 -15
  227. package/dist/wip/lib/wfs/parse-wfs-capabilities.js +0 -19
  228. package/dist/wip/lib/wmts/parse-wmts-capabilities.js +0 -77
  229. package/dist/wip/wcs-capabilities-loader.js +0 -31
  230. package/dist/wip/wfs-capabilities-loader.js +0 -31
  231. package/dist/wip/wms-feature-info-loader.js +0 -17
  232. package/dist/wip/wms-layer-description-loader.js +0 -17
  233. package/dist/wip/wmts-capabilities-loader.js +0 -32
  234. package/dist/wms-capabilities-loader.js +0 -35
  235. package/dist/wms-error-loader.js +0 -43
  236. package/src/lib/create-image-source.ts +0 -48
  237. package/src/lib/sources/data-source.ts +0 -73
  238. package/src/lib/sources/image-source.ts +0 -92
  239. package/src/lib/sources/tile-source.ts +0 -61
  240. package/src/lib/sources/utils/utils.ts +0 -42
  241. /package/dist/es5/{lib/services → services}/arcgis/arcgis-server.js +0 -0
  242. /package/dist/es5/{lib → wip/lib}/wfs/parse-wfs.js +0 -0
  243. /package/dist/es5/{lib → wip/lib}/wmts/parse-wmts.js +0 -0
  244. /package/dist/es5/wip/{arcgis-feature-service.js → services/arcgis-feature-service.js} +0 -0
  245. /package/dist/es5/{lib/services/ogc → wip/services}/wmts-service.ts.disabled +0 -0
  246. /package/dist/esm/{lib/services → services}/arcgis/arcgis-server.js +0 -0
  247. /package/dist/esm/{lib → wip/lib}/wfs/parse-wfs.js +0 -0
  248. /package/dist/esm/{lib → wip/lib}/wmts/parse-wmts.js +0 -0
  249. /package/dist/esm/wip/{arcgis-feature-service.js → services/arcgis-feature-service.js} +0 -0
  250. /package/dist/esm/{lib/services/ogc → wip/services}/wmts-service.ts.disabled +0 -0
  251. /package/dist/{lib/services → services}/arcgis/arcgis-server.d.ts +0 -0
  252. /package/dist/{lib → wip/lib}/wfs/parse-wfs.d.ts +0 -0
  253. /package/dist/{lib → wip/lib}/wmts/parse-wmts.d.ts +0 -0
  254. /package/dist/wip/{arcgis-feature-service.d.ts → services/arcgis-feature-service.d.ts} +0 -0
  255. /package/src/{lib/services → services}/arcgis/arcgis-server.ts +0 -0
  256. /package/src/{lib → wip/lib}/wfs/parse-wfs.ts +0 -0
  257. /package/src/{lib → wip/lib}/wmts/parse-wmts.ts +0 -0
  258. /package/src/wip/{arcgis-feature-service.ts → services/arcgis-feature-service.ts} +0 -0
  259. /package/src/{lib/services/ogc → wip/services}/wmts-service.ts.disabled +0 -0
@@ -1,233 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.parseWMSCapabilities = void 0;
5
- const xml_1 = require("@loaders.gl/xml");
6
- const parse_xml_helpers_1 = require("../xml/parse-xml-helpers");
7
- /**
8
- * Parses a typed data structure from raw XML for `GetCapabilities` response
9
- * @note Error handlings is fairly weak
10
- */
11
- function parseWMSCapabilities(xmlText, options) {
12
- const parsedXML = xml_1.XMLLoader.parseTextSync?.(xmlText, options);
13
- const xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
14
- const capabilities = extractCapabilities(xmlCapabilities);
15
- // In case the processed, normalized capabilities do not contain everything,
16
- // the user can get the parsed XML structure.
17
- if (options?.inheritedLayerProps) {
18
- // Traverse layers and inject missing props from parents
19
- for (const layer of capabilities.layers) {
20
- addInheritedLayerProps(layer, null);
21
- }
22
- // Not yet implemented
23
- }
24
- if (options?.includeRawData || options?.raw) {
25
- capabilities.raw = xmlCapabilities;
26
- }
27
- if (options?.includeXMLText) {
28
- capabilities.xml = xmlText;
29
- }
30
- return capabilities;
31
- }
32
- exports.parseWMSCapabilities = parseWMSCapabilities;
33
- /** Extract typed capability data from XML */
34
- function extractCapabilities(xml) {
35
- const capabilities = {
36
- version: String(xml.version || ''),
37
- name: String(xml.Service?.Name || 'unnamed'),
38
- title: xml.Service?.Title ? String(xml.Service?.Title) : undefined,
39
- abstract: xml.Service?.Abstract ? String(xml.Service?.Abstract) : undefined,
40
- keywords: (0, parse_xml_helpers_1.getXMLStringArray)(xml.Service?.KeywordList?.Keyword),
41
- fees: xml.Service?.Fees ? JSON.stringify(xml.Service?.Fees) : undefined,
42
- accessConstraints: xml.Service?.AccessConstraints
43
- ? JSON.stringify(xml.Service?.AccessConstraints)
44
- : undefined,
45
- layerLimit: (0, parse_xml_helpers_1.getXMLInteger)(xml.Service?.LayerLimit),
46
- maxWidth: (0, parse_xml_helpers_1.getXMLInteger)(xml.Service?.maxWidth),
47
- maxHeight: (0, parse_xml_helpers_1.getXMLInteger)(xml.Service?.maxHeight),
48
- layers: [],
49
- requests: extractRequests(xml.Capability?.Request),
50
- exceptions: extractExceptions(xml.Exception)
51
- // contact field is a mess of largely irrelevant information, put it last
52
- // contact: xml.Service?.Contact ? JSON.stringify(xml.Service?.Contact) : undefined,
53
- };
54
- // LAYERS
55
- const xmlLayers = (0, parse_xml_helpers_1.getXMLArray)(xml.Capability?.Layer);
56
- for (const xmlSubLayer of xmlLayers) {
57
- capabilities.layers.push(extractLayer(xmlSubLayer));
58
- }
59
- // Clean up object
60
- for (const [key, value] of Object.entries(capabilities)) {
61
- if (value === undefined) {
62
- delete capabilities[key];
63
- }
64
- }
65
- return capabilities;
66
- }
67
- /** Extract typed request metadata from XML requests field */
68
- function extractRequests(xmlRequests) {
69
- const requests = {};
70
- for (const [name, xmlRequest] of Object.entries(xmlRequests || {})) {
71
- const mimeTypes = (0, parse_xml_helpers_1.getXMLStringArray)(xmlRequest?.Format);
72
- requests[name] = { mimeTypes };
73
- }
74
- return requests;
75
- }
76
- function extractExceptions(xmlException) {
77
- const xmlExceptionFormats = (0, parse_xml_helpers_1.getXMLArray)(xmlException?.Format);
78
- if (xmlExceptionFormats.length > 0) {
79
- return {
80
- mimeTypes: (0, parse_xml_helpers_1.getXMLStringArray)(xmlException)
81
- };
82
- }
83
- return undefined;
84
- }
85
- /** Extract request data */
86
- // eslint-disable-next-line complexity, max-statements
87
- function extractLayer(xmlLayer) {
88
- const layer = {
89
- // All layers must have a title
90
- title: String(xmlLayer?.Title || ''),
91
- // Name is required only if renderable
92
- name: xmlLayer?.Name && String(xmlLayer?.Name),
93
- abstract: xmlLayer?.Name && String(xmlLayer?.Abstract),
94
- keywords: (0, parse_xml_helpers_1.getXMLStringArray)(xmlLayer.KeywordList?.Keyword)
95
- };
96
- // WMS 1.3.0 changes SRS to CRS
97
- const crs = xmlLayer?.CRS || xmlLayer?.SRS;
98
- if (crs && Array.isArray(crs) && crs.every((_) => typeof _ === 'string')) {
99
- layer.crs = crs;
100
- }
101
- // v1.3.0 extract simple geographic bounding box
102
- let geographicBoundingBox = xmlLayer?.EX_GeographicBoundingBox && extractEXBoundingBox(xmlLayer?.EX_GeographicBoundingBox);
103
- if (geographicBoundingBox) {
104
- layer.geographicBoundingBox = geographicBoundingBox;
105
- }
106
- // v1.1.1 extract simple geographic bounding box
107
- geographicBoundingBox =
108
- xmlLayer?.LatLonBoundingBox && extractLatLonBoundingBox(xmlLayer?.LatLonBoundingBox);
109
- if (geographicBoundingBox) {
110
- layer.geographicBoundingBox = geographicBoundingBox;
111
- }
112
- // Extract per-CRS bounding boxes
113
- const boundingBoxes = xmlLayer?.BoundingBox && extractWMSBoundingBoxes(xmlLayer?.BoundingBox);
114
- if (boundingBoxes && boundingBoxes.length > 0) {
115
- layer.boundingBoxes = boundingBoxes;
116
- }
117
- // Extract dimensions
118
- const xmlDimensions = (0, parse_xml_helpers_1.getXMLArray)(xmlLayer?.Dimension);
119
- const dimensions = xmlDimensions.map((xml) => extractDimension(xml));
120
- if (dimensions.length) {
121
- layer.dimensions = dimensions;
122
- }
123
- if (xmlLayer?.opaque) {
124
- layer.opaque = (0, parse_xml_helpers_1.getXMLBoolean)(xmlLayer?.opaque);
125
- }
126
- if (xmlLayer?.cascaded) {
127
- layer.cascaded = (0, parse_xml_helpers_1.getXMLBoolean)(xmlLayer?.cascaded);
128
- }
129
- if (xmlLayer?.queryable) {
130
- layer.queryable = (0, parse_xml_helpers_1.getXMLBoolean)(xmlLayer?.queryable);
131
- }
132
- // Single layer is not represented as array in XML
133
- const xmlLayers = (0, parse_xml_helpers_1.getXMLArray)(xmlLayer?.Layer);
134
- const layers = [];
135
- for (const xmlSubLayer of xmlLayers) {
136
- layers.push(extractLayer(xmlSubLayer));
137
- }
138
- if (layers.length > 0) {
139
- layer.layers = layers;
140
- }
141
- // Clean up object
142
- for (const [key, value] of Object.entries(layer)) {
143
- if (value === undefined) {
144
- delete layer[key];
145
- }
146
- }
147
- return layer;
148
- }
149
- /** WMS 1.3.0 Loosely defined geospatial bounding box in unspecified CRS for quick content searches */
150
- function extractEXBoundingBox(xmlBoundingBox) {
151
- const { westBoundLongitude: w, northBoundLatitude: n, eastBoundLongitude: e, southBoundLatitude: s } = xmlBoundingBox;
152
- return [
153
- [w, s],
154
- [e, n]
155
- ];
156
- }
157
- /** WMS 1.1.1 Loosely defined geospatial bounding box in unspecified CRS for quick content searches */
158
- function extractLatLonBoundingBox(xmlBoundingBox) {
159
- const { minx, miny, maxx, maxy } = xmlBoundingBox;
160
- return [
161
- [minx, miny],
162
- [maxx, maxy]
163
- ];
164
- }
165
- /** Loosely defined geospatial bounding box in unspecified CRS for quick content searches */
166
- function extractWMSBoundingBoxes(xmlBoundingBoxes) {
167
- const xmlBoxes = (0, parse_xml_helpers_1.getXMLArray)(xmlBoundingBoxes);
168
- return xmlBoxes.map((xmlBox) => extractWMSBoundingBox(xmlBox));
169
- }
170
- /** Loosely defined geospatial bounding box in unspecified CRS for quick content searches */
171
- function extractWMSBoundingBox(xmlBoundingBox) {
172
- const { CRS, SRS, minx, miny, maxx, maxy, resx, resy } = xmlBoundingBox;
173
- const boundingBox = {
174
- // CRS in 1.3.0, SRS in 1.1.1
175
- crs: CRS || SRS,
176
- boundingBox: [
177
- [(0, parse_xml_helpers_1.getXMLFloat)(minx), (0, parse_xml_helpers_1.getXMLFloat)(miny)],
178
- [(0, parse_xml_helpers_1.getXMLFloat)(maxx), (0, parse_xml_helpers_1.getXMLFloat)(maxy)]
179
- ]
180
- };
181
- if (resx) {
182
- boundingBox.xResolution = resx;
183
- }
184
- if (resy) {
185
- boundingBox.yResolution = resy;
186
- }
187
- return boundingBox;
188
- }
189
- /**
190
- * Extracts optional WMS Dimension layer field
191
- * @param xmlDimension
192
- * @example <Dimension name="time" units="ISO8601" default="2018-01-01" nearestValue="0">2001-01-01/2018-01-01/P1Y</Dimension>
193
- * @see https://mapserver.org/ogc/wms_dimension.html
194
- */
195
- function extractDimension(xmlDimension) {
196
- const { name, units, value: extent } = xmlDimension;
197
- const dimension = { name, units, extent };
198
- if (xmlDimension.unitSymbol) {
199
- dimension.unitSymbol = xmlDimension.unitSymbol;
200
- }
201
- if (xmlDimension.default) {
202
- dimension.defaultValue = xmlDimension.default;
203
- }
204
- if (xmlDimension.multipleValues) {
205
- dimension.multipleValues = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.multipleValues);
206
- }
207
- if (xmlDimension.nearestValue) {
208
- dimension.nearestValue = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.nearestValue);
209
- }
210
- if (xmlDimension.current) {
211
- dimension.current = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.current);
212
- }
213
- return dimension;
214
- }
215
- /** Traverse layers and inject missing props from parents */
216
- // eslint-disable-next-line complexity
217
- function addInheritedLayerProps(layer, parent) {
218
- if (parent?.geographicBoundingBox && !layer.geographicBoundingBox) {
219
- layer.geographicBoundingBox = [...parent.geographicBoundingBox];
220
- }
221
- if (parent?.crs && !layer.crs) {
222
- layer.crs = [...parent.crs];
223
- }
224
- if (parent?.boundingBoxes && !layer.boundingBoxes) {
225
- layer.boundingBoxes = [...parent.boundingBoxes];
226
- }
227
- if (parent?.dimensions && !layer.dimensions) {
228
- layer.dimensions = [...parent.dimensions];
229
- }
230
- for (const subLayer of layer.layers || []) {
231
- addInheritedLayerProps(subLayer, layer);
232
- }
233
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.parseWMSError = void 0;
5
- const xml_1 = require("@loaders.gl/xml");
6
- /**
7
- * Extract an error message from WMS error response XML
8
- * @param text
9
- * @param options
10
- * @returns a string with a human readable message
11
- */
12
- function parseWMSError(text, options) {
13
- const parsedXML = xml_1.XMLLoader.parseTextSync?.(text, options);
14
- const serviceExceptionXML = parsedXML?.ServiceExceptionReport?.ServiceException ||
15
- parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];
16
- // Sigh, can be either a string or an object
17
- const message = typeof serviceExceptionXML === 'string'
18
- ? serviceExceptionXML
19
- : serviceExceptionXML.value || serviceExceptionXML.code || 'Unknown error';
20
- return message;
21
- }
22
- exports.parseWMSError = parseWMSError;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.parseWMSFeatureInfo = void 0;
5
- const xml_1 = require("@loaders.gl/xml");
6
- /**
7
- * Parses a typed data structure from raw XML for `GetFeatureInfo` response
8
- * @note Error handlings is fairly weak
9
- */
10
- function parseWMSFeatureInfo(text, options) {
11
- const parsedXML = xml_1.XMLLoader.parseTextSync?.(text, options);
12
- const xmlFeatureInfo = parsedXML.FeatureInfoResponse?.FIELDS || [];
13
- const xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
14
- return {
15
- features: xmlFeatures.map((xmlFeature) => extractFeature(xmlFeature))
16
- };
17
- }
18
- exports.parseWMSFeatureInfo = parseWMSFeatureInfo;
19
- function extractFeature(xmlFeature) {
20
- const xmlFields = xmlFeature || {};
21
- // TODO - not correct
22
- return {
23
- attributes: xmlFields,
24
- type: '',
25
- bounds: { bottom: 0, top: 0, left: 0, right: 0 }
26
- };
27
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.parseWMSLayerDescription = void 0;
5
- const xml_1 = require("@loaders.gl/xml");
6
- /**
7
- * Parses a typed data structure from raw XML for `GetFeatureInfo` response
8
- * @note Error handlings is fairly weak
9
- */
10
- function parseWMSLayerDescription(text, options) {
11
- const parsedXML = xml_1.XMLLoader.parseTextSync?.(text, options);
12
- // TODO - implement parser
13
- return parsedXML;
14
- }
15
- exports.parseWMSLayerDescription = parseWMSLayerDescription;
@@ -1,68 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getXMLBoolean = exports.getXMLInteger = exports.getXMLFloat = exports.getXMLStringArray = exports.getXMLArray = void 0;
5
- /** A single element of an array is not represented as an array in XML */
6
- function getXMLArray(xmlValue) {
7
- // Already an array, return as is
8
- if (Array.isArray(xmlValue)) {
9
- return xmlValue;
10
- }
11
- // Single value, wrap in array
12
- if (xmlValue) {
13
- return [xmlValue];
14
- }
15
- // nullish, return empty array
16
- return [];
17
- }
18
- exports.getXMLArray = getXMLArray;
19
- /** Get a list of strings from XML */
20
- function getXMLStringArray(xmlValue) {
21
- const xmlArray = getXMLArray(xmlValue);
22
- if (xmlArray.length > 0 && xmlArray.every((_) => typeof _ === 'string')) {
23
- return xmlArray;
24
- }
25
- // TODO - error handling?
26
- return [];
27
- }
28
- exports.getXMLStringArray = getXMLStringArray;
29
- /** Get XML float */
30
- function getXMLFloat(xmlValue, defaultValue = undefined) {
31
- switch (typeof xmlValue) {
32
- case 'number':
33
- return xmlValue;
34
- case 'string':
35
- return parseFloat(xmlValue);
36
- default:
37
- return undefined;
38
- }
39
- }
40
- exports.getXMLFloat = getXMLFloat;
41
- /** Get XML integer */
42
- function getXMLInteger(xmlValue, defaultValue = undefined) {
43
- switch (typeof xmlValue) {
44
- case 'number':
45
- return xmlValue;
46
- case 'string':
47
- return parseInt(xmlValue, 10);
48
- default:
49
- return undefined;
50
- }
51
- }
52
- exports.getXMLInteger = getXMLInteger;
53
- /** Somewhat arbitrary boolean parsing */
54
- function getXMLBoolean(xmlValue) {
55
- switch (xmlValue) {
56
- case 'true':
57
- return true;
58
- case 'false':
59
- return false;
60
- case '1':
61
- return true;
62
- case '0':
63
- return false;
64
- default:
65
- return false;
66
- }
67
- }
68
- exports.getXMLBoolean = getXMLBoolean;
@@ -1 +0,0 @@
1
- {"version":3,"file":"arcgis-image-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/arcgis/arcgis-image-service.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ArcGISImageServer = void 0;
5
- const image_source_1 = require("../../sources/image-source");
6
- /**
7
- * ArcGIS ImageServer
8
- * Note - exports a big API, that could be exposed here if there is a use case
9
- * @see https://developers.arcgis.com/rest/services-reference/enterprise/image-service.htm
10
- */
11
- class ArcGISImageServer extends image_source_1.ImageSource {
12
- constructor(props) {
13
- super(props);
14
- }
15
- // ImageSource (normalized endpoints)
16
- async getMetadata() {
17
- return (await this.metadata());
18
- // TODO - normalize metadata
19
- }
20
- async getImage(parameters) {
21
- throw new Error('not implemented');
22
- // TODO - Map generic parameters to ArcGIS specific parameters
23
- // return await this.exportImage(parameters);
24
- }
25
- // ImageServer endpoints
26
- async metadata() {
27
- // We just need a JSON parsing...
28
- // return this.getUrl({path: '', ...options});
29
- throw new Error('not implemented');
30
- }
31
- /**
32
- * Form a URL to an ESRI ImageServer
33
- // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&compressionQuality=&bandIds=&mosaicRule=&renderingRule=&f=image`,
34
- */
35
- exportImage(options) {
36
- // See WMSService.getMap()
37
- throw new Error('not implemented');
38
- }
39
- // URL creators
40
- metadataURL(options) {
41
- return `${this.props.url}?f=pjson`;
42
- }
43
- /**
44
- * Form a URL to an ESRI ImageServer
45
- // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?
46
- // bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&
47
- // size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&
48
- // noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&
49
- // compressionQuality=&bandIds=&mosaicRule=&renderingRule=&
50
- // f=image
51
- */
52
- exportImageURL(options) {
53
- const bbox = `bbox=${options.bbox[0]},${options.bbox[1]},${options.bbox[2]},${options.bbox[3]}`;
54
- const size = `size=${options.width},${options.height}`;
55
- const arcgisOptions = { ...options, bbox, size };
56
- // @ts-expect-error
57
- delete arcgisOptions.width;
58
- // @ts-expect-error
59
- delete arcgisOptions.height;
60
- return this.getUrl('exportImage', arcgisOptions);
61
- }
62
- // INTERNAL METHODS
63
- /**
64
- * @note protected, since perhaps getWMSUrl may need to be overridden to handle certain backends?
65
- * @note if override is common, maybe add a callback prop?
66
- * */
67
- getUrl(path, options, extra) {
68
- let url = `${this.props.url}/${path}`;
69
- let first = true;
70
- for (const [key, value] of Object.entries(options)) {
71
- url += first ? '?' : '&';
72
- first = false;
73
- if (Array.isArray(value)) {
74
- url += `${key.toUpperCase()}=${value.join(',')}`;
75
- }
76
- else {
77
- url += `${key.toUpperCase()}=${value ? String(value) : ''}`;
78
- }
79
- }
80
- return url;
81
- }
82
- /** Checks for and parses a WMS XML formatted ServiceError and throws an exception */
83
- async checkResponse(response) {
84
- if (!response.ok) {
85
- // } || response.headers['content-type'] === WMSErrorLoader.mimeTypes[0]) {
86
- // const arrayBuffer = await response.arrayBuffer();
87
- // const error = await WMSErrorLoader.parse(arrayBuffer, this.loadOptions);
88
- throw new Error('error');
89
- }
90
- }
91
- }
92
- ArcGISImageServer.type = 'arcgis-image-server';
93
- ArcGISImageServer.testURL = (url) => url.toLowerCase().includes('ImageServer');
94
- exports.ArcGISImageServer = ArcGISImageServer;
@@ -1 +0,0 @@
1
- {"version":3,"file":"arcgis-server.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/arcgis/arcgis-server.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC;AAEhE,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC;AAE9B;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAM3B"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getArcGISServices = void 0;
5
- /**
6
- * (Recursively) load the service directory from an ArcGIS Server URL
7
- * @param url
8
- * @param fetchFile= Optional fetch function override
9
- * @returns
10
- */
11
- async function getArcGISServices(url, fetchFile = fetch) {
12
- if (url.includes('rest/services')) {
13
- const serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
14
- return loadServiceDirectory(serverUrl, fetchFile, []);
15
- }
16
- return null;
17
- }
18
- exports.getArcGISServices = getArcGISServices;
19
- async function loadServiceDirectory(serverUrl, fetch, path) {
20
- const serviceUrl = `${serverUrl}/${path.join('/')}`;
21
- const response = await fetch(`${serviceUrl}?f=pjson`);
22
- const directory = await response.json();
23
- const services = extractServices(directory, serviceUrl);
24
- const folders = (directory.folders || []);
25
- const promises = folders.map((folder) => loadServiceDirectory(`${serverUrl}`, fetch, [...path, folder]));
26
- for (const folderServices of await Promise.all(promises)) {
27
- services.push(...folderServices);
28
- }
29
- return services;
30
- }
31
- function extractServices(directory, url) {
32
- const arcgisServices = (directory.services || []);
33
- const services = [];
34
- for (const service of arcgisServices) {
35
- services.push({
36
- name: service.name,
37
- type: `arcgis-${service.type.toLocaleLowerCase().replace('server', '-server')}`,
38
- url: `${url}${service.name}/${service.type}`
39
- });
40
- }
41
- return services;
42
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/generic/image-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAGlD,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAEvD,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAY,CAAC,MAAM,SAAS,iBAAiB,CAAE,SAAQ,WAAW,CAAC,MAAM,CAAC;IACrF,MAAM,CAAC,IAAI,EAAE,UAAU,CAAc;IACrC,MAAM,CAAC,OAAO,QAAS,MAAM,KAAG,OAAO,CAAoC;gBAE/D,KAAK,EAAE,MAAM;IAMnB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI3C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAUlE,wDAAwD;IACxD,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKxF,yCAAyC;IACzC,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAU1E"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- // loaders.gl, MIT license
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ImageService = void 0;
5
- const images_1 = require("@loaders.gl/images");
6
- const image_source_1 = require("../../sources/image-source");
7
- /**
8
- * Quickly connect to "ad hoc" image sources without subclassing ImageSource.
9
- * ImageSource allows template url strings to be used to ad hoc connect to arbitrary image data sources
10
- * Accepts a template url string and builds requests URLs
11
- */
12
- class ImageService extends image_source_1.ImageSource {
13
- constructor(props) {
14
- super(props);
15
- }
16
- // IMAGE SOURCE API
17
- async getMetadata() {
18
- throw new Error('ImageSource.getMetadata not implemented');
19
- }
20
- async getImage(parameters) {
21
- const granularParameters = this.getGranularParameters(parameters);
22
- const url = this.getURLFromTemplate(granularParameters);
23
- const response = await this.fetch(url);
24
- const arrayBuffer = await response.arrayBuffer();
25
- return await images_1.ImageLoader.parse(arrayBuffer);
26
- }
27
- // HELPERS
28
- /** Break up bounding box in east, north, south, west */
29
- getGranularParameters(parameters) {
30
- const [east, north, west, south] = parameters.bbox;
31
- return { ...parameters, east, north, south, west };
32
- }
33
- /** Supports both ${} and {} notations */
34
- getURLFromTemplate(parameters) {
35
- let url = this.props.url;
36
- for (const [key, value] of Object.entries(parameters)) {
37
- // TODO - parameter could be repeated
38
- // const regex = new RegExp(`\${${key}}`, 'g');
39
- url = url.replace(`\${${key}}`, String(value));
40
- url = url.replace(`{${key}}`, String(value));
41
- }
42
- return url;
43
- }
44
- }
45
- ImageService.type = 'template';
46
- ImageService.testURL = (url) => url.toLowerCase().includes('{');
47
- exports.ImageService = ImageService;
@@ -1 +0,0 @@
1
- {"version":3,"file":"csw-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/ogc/csw-service.ts"],"names":[],"mappings":"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"}