@loaders.gl/wms 4.3.0-alpha.1 → 4.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/csw-capabilities-loader.js +1 -1
- package/dist/csw-domain-loader.js +1 -1
- package/dist/csw-records-loader.js +1 -1
- package/dist/gml-loader.js +1 -1
- package/dist/index.cjs +125 -300
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +7 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -10
- package/dist/lib/deprecated/create-image-source.d.ts +21 -0
- package/dist/lib/deprecated/create-image-source.d.ts.map +1 -0
- package/dist/lib/deprecated/create-image-source.js +44 -0
- package/dist/lib/parsers/wfs/parse-wfs-capabilities.d.ts.map +1 -0
- package/dist/{wip/lib → lib/parsers}/wfs/parse-wfs-capabilities.js +5 -2
- package/dist/lib/parsers/wfs/parse-wfs.d.ts.map +1 -0
- package/dist/services/arcgis/arcgis-feature-server.d.ts +67 -0
- package/dist/services/arcgis/arcgis-feature-server.d.ts.map +1 -0
- package/dist/services/arcgis/arcgis-feature-server.js +446 -0
- package/dist/services/arcgis/{arcgis-image-service.d.ts → arcgis-image-server.d.ts} +25 -10
- package/dist/services/arcgis/arcgis-image-server.d.ts.map +1 -0
- package/dist/services/arcgis/{arcgis-image-service.js → arcgis-image-server.js} +28 -11
- package/dist/services/ogc/csw-service.d.ts +13 -13
- package/dist/services/ogc/csw-service.d.ts.map +1 -1
- package/dist/services/ogc/wfs-service.d.ts +279 -0
- package/dist/services/ogc/wfs-service.d.ts.map +1 -0
- package/dist/services/ogc/wfs-service.js +388 -0
- package/dist/services/ogc/wms-service.d.ts +42 -21
- package/dist/services/ogc/wms-service.d.ts.map +1 -1
- package/dist/services/ogc/wms-service.js +29 -14
- package/dist/{wip/wfs-capabilities-loader.d.ts → wfs-capabilities-loader.d.ts} +2 -1
- package/dist/wfs-capabilities-loader.d.ts.map +1 -0
- package/dist/{wip/wfs-capabilities-loader.js → wfs-capabilities-loader.js} +3 -2
- package/dist/wip/wcs-capabilities-loader.js +1 -1
- package/dist/wip/wmts-capabilities-loader.js +1 -1
- package/dist/wms-capabilities-loader.js +1 -1
- package/dist/wms-error-loader.js +1 -1
- package/package.json +6 -6
- package/src/index.ts +12 -24
- package/src/lib/{services/create-image-service.ts → deprecated/create-image-service.ts.disabled} +4 -4
- package/src/lib/deprecated/create-image-source.ts +70 -0
- package/src/{wip/lib → lib/parsers}/wfs/parse-wfs-capabilities.ts +8 -5
- package/src/services/arcgis/arcgis-feature-server.ts +506 -0
- package/src/services/arcgis/{arcgis-image-service.ts → arcgis-image-server.ts} +41 -18
- package/src/services/ogc/csw-service.ts +17 -15
- package/src/services/ogc/wfs-service.ts +624 -0
- package/src/services/ogc/wms-service.ts +54 -30
- package/src/{wip/wfs-capabilities-loader.ts → wfs-capabilities-loader.ts} +3 -2
- package/dist/lib/services/create-image-service.d.ts +0 -14
- package/dist/lib/services/create-image-service.d.ts.map +0 -1
- package/dist/lib/services/create-image-service.js +0 -39
- package/dist/lib/services/image-service.d.ts +0 -28
- package/dist/lib/services/image-service.d.ts.map +0 -1
- package/dist/lib/services/image-service.js +0 -45
- package/dist/services/arcgis/arcgis-image-service.d.ts.map +0 -1
- package/dist/services/create-image-source.d.ts +0 -18
- package/dist/services/create-image-source.d.ts.map +0 -1
- package/dist/services/create-image-source.js +0 -17
- package/dist/wip/lib/wfs/parse-wfs-capabilities.d.ts.map +0 -1
- package/dist/wip/lib/wfs/parse-wfs.d.ts.map +0 -1
- package/dist/wip/services/arcgis-feature-service.d.ts +0 -56
- package/dist/wip/services/arcgis-feature-service.d.ts.map +0 -1
- package/dist/wip/services/arcgis-feature-service.js +0 -27
- package/dist/wip/wfs-capabilities-loader.d.ts.map +0 -1
- package/src/services/create-image-source.ts +0 -33
- package/src/wip/services/arcgis-feature-service.ts +0 -89
- /package/dist/{wip/lib → lib/parsers}/wfs/parse-wfs-capabilities.d.ts +0 -0
- /package/dist/{wip/lib → lib/parsers}/wfs/parse-wfs.d.ts +0 -0
- /package/dist/{wip/lib → lib/parsers}/wfs/parse-wfs.js +0 -0
- /package/src/lib/{services/image-service.ts → deprecated/template-image-service.ts.disabled} +0 -0
- /package/src/{wip/lib → lib/parsers}/wfs/parse-wfs.ts +0 -0
|
@@ -7,9 +7,9 @@ import type {ImageType} from '@loaders.gl/images';
|
|
|
7
7
|
import {ImageLoader} from '@loaders.gl/images';
|
|
8
8
|
import {mergeLoaderOptions} from '@loaders.gl/loader-utils';
|
|
9
9
|
|
|
10
|
-
import type {
|
|
10
|
+
import type {Source, ImageSourceMetadata, GetImageParameters} from '@loaders.gl/loader-utils';
|
|
11
|
+
import type {ImageSourceProps} from '@loaders.gl/loader-utils';
|
|
11
12
|
import {ImageSource} from '@loaders.gl/loader-utils';
|
|
12
|
-
import type {ImageServiceProps} from '../../lib/services/image-service';
|
|
13
13
|
|
|
14
14
|
import type {WMSCapabilities} from '../../wms-capabilities-loader';
|
|
15
15
|
import type {WMSFeatureInfo} from '../../wip/wms-feature-info-loader';
|
|
@@ -22,15 +22,50 @@ import {WMSLayerDescriptionLoader} from '../../wip/wms-layer-description-loader'
|
|
|
22
22
|
import type {WMSLoaderOptions} from '../../wms-error-loader';
|
|
23
23
|
import {WMSErrorLoader} from '../../wms-error-loader';
|
|
24
24
|
|
|
25
|
-
export const
|
|
25
|
+
export const WMSSource = {
|
|
26
|
+
name: 'Web Map Service (OGC WMS)',
|
|
27
|
+
id: 'wms',
|
|
28
|
+
module: 'wms',
|
|
29
|
+
version: '0.0.0',
|
|
30
|
+
extensions: [],
|
|
31
|
+
mimeTypes: [],
|
|
32
|
+
options: {
|
|
33
|
+
wms: {
|
|
34
|
+
// TODO - add options here
|
|
35
|
+
}
|
|
36
|
+
},
|
|
26
37
|
type: 'wms',
|
|
38
|
+
fromUrl: true,
|
|
39
|
+
fromBlob: false,
|
|
40
|
+
|
|
27
41
|
testURL: (url: string): boolean => url.toLowerCase().includes('wms'),
|
|
28
|
-
|
|
42
|
+
createDataSource: (url, props: WMSImageSourceProps) => new WMSImageSource(url as string, props)
|
|
43
|
+
} as const satisfies Source<WMSImageSource, WMSImageSourceProps>;
|
|
44
|
+
|
|
45
|
+
/** Properties for creating a enw WMS service */
|
|
46
|
+
export type WMSImageSourceProps = ImageSourceProps & {
|
|
47
|
+
/** @deprecated Use props.wms.substituteCRS84 */
|
|
48
|
+
substituteCRS84?: boolean;
|
|
49
|
+
/** @deprecated Use props.wms.wmsParameters */
|
|
50
|
+
wmsParameters?: WMSParameters;
|
|
51
|
+
/** @deprecated Use props.wms.vendorParameters */
|
|
52
|
+
vendorParameters?: Record<string, unknown>;
|
|
53
|
+
wms?: {
|
|
54
|
+
// TODO - move parameters inside WMS scope
|
|
55
|
+
/** In 1.3.0, replaces references to EPSG:4326 with CRS:84 */
|
|
56
|
+
substituteCRS84?: boolean;
|
|
57
|
+
/** Default WMS parameters. If not provided here, must be provided in the various request */
|
|
58
|
+
wmsParameters?: WMSParameters;
|
|
59
|
+
/** Any additional service specific parameters */
|
|
60
|
+
vendorParameters?: Record<string, unknown>;
|
|
61
|
+
};
|
|
29
62
|
};
|
|
30
63
|
|
|
64
|
+
// PARAMETER TYPES FOR WMS SOURCE
|
|
65
|
+
|
|
31
66
|
/**
|
|
32
67
|
* "Static" WMS parameters (not viewport or selected pixel dependent)
|
|
33
|
-
* These can be provided as defaults in the
|
|
68
|
+
* These can be provided as defaults in the WMSImageSource constructor
|
|
34
69
|
*/
|
|
35
70
|
export type WMSParameters = {
|
|
36
71
|
/** WMS version (all requests) */
|
|
@@ -48,7 +83,7 @@ export type WMSParameters = {
|
|
|
48
83
|
info_format?: 'text/plain' | 'application/geojson' | 'application/vnd.ogc.gml';
|
|
49
84
|
/** Styling - Not yet supported */
|
|
50
85
|
styles?: unknown;
|
|
51
|
-
/** Any additional parameters specific to this
|
|
86
|
+
/** Any additional parameters specific to this WMSImageSource (GetMap) */
|
|
52
87
|
transparent?: boolean;
|
|
53
88
|
/** If layer supports time dimension */
|
|
54
89
|
time?: string;
|
|
@@ -161,26 +196,14 @@ export type WMSGetLegendGraphicParameters = {
|
|
|
161
196
|
|
|
162
197
|
//
|
|
163
198
|
|
|
164
|
-
/** Properties for creating a enw WMS service */
|
|
165
|
-
export type WMSSourceProps = ImageServiceProps & {
|
|
166
|
-
/** Base URL to the service */
|
|
167
|
-
url: string;
|
|
168
|
-
/** In 1.3.0, replaces references to EPSG:4326 with CRS:84 */
|
|
169
|
-
substituteCRS84?: boolean;
|
|
170
|
-
/** Default WMS parameters. If not provided here, must be provided in the various request */
|
|
171
|
-
wmsParameters?: WMSParameters;
|
|
172
|
-
/** Any additional service specific parameters */
|
|
173
|
-
vendorParameters?: Record<string, unknown>;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
199
|
/**
|
|
177
|
-
* The
|
|
200
|
+
* The WMSImageSource class provides
|
|
178
201
|
* - provides type safe methods to form URLs to a WMS service
|
|
179
202
|
* - provides type safe methods to query and parse results (and errors) from a WMS service
|
|
180
|
-
* - implements the
|
|
203
|
+
* - implements the ImageSource interface
|
|
181
204
|
* @note Only the URL parameter conversion is supported. XML posts are not supported.
|
|
182
205
|
*/
|
|
183
|
-
export class
|
|
206
|
+
export class WMSImageSource extends ImageSource<WMSImageSourceProps> {
|
|
184
207
|
/** Base URL to the service */
|
|
185
208
|
readonly url: string;
|
|
186
209
|
readonly data: string;
|
|
@@ -197,18 +220,18 @@ export class WMSSource extends ImageSource<WMSSourceProps> {
|
|
|
197
220
|
|
|
198
221
|
capabilities: WMSCapabilities | null = null;
|
|
199
222
|
|
|
200
|
-
/** Create a
|
|
201
|
-
constructor(props:
|
|
223
|
+
/** Create a WMSImageSource */
|
|
224
|
+
constructor(url: string, props: WMSImageSourceProps) {
|
|
202
225
|
super(props);
|
|
203
226
|
|
|
204
227
|
// TODO - defaults such as version, layers etc could be extracted from a base URL with parameters
|
|
205
228
|
// This would make pasting in any WMS URL more likely to make this class just work.
|
|
206
229
|
// const {baseUrl, parameters} = this._parseWMSUrl(props.url);
|
|
207
230
|
|
|
208
|
-
this.url =
|
|
209
|
-
this.data =
|
|
231
|
+
this.url = url;
|
|
232
|
+
this.data = url;
|
|
210
233
|
|
|
211
|
-
this.substituteCRS84 = props.substituteCRS84 ?? false;
|
|
234
|
+
this.substituteCRS84 = props.wms?.substituteCRS84 ?? props.substituteCRS84 ?? false;
|
|
212
235
|
this.flipCRS = ['EPSG:4326'];
|
|
213
236
|
|
|
214
237
|
this.wmsParameters = {
|
|
@@ -222,13 +245,14 @@ export class WMSSource extends ImageSource<WMSSourceProps> {
|
|
|
222
245
|
transparent: undefined!,
|
|
223
246
|
time: undefined!,
|
|
224
247
|
elevation: undefined!,
|
|
225
|
-
...props.wmsParameters
|
|
248
|
+
...props.wmsParameters, // deprecated
|
|
249
|
+
...props.wms?.wmsParameters
|
|
226
250
|
};
|
|
227
251
|
|
|
228
|
-
this.vendorParameters = props.vendorParameters || {};
|
|
252
|
+
this.vendorParameters = props.wms?.vendorParameters || props.vendorParameters || {};
|
|
229
253
|
}
|
|
230
254
|
|
|
231
|
-
//
|
|
255
|
+
// ImageSource implementation
|
|
232
256
|
async getMetadata(): Promise<ImageSourceMetadata> {
|
|
233
257
|
const capabilities = await this.getCapabilities();
|
|
234
258
|
return this.normalizeMetadata(capabilities);
|
|
@@ -559,7 +583,7 @@ export class WMSSource extends ImageSource<WMSSourceProps> {
|
|
|
559
583
|
wmsParameters.version === '1.3.0' &&
|
|
560
584
|
// Flip if we are dealing with a CRS that was flipped in 1.3.0
|
|
561
585
|
this.flipCRS.includes(wmsParameters.crs || '') &&
|
|
562
|
-
// Don't flip if we are
|
|
586
|
+
// Don't flip if we are substituting EPSG:4326 with CRS:84
|
|
563
587
|
!(this.substituteCRS84 && wmsParameters.crs === 'EPSG:4326');
|
|
564
588
|
|
|
565
589
|
const bbox = bboxValue as [number, number, number, number];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// loaders.gl, MIT license
|
|
2
2
|
|
|
3
3
|
import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
4
|
-
import type {WFSCapabilities} from './lib/wfs/parse-wfs-capabilities';
|
|
5
|
-
import {parseWFSCapabilities} from './lib/wfs/parse-wfs-capabilities';
|
|
4
|
+
import type {WFSCapabilities} from './lib/parsers/wfs/parse-wfs-capabilities';
|
|
5
|
+
import {parseWFSCapabilities} from './lib/parsers/wfs/parse-wfs-capabilities';
|
|
6
6
|
|
|
7
7
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
8
8
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
@@ -16,6 +16,7 @@ export type WFSLoaderOptions = LoaderOptions & {
|
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Loader for the response to the WFS GetCapability request
|
|
19
|
+
* @deprecated Warning: this loader is still experimental and incomplete
|
|
19
20
|
*/
|
|
20
21
|
export const WFSCapabilitiesLoader = {
|
|
21
22
|
dataType: null as unknown as WFSCapabilities,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ImageSource, Service } from '@loaders.gl/loader-utils';
|
|
2
|
-
import { ImageServiceProps } from "./image-service.js";
|
|
3
|
-
export type CreateImageServiceProps = ImageServiceProps & {
|
|
4
|
-
type?: string | 'auto';
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Creates an image source
|
|
8
|
-
* If type is not supplied, will try to automatically detect the the
|
|
9
|
-
* @param url URL to the image source
|
|
10
|
-
* @param type type of source. if not known, set to 'auto'
|
|
11
|
-
* @returns an ImageSource instance
|
|
12
|
-
*/
|
|
13
|
-
export declare function createImageService(props: CreateImageServiceProps, services: Service[]): ImageSource;
|
|
14
|
-
//# sourceMappingURL=create-image-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-image-service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/create-image-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,2BAAwB;AAElD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,OAAO,EAAE,GAClB,WAAW,CASb"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
/**
|
|
5
|
-
* Creates an image source
|
|
6
|
-
* If type is not supplied, will try to automatically detect the the
|
|
7
|
-
* @param url URL to the image source
|
|
8
|
-
* @param type type of source. if not known, set to 'auto'
|
|
9
|
-
* @returns an ImageSource instance
|
|
10
|
-
*/
|
|
11
|
-
export function createImageService(props, services) {
|
|
12
|
-
const { type = 'auto' } = props;
|
|
13
|
-
const service = type === 'auto' ? guessServiceType(props.url, services) : getServiceOfType(type, services);
|
|
14
|
-
if (!service) {
|
|
15
|
-
throw new Error('Not a valid image source type');
|
|
16
|
-
}
|
|
17
|
-
return service.create(props);
|
|
18
|
-
}
|
|
19
|
-
/** Guess service type from URL */
|
|
20
|
-
function getServiceOfType(type, services) {
|
|
21
|
-
// if (type === 'template') {
|
|
22
|
-
// return ImageService;
|
|
23
|
-
// }
|
|
24
|
-
for (const service of services) {
|
|
25
|
-
if (service.type === type) {
|
|
26
|
-
return service;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
/** Guess service type from URL */
|
|
32
|
-
function guessServiceType(url, services) {
|
|
33
|
-
for (const service of services) {
|
|
34
|
-
if (service.testURL && service.testURL(url)) {
|
|
35
|
-
return service;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
-
import type { ImageType } from '@loaders.gl/images';
|
|
3
|
-
import type { ImageSourceMetadata, GetImageParameters } from '@loaders.gl/loader-utils';
|
|
4
|
-
import { ImageSource } from '@loaders.gl/loader-utils';
|
|
5
|
-
/** Template URL string should contain `${width}` etc which will be substituted. */
|
|
6
|
-
export type ImageServiceProps = {
|
|
7
|
-
/** Base URL to the service */
|
|
8
|
-
url: string;
|
|
9
|
-
/** Any load options to the loaders.gl Loaders used by the WMSService methods */
|
|
10
|
-
loadOptions?: LoaderOptions;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Quickly connect to "ad hoc" image sources without subclassing ImageSource.
|
|
14
|
-
* ImageSource allows template url strings to be used to ad hoc connect to arbitrary image data sources
|
|
15
|
-
* Accepts a template url string and builds requests URLs
|
|
16
|
-
*/
|
|
17
|
-
export declare abstract class ImageService<PropsT extends ImageServiceProps = ImageServiceProps> extends ImageSource<PropsT> {
|
|
18
|
-
static type: string;
|
|
19
|
-
static testURL: (url: string) => boolean;
|
|
20
|
-
constructor(props: PropsT);
|
|
21
|
-
getMetadata(): Promise<ImageSourceMetadata>;
|
|
22
|
-
getImage(parameters: GetImageParameters): Promise<ImageType>;
|
|
23
|
-
/** Break up bounding box in east, north, south, west */
|
|
24
|
-
protected getGranularParameters(parameters: GetImageParameters): Record<string, unknown>;
|
|
25
|
-
/** Supports both ${} and {} notations */
|
|
26
|
-
protected getURLFromTemplate(parameters: Record<string, unknown>): string;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=image-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/image-service.ts"],"names":[],"mappings":"AAIA,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,0BAA0B,CAAC;AACtF,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAErD,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,8BAAsB,YAAY,CAChC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAc;IACjC,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,45 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { ImageLoader } from '@loaders.gl/images';
|
|
5
|
-
import { ImageSource } from '@loaders.gl/loader-utils';
|
|
6
|
-
/**
|
|
7
|
-
* Quickly connect to "ad hoc" image sources without subclassing ImageSource.
|
|
8
|
-
* ImageSource allows template url strings to be used to ad hoc connect to arbitrary image data sources
|
|
9
|
-
* Accepts a template url string and builds requests URLs
|
|
10
|
-
*/
|
|
11
|
-
export class ImageService extends ImageSource {
|
|
12
|
-
static type = 'template';
|
|
13
|
-
static testURL = (url) => url.toLowerCase().includes('{');
|
|
14
|
-
constructor(props) {
|
|
15
|
-
super(props);
|
|
16
|
-
}
|
|
17
|
-
// IMAGE SOURCE API
|
|
18
|
-
async getMetadata() {
|
|
19
|
-
throw new Error('ImageSource.getMetadata not implemented');
|
|
20
|
-
}
|
|
21
|
-
async getImage(parameters) {
|
|
22
|
-
const granularParameters = this.getGranularParameters(parameters);
|
|
23
|
-
const url = this.getURLFromTemplate(granularParameters);
|
|
24
|
-
const response = await this.fetch(url);
|
|
25
|
-
const arrayBuffer = await response.arrayBuffer();
|
|
26
|
-
return await ImageLoader.parse(arrayBuffer);
|
|
27
|
-
}
|
|
28
|
-
// HELPERS
|
|
29
|
-
/** Break up bounding box in east, north, south, west */
|
|
30
|
-
getGranularParameters(parameters) {
|
|
31
|
-
const [[east, north], [west, south]] = parameters.boundingBox;
|
|
32
|
-
return { ...parameters, east, north, south, west };
|
|
33
|
-
}
|
|
34
|
-
/** Supports both ${} and {} notations */
|
|
35
|
-
getURLFromTemplate(parameters) {
|
|
36
|
-
let url = this.props.url;
|
|
37
|
-
for (const [key, value] of Object.entries(parameters)) {
|
|
38
|
-
// TODO - parameter could be repeated
|
|
39
|
-
// const regex = new RegExp(`\${${key}}`, 'g');
|
|
40
|
-
url = url.replace(`\${${key}}`, String(value));
|
|
41
|
-
url = url.replace(`{${key}}`, String(value));
|
|
42
|
-
}
|
|
43
|
-
return url;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-image-service.d.ts","sourceRoot":"","sources":["../../../src/services/arcgis/arcgis-image-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ImageSource } from '@loaders.gl/loader-utils';
|
|
2
|
-
import { ImageServiceProps } from "../lib/services/image-service.js";
|
|
3
|
-
import { CreateImageServiceProps } from "../lib/services/create-image-service.js";
|
|
4
|
-
import type { WMSSourceProps } from "./ogc/wms-service.js";
|
|
5
|
-
export type ImageServiceType = 'wms' | 'arcgis-image-server' | 'template';
|
|
6
|
-
type CreateImageSourceProps = CreateImageServiceProps & ImageServiceProps & WMSSourceProps & {
|
|
7
|
-
type?: ImageServiceType | 'auto';
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Creates an image source
|
|
11
|
-
* If type is not supplied, will try to automatically detect the the
|
|
12
|
-
* @param url URL to the image source
|
|
13
|
-
* @param type type of source. if not known, set to 'auto'
|
|
14
|
-
* @returns an ImageSource instance
|
|
15
|
-
*/
|
|
16
|
-
export declare function createImageSource(props: CreateImageSourceProps): ImageSource;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=create-image-source.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-image-source.d.ts","sourceRoot":"","sources":["../../src/services/create-image-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAC,iBAAiB,EAAC,yCAAsC;AAChE,OAAO,EAAqB,uBAAuB,EAAC,gDAA6C;AAEjG,OAAO,KAAK,EAAC,cAAc,EAAC,6BAA0B;AAItD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAI1E,KAAK,sBAAsB,GAAG,uBAAuB,GACnD,iBAAiB,GACjB,cAAc,GAAG;IACf,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAClC,CAAC;AAEJ;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,WAAW,CAE5E"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { createImageService } from "../lib/services/create-image-service.js";
|
|
5
|
-
import { WMSService } from "./ogc/wms-service.js";
|
|
6
|
-
import { ArcGISImageService } from "./arcgis/arcgis-image-service.js";
|
|
7
|
-
const SERVICES = [WMSService, ArcGISImageService];
|
|
8
|
-
/**
|
|
9
|
-
* Creates an image source
|
|
10
|
-
* If type is not supplied, will try to automatically detect the the
|
|
11
|
-
* @param url URL to the image source
|
|
12
|
-
* @param type type of source. if not known, set to 'auto'
|
|
13
|
-
* @returns an ImageSource instance
|
|
14
|
-
*/
|
|
15
|
-
export function createImageSource(props) {
|
|
16
|
-
return createImageService(props, SERVICES);
|
|
17
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wfs-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/wip/lib/wfs/parse-wfs-capabilities.ts"],"names":[],"mappings":"AAIA,gHAAgH;AAChH,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,eAAe,EAAE;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE;YACd,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE,MAAM,CAAC;oBAC3B,IAAI,EAAE,MAAM,CAAC;oBACb,OAAO,EAAE,MAAM,CAAC;oBAChB,aAAa,EAAE,MAAM,CAAC;oBACtB,qBAAqB,EAAE,MAAM,CAAC;oBAC9B,UAAU,EAAE,MAAM,CAAC;iBACpB,CAAC;gBACF,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM,CAAC;iBACf,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IAEF,kBAAkB,EAAE;QAClB,eAAe,EAAE,GAAG,CAAC;QACrB,cAAc,EAAE,GAAG,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC;KACd,CAAC;IAEF,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,EAAE;gBACN,UAAU,EAAE,MAAM,CAAC;gBACnB,SAAS,EAAE,MAAM,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC;gBACd,QAAQ,CAAC,EAAE,MAAM,CAAC;aACnB,EAAE,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC;gBACb,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,GAAG,EAAE,MAAM,CAAC;aACb,CAAC;YACF,kBAAkB,EAAE;gBAClB,aAAa,EAAE,MAAM,CAAC;aACvB,EAAE,CAAC;YACJ,cAAc,EAAE;gBACd,UAAU,EAAE,MAAM,CAAC;gBACnB,SAAS,EAAE;oBACT,UAAU,EAAE,MAAM,CAAC;oBACnB,YAAY,EAAE,MAAM,CAAC;oBACrB,WAAW,EAAE,MAAM,CAAC;oBACpB,gBAAgB,EAAE,MAAM,CAAC;oBACzB,SAAS,EAAE,MAAM,CAAC;oBAClB,UAAU,EAAE,MAAM,CAAC;oBACnB,aAAa,EAAE;wBACb,GAAG,EAAE,MAAM,CAAC;wBACZ,GAAG,EAAE,MAAM,CAAC;qBACb,CAAC;iBACH,EAAE,CAAC;aACL,CAAC;SACH,EAAE,CAAC;KACL,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,eAAe,CAS3E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wfs.d.ts","sourceRoot":"","sources":["../../../../src/wip/lib/wfs/parse-wfs.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAA,GAAG,eAAe,CAM3E"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
-
type FetchLike = (url: string, options?: RequestInit) => Promise<Response>;
|
|
3
|
-
export type ArcGISImageServiceQueryOptions = {
|
|
4
|
-
returnGeometry: boolean;
|
|
5
|
-
where: '1%3D1';
|
|
6
|
-
outSR: 4326;
|
|
7
|
-
outFields: string | '*';
|
|
8
|
-
inSR: 4326;
|
|
9
|
-
geometry: `${-90}%2C+${30}%2C+${-70}%2C+${50}`;
|
|
10
|
-
geometryType: 'esriGeometryEnvelope';
|
|
11
|
-
spatialRel: 'esriSpatialRelIntersects';
|
|
12
|
-
geometryPrecision: number;
|
|
13
|
-
resultType: 'tile';
|
|
14
|
-
f?: 'geojson';
|
|
15
|
-
};
|
|
16
|
-
export type ArcGISFeatureServiceProps = ArcGISImageServiceQueryOptions & {
|
|
17
|
-
url: string;
|
|
18
|
-
loadOptions?: LoaderOptions;
|
|
19
|
-
fetch?: typeof fetch | FetchLike;
|
|
20
|
-
};
|
|
21
|
-
export declare class ArcGISFeatureService {
|
|
22
|
-
url: string;
|
|
23
|
-
loadOptions: LoaderOptions;
|
|
24
|
-
fetch: typeof fetch | FetchLike;
|
|
25
|
-
constructor(props: ArcGISFeatureServiceProps);
|
|
26
|
-
metadataURL(options: {
|
|
27
|
-
parameters?: Record<string, unknown>;
|
|
28
|
-
}): string;
|
|
29
|
-
/**
|
|
30
|
-
* Form a URL to an ESRI FeatureServer
|
|
31
|
-
// https://services2.arcgis.com/CcI36Pduqd0OR4W9/ArcGIS/rest/services/Bicycle_Routes_Public/FeatureServer/0/query?
|
|
32
|
-
// returnGeometry=true&where=1%3D1&outSR=4326&outFields=*&inSR=4326&geometry=${-90}%2C+${30}%2C+${-70}%2C+${50}&
|
|
33
|
-
// geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&geometryPrecision=6&resultType=tile&f=geojson`
|
|
34
|
-
*/
|
|
35
|
-
exportImageURL(options: {
|
|
36
|
-
boundingBox: [number, number, number, number];
|
|
37
|
-
boundingBoxSR?: string;
|
|
38
|
-
width: number;
|
|
39
|
-
height: number;
|
|
40
|
-
imageSR?: string;
|
|
41
|
-
time?: never;
|
|
42
|
-
f?: 'geojson';
|
|
43
|
-
resultType?: 'tile';
|
|
44
|
-
noData?: never;
|
|
45
|
-
noDataInterpretation?: 'esriNoDataMatchAny';
|
|
46
|
-
interpolation?: '+RSP_NearestNeighbor';
|
|
47
|
-
compression?: never;
|
|
48
|
-
compressionQuality?: never;
|
|
49
|
-
bandIds?: never;
|
|
50
|
-
mosaicRule?: never;
|
|
51
|
-
renderingRule?: never;
|
|
52
|
-
f?: 'image';
|
|
53
|
-
}): string;
|
|
54
|
-
}
|
|
55
|
-
export {};
|
|
56
|
-
//# sourceMappingURL=arcgis-feature-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-feature-service.d.ts","sourceRoot":"","sources":["../../../src/wip/services/arcgis-feature-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAGvD,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;IAC/C,YAAY,EAAE,sBAAsB,CAAC;IACrC,UAAU,EAAE,0BAA0B,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,SAAS,CAAC;CACf,CAAA;AAgBD,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,GAAG;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,aAAa,CAAC;IAC3B,KAAK,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;gBAEpB,KAAK,EAAE,yBAAyB;IAQ5C,WAAW,CAAC,OAAO,EAAE;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC,GAAG,MAAM;IAIpE;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE;QACtB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,CAAC,CAAC,EAAE,SAAS,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;QAC5C,aAAa,CAAC,EAAE,sBAAsB,CAAC;QACvC,WAAW,CAAC,EAAE,KAAK,CAAA;QACnB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAC3B,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB,aAAa,CAAC,EAAE,KAAK,CAAC;QACtB,CAAC,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,MAAM;CAMX"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
export class ArcGISFeatureService {
|
|
3
|
-
url;
|
|
4
|
-
loadOptions;
|
|
5
|
-
fetch;
|
|
6
|
-
constructor(props) {
|
|
7
|
-
this.url = props.url;
|
|
8
|
-
this.loadOptions = props.loadOptions || {};
|
|
9
|
-
this.fetch = props.fetch || fetch;
|
|
10
|
-
}
|
|
11
|
-
// URL creators
|
|
12
|
-
metadataURL(options) {
|
|
13
|
-
return this.getUrl({ ...options });
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Form a URL to an ESRI FeatureServer
|
|
17
|
-
// https://services2.arcgis.com/CcI36Pduqd0OR4W9/ArcGIS/rest/services/Bicycle_Routes_Public/FeatureServer/0/query?
|
|
18
|
-
// returnGeometry=true&where=1%3D1&outSR=4326&outFields=*&inSR=4326&geometry=${-90}%2C+${30}%2C+${-70}%2C+${50}&
|
|
19
|
-
// geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&geometryPrecision=6&resultType=tile&f=geojson`
|
|
20
|
-
*/
|
|
21
|
-
exportImageURL(options) {
|
|
22
|
-
const { boundingBox } = options;
|
|
23
|
-
// const bbox = `bbox=${boundingBox[0]},${boundingBox[1]},${boundingBox[2]},${boundingBox[3]}`;
|
|
24
|
-
// const size = `size=${width},${height}`
|
|
25
|
-
return this.getUrl({ path: 'exportImage', });
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wfs-capabilities-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wfs-capabilities-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,eAAe,EAAC,4CAAyC;AAOtE,YAAY,EAAC,eAAe,EAAC,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,EAAE,CAAC;CACV,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;kCAgBL,WAAW,YAAY,gBAAgB;mCAE5C,MAAM,YAAY,gBAAgB;CACqB,CAAC;AAEhF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1C;AAED,eAAO,MAAM,+BAA+B,EAAE,gBAAwC,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
import type {Service, ImageSource} from '@loaders.gl/loader-utils';
|
|
6
|
-
// import {ImageService} from '../lib/services/image-service';
|
|
7
|
-
import {ImageServiceProps} from '../lib/services/image-service';
|
|
8
|
-
import {createImageService, CreateImageServiceProps} from '../lib/services/create-image-service';
|
|
9
|
-
|
|
10
|
-
import type {WMSSourceProps} from './ogc/wms-service';
|
|
11
|
-
import {WMSService} from './ogc/wms-service';
|
|
12
|
-
import {ArcGISImageService} from './arcgis/arcgis-image-service';
|
|
13
|
-
|
|
14
|
-
export type ImageServiceType = 'wms' | 'arcgis-image-server' | 'template';
|
|
15
|
-
|
|
16
|
-
const SERVICES: Service[] = [WMSService, ArcGISImageService];
|
|
17
|
-
|
|
18
|
-
type CreateImageSourceProps = CreateImageServiceProps &
|
|
19
|
-
ImageServiceProps &
|
|
20
|
-
WMSSourceProps & {
|
|
21
|
-
type?: ImageServiceType | 'auto';
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Creates an image source
|
|
26
|
-
* If type is not supplied, will try to automatically detect the the
|
|
27
|
-
* @param url URL to the image source
|
|
28
|
-
* @param type type of source. if not known, set to 'auto'
|
|
29
|
-
* @returns an ImageSource instance
|
|
30
|
-
*/
|
|
31
|
-
export function createImageSource(props: CreateImageSourceProps): ImageSource {
|
|
32
|
-
return createImageService(props, SERVICES);
|
|
33
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
import {LoaderOptions} from '@loaders.gl/loader-utils';
|
|
4
|
-
// import {GeoJSONLoader} from '@loaders.gl/geojson';
|
|
5
|
-
|
|
6
|
-
type FetchLike = (url: string, options?: RequestInit) => Promise<Response>;
|
|
7
|
-
|
|
8
|
-
export type ArcGISImageServiceQueryOptions = {
|
|
9
|
-
returnGeometry: boolean;
|
|
10
|
-
where: '1%3D1';
|
|
11
|
-
outSR: 4326;
|
|
12
|
-
outFields: string | '*';
|
|
13
|
-
inSR: 4326;
|
|
14
|
-
geometry: `${-90}%2C+${30}%2C+${-70}%2C+${50}`;
|
|
15
|
-
geometryType: 'esriGeometryEnvelope'; // TODO - look up valid values in Esri docs
|
|
16
|
-
spatialRel: 'esriSpatialRelIntersects'; // TODO - look up valid values in Esri docs
|
|
17
|
-
geometryPrecision: number; // TODO - look up valid values in Esri docs
|
|
18
|
-
resultType: 'tile'; // TODO - look up valid values in Esri docs
|
|
19
|
-
f?: 'geojson'; // TODO - look up valid values in Esri docs
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// const DEFAULT_QUERY_OPTIONS: Required<ArcGISImageServiceQueryOptions> = {
|
|
23
|
-
// returnGeometry:true,
|
|
24
|
-
// where: '1%3D1',
|
|
25
|
-
// outSR: 4326,
|
|
26
|
-
// outFields: '*',
|
|
27
|
-
// inSR: 4326,
|
|
28
|
-
// geometry: `${-90}%2C+${30}%2C+${-70}%2C+${50}`,
|
|
29
|
-
// geometryType: 'esriGeometryEnvelope',
|
|
30
|
-
// spatialRel: 'esriSpatialRelIntersects',
|
|
31
|
-
// geometryPrecision: 6,
|
|
32
|
-
// resultType: 'tile',
|
|
33
|
-
// f: 'geojson'
|
|
34
|
-
// };
|
|
35
|
-
|
|
36
|
-
export type ArcGISFeatureServiceProps = ArcGISImageServiceQueryOptions & {
|
|
37
|
-
url: string;
|
|
38
|
-
loadOptions?: LoaderOptions;
|
|
39
|
-
fetch?: typeof fetch | FetchLike;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export class ArcGISFeatureService {
|
|
43
|
-
url: string;
|
|
44
|
-
loadOptions: LoaderOptions;
|
|
45
|
-
fetch: typeof fetch | FetchLike;
|
|
46
|
-
|
|
47
|
-
constructor(props: ArcGISFeatureServiceProps) {
|
|
48
|
-
this.url = props.url;
|
|
49
|
-
this.loadOptions = props.loadOptions || {};
|
|
50
|
-
this.fetch = props.fetch || fetch;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// URL creators
|
|
54
|
-
|
|
55
|
-
metadataURL(options: {parameters?: Record<string, unknown>}): string {
|
|
56
|
-
return this.getUrl({...options});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Form a URL to an ESRI FeatureServer
|
|
61
|
-
// https://services2.arcgis.com/CcI36Pduqd0OR4W9/ArcGIS/rest/services/Bicycle_Routes_Public/FeatureServer/0/query?
|
|
62
|
-
// returnGeometry=true&where=1%3D1&outSR=4326&outFields=*&inSR=4326&geometry=${-90}%2C+${30}%2C+${-70}%2C+${50}&
|
|
63
|
-
// geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&geometryPrecision=6&resultType=tile&f=geojson`
|
|
64
|
-
*/
|
|
65
|
-
exportImageURL(options: {
|
|
66
|
-
boundingBox: [number, number, number, number];
|
|
67
|
-
boundingBoxSR?: string;
|
|
68
|
-
width: number;
|
|
69
|
-
height: number;
|
|
70
|
-
imageSR?: string;
|
|
71
|
-
time?: never;
|
|
72
|
-
f?: 'geojson';
|
|
73
|
-
resultType?: 'tile';
|
|
74
|
-
noData?: never;
|
|
75
|
-
noDataInterpretation?: 'esriNoDataMatchAny';
|
|
76
|
-
interpolation?: '+RSP_NearestNeighbor';
|
|
77
|
-
compression?: never
|
|
78
|
-
compressionQuality?: never;
|
|
79
|
-
bandIds?: never;
|
|
80
|
-
mosaicRule?: never;
|
|
81
|
-
renderingRule?: never;
|
|
82
|
-
f?: 'image';
|
|
83
|
-
}): string {
|
|
84
|
-
const {boundingBox} = options;
|
|
85
|
-
// const bbox = `bbox=${boundingBox[0]},${boundingBox[1]},${boundingBox[2]},${boundingBox[3]}`;
|
|
86
|
-
// const size = `size=${width},${height}`
|
|
87
|
-
return this.getUrl({path: 'exportImage', });
|
|
88
|
-
}
|
|
89
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/lib/{services/image-service.ts → deprecated/template-image-service.ts.disabled}
RENAMED
|
File without changes
|
|
File without changes
|