@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,48 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import {ImageSource} from './sources/image-source';
4
- import {ImageService, ImageServiceProps} from './services/generic/image-service';
5
- import type {WMSServiceProps} from './services/ogc/wms-service';
6
- import {WMSService} from './services/ogc/wms-service';
7
- import {ArcGISImageServer} from './services/arcgis/arcgis-image-service';
8
-
9
- export type ImageServiceType = 'wms' | 'arcgis-image-server' | 'template';
10
-
11
- const SERVICES = [WMSService, ArcGISImageServer, ImageService];
12
-
13
- type ImageSourceProps = ImageServiceProps &
14
- WMSServiceProps & {
15
- type?: ImageServiceType | 'auto';
16
- };
17
-
18
- /**
19
- * Creates an image source
20
- * If type is not supplied, will try to automatically detect the the
21
- * @param url URL to the image source
22
- * @param type type of source. if not known, set to 'auto'
23
- * @returns an ImageSource instance
24
- */
25
- export function createImageSource(props: ImageSourceProps): ImageSource<ImageSourceProps> {
26
- const {type = 'auto'} = props;
27
- const serviceType = type === 'auto' ? guessServiceType(props.url) : type;
28
- switch (serviceType) {
29
- case 'template':
30
- return new ImageService(props);
31
- case 'wms':
32
- return new WMSService(props);
33
- default:
34
- // currently only wms service supported
35
- throw new Error('Not a valid image source type');
36
- }
37
- }
38
-
39
- /** Guess service type from URL */
40
- function guessServiceType(url: string): ImageServiceType {
41
- for (const Service of SERVICES) {
42
- if (Service.testURL && Service.testURL(url)) {
43
- return Service.type;
44
- }
45
- }
46
- // If all else fails, guess that this is MS service
47
- return 'wms';
48
- }
@@ -1,73 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import type {LoaderOptions} from '@loaders.gl/loader-utils';
4
-
5
- export type DataSourceProps = {
6
- /** LoaderOptions provide an option to override `fetch`. Will also be passed to any sub loaders */
7
- loadOptions?: LoaderOptions;
8
- };
9
-
10
- /** base class of all data sources */
11
- export abstract class DataSource<PropsT extends DataSourceProps> {
12
- /** A resolved fetch function extracted from loadOptions prop */
13
- fetch: (url: string, options?: RequestInit) => Promise<Response>;
14
- /** The actual load options, if calling a loaders.gl loader */
15
- loadOptions: LoaderOptions;
16
- _needsRefresh: boolean = true;
17
-
18
- props: PropsT;
19
-
20
- constructor(props: PropsT) {
21
- this.props = {...props};
22
- this.loadOptions = {...props.loadOptions};
23
- this.fetch = getFetchFunction(this.loadOptions);
24
- }
25
-
26
- setProps(props: PropsT) {
27
- this.props = Object.assign(this.props, props);
28
- // TODO - add a shallow compare to avoid setting refresh if no change?
29
- this.setNeedsRefresh();
30
- }
31
-
32
- /** Mark this data source as needing a refresh (redraw) */
33
- setNeedsRefresh(): void {
34
- this._needsRefresh = true;
35
- }
36
-
37
- /**
38
- * Does this data source need refreshing?
39
- * @note The specifics of the refresh mechanism depends on type of data source
40
- */
41
- getNeedsRefresh(clear: boolean = true) {
42
- const needsRefresh = this._needsRefresh;
43
- if (clear) {
44
- this._needsRefresh = false;
45
- }
46
- return needsRefresh;
47
- }
48
- }
49
-
50
- /**
51
- * Gets the current fetch function from options
52
- * @todo - move to loader-utils module
53
- * @todo - use in core module counterpart
54
- * @param options
55
- * @param context
56
- */
57
- export function getFetchFunction(options?: LoaderOptions) {
58
- const fetchFunction = options?.fetch;
59
-
60
- // options.fetch can be a function
61
- if (fetchFunction && typeof fetchFunction === 'function') {
62
- return (url: string, fetchOptions?: RequestInit) => fetchFunction(url, fetchOptions);
63
- }
64
-
65
- // options.fetch can be an options object, use global fetch with those options
66
- const fetchOptions = options?.fetch;
67
- if (fetchOptions && typeof fetchOptions !== 'function') {
68
- return (url) => fetch(url, fetchOptions);
69
- }
70
-
71
- // else return the global fetch function
72
- return (url) => fetch(url);
73
- }
@@ -1,92 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import type {ImageType} from '@loaders.gl/images';
4
- import type {DataSourceProps} from './data-source';
5
- import {DataSource} from './data-source';
6
-
7
- /**
8
- * Normalized capabilities of an Image service
9
- * @example
10
- * The WMSService will normalize the response to the WMS `GetCapabilities`
11
- * data structure extracted from WMS XML response into an ImageSourceMetadata.
12
- */
13
- export type ImageSourceMetadata = {
14
- name: string;
15
- title?: string;
16
- abstract?: string;
17
- keywords: string[];
18
- layers: ImageSourceLayer[];
19
- };
20
-
21
- /** Description of one data layer in the image source */
22
- export type ImageSourceLayer = {
23
- /** Name of this layer */
24
- name?: string;
25
- /** Human readable title of this layer */
26
- title?: string;
27
- /** Coordinate systems supported by this layer */
28
- crs?: string[];
29
- /** layer limits in unspecified CRS:84-like lng/lat, for quick access w/o CRS calculations. */
30
- geographicBoundingBox?: [min: [x: number, y: number], max: [x: number, y: number]];
31
- /** Sub layers of this layer */
32
- layers?: ImageSourceLayer[];
33
-
34
- /** @deprecated from v3.4: non-vis.gl style bounding box. Use `.geographicBoundingBox` instead */
35
- boundingBox?: [number, number, number, number];
36
- };
37
-
38
- /** Generic parameters for requesting an image from an image source */
39
- export type GetImageParameters = {
40
- /** Layers to render */
41
- layers: string | string[];
42
- /** Styling */
43
- styles?: unknown;
44
- /** bounding box of the requested map image */
45
- bbox: [number, number, number, number];
46
- /** pixel width of returned image */
47
- width: number;
48
- /** pixels */
49
- height: number;
50
- /** crs for the image (not the bounding box) */
51
- crs?: string;
52
- /** requested format for the return image */
53
- format?: 'image/png';
54
- };
55
-
56
- // Attempt to break down GetImageParameters
57
- export type ImageFilters = {
58
- /** Layers to render */
59
- layers: string | string[];
60
- /** Styling */
61
- styles?: unknown;
62
- };
63
-
64
- export type ImageRegion = {
65
- /** bounding box of the requested map image */
66
- bbox: [number, number, number, number];
67
- };
68
-
69
- export type ImageFormat = {
70
- /** pixel width of returned image */
71
- width: number;
72
- /** pixels */
73
- height: number;
74
- /** crs for the image (not the bounding box) */
75
- crs?: string;
76
- /** requested format for the return image */
77
- format?: 'image/png';
78
- };
79
-
80
- export type ImageSourceProps = DataSourceProps;
81
-
82
- /**
83
- * MapImageSource - data sources that allow data to be queried by (geospatial) extents
84
- * @note
85
- * - If geospatial, bounding box is expected to be in web mercator coordinates
86
- */
87
- export abstract class ImageSource<
88
- PropsT extends ImageSourceProps = ImageSourceProps
89
- > extends DataSource<PropsT> {
90
- abstract getMetadata(): Promise<ImageSourceMetadata>;
91
- abstract getImage(parameters: GetImageParameters): Promise<ImageType>;
92
- }
@@ -1,61 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import type {ImageType} from '@loaders.gl/images';
4
- import {DataSource, DataSourceProps} from './data-source';
5
-
6
- /**
7
- * Normalized capabilities of an Image service
8
- * @example
9
- * The WMSService will normalize the response to the WMS `GetCapabilities` data structure extracted from WMS XML response
10
- * into an TileSourceMetadata.
11
- */
12
- export type TileSourceMetadata = {
13
- name: string;
14
- title?: string;
15
- abstract?: string;
16
- keywords: string[];
17
- layer: {
18
- name: string;
19
- title?: string;
20
- srs?: string[];
21
- boundingBox?: [number, number, number, number];
22
- layers: TileSourceLayer[];
23
- };
24
- };
25
-
26
- export type TileSourceLayer = {
27
- name: string;
28
- title?: string;
29
- srs?: string[];
30
- boundingBox?: [number, number, number, number];
31
- layers: TileSourceLayer[];
32
- };
33
-
34
- export type GetTileParameters = {
35
- /** Layers to render */
36
- layers: string | string[];
37
- /** Styling */
38
- styles?: unknown;
39
- /** bounding box of the requested map image */
40
- zoom: number;
41
- /** tile x coordinate */
42
- x: number;
43
- /** tile y coordinate */
44
- y: number;
45
- /** srs for the image (not the bounding box) */
46
- srs?: string;
47
- /** requested format for the return image */
48
- format?: 'image/png';
49
- };
50
-
51
- type TileSourceProps = DataSourceProps;
52
-
53
- /**
54
- * MapTileSource - data sources that allow data to be queried by (geospatial) extents
55
- * @note
56
- * - If geospatial, bounding box is expected to be in web mercator coordinates
57
- */
58
- export abstract class TileSource<PropsT extends TileSourceProps> extends DataSource<PropsT> {
59
- abstract getMetadata(): Promise<TileSourceMetadata>;
60
- abstract getTile(parameters: GetTileParameters): Promise<ImageType>;
61
- }
@@ -1,42 +0,0 @@
1
- // loaders.gl, MIT license
2
-
3
- import type {LoaderOptions} from '@loaders.gl/loader-utils';
4
-
5
- /**
6
- * Gets the current fetch function from options
7
- * @todo - move to loader-utils module
8
- * @todo - use in core module counterpart
9
- * @param options
10
- * @param context
11
- */
12
- export function getFetchFunction(options?: LoaderOptions) {
13
- const fetchFunction = options?.fetch;
14
-
15
- // options.fetch can be a function
16
- if (fetchFunction && typeof fetchFunction === 'function') {
17
- return (url: string, fetchOptions?: RequestInit) => fetchFunction(url, fetchOptions);
18
- }
19
-
20
- // options.fetch can be an options object, use global fetch with those options
21
- const fetchOptions = options?.fetch;
22
- if (fetchOptions && typeof fetchOptions !== 'function') {
23
- return (url) => fetch(url, fetchOptions);
24
- }
25
-
26
- // else return the global fetch function
27
- return (url) => fetch(url);
28
- }
29
-
30
- export function mergeImageServiceProps<Props extends {loadOptions?: any}>(
31
- props: Props
32
- ): Required<Props> {
33
- // @ts-expect-error
34
- return {
35
- // Default fetch
36
- ...props,
37
- loadOptions: {
38
- ...props.loadOptions,
39
- fetch: getFetchFunction(props.loadOptions)
40
- }
41
- };
42
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes