@loaders.gl/services 5.0.0-alpha.7 → 5.0.0-alpha.9
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/README.md +7 -46
- package/dist/authentication.d.ts +22 -9
- package/dist/authentication.d.ts.map +1 -1
- package/dist/authentication.js +28 -11
- package/dist/authentication.js.map +1 -1
- package/dist/index.cjs +301 -23886
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +2 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -20
- package/dist/index.js.map +1 -1
- package/package.json +6 -16
- package/src/authentication.ts +31 -19
- package/src/index.ts +3 -84
- package/dist/arcgis/arcgis-capability-graph.d.ts +0 -48
- package/dist/arcgis/arcgis-capability-graph.d.ts.map +0 -1
- package/dist/arcgis/arcgis-capability-graph.js +0 -220
- package/dist/arcgis/arcgis-capability-graph.js.map +0 -1
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts +0 -94
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-feature-server-source-loader.js +0 -231
- package/dist/arcgis/arcgis-feature-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts +0 -96
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-image-server-source-loader.js +0 -143
- package/dist/arcgis/arcgis-image-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts +0 -71
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-image-tile-source-loader.js +0 -153
- package/dist/arcgis/arcgis-image-tile-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts +0 -106
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-map-tile-source-loader.js +0 -202
- package/dist/arcgis/arcgis-map-tile-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-scene-aggregation.d.ts +0 -34
- package/dist/arcgis/arcgis-scene-aggregation.d.ts.map +0 -1
- package/dist/arcgis/arcgis-scene-aggregation.js +0 -57
- package/dist/arcgis/arcgis-scene-aggregation.js.map +0 -1
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts +0 -112
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-scene-server-source-loader.js +0 -157
- package/dist/arcgis/arcgis-scene-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-server.d.ts +0 -15
- package/dist/arcgis/arcgis-server.d.ts.map +0 -1
- package/dist/arcgis/arcgis-server.js +0 -41
- package/dist/arcgis/arcgis-server.js.map +0 -1
- package/dist/arcgis/arcgis-url-utils.d.ts +0 -3
- package/dist/arcgis/arcgis-url-utils.d.ts.map +0 -1
- package/dist/arcgis/arcgis-url-utils.js +0 -23
- package/dist/arcgis/arcgis-url-utils.js.map +0 -1
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts +0 -115
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js +0 -156
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js.map +0 -1
- package/dist/service-registry.d.ts +0 -18
- package/dist/service-registry.d.ts.map +0 -1
- package/dist/service-registry.js +0 -29
- package/dist/service-registry.js.map +0 -1
- package/src/arcgis/arcgis-capability-graph.ts +0 -295
- package/src/arcgis/arcgis-feature-server-source-loader.ts +0 -346
- package/src/arcgis/arcgis-image-server-source-loader.ts +0 -242
- package/src/arcgis/arcgis-image-tile-source-loader.ts +0 -206
- package/src/arcgis/arcgis-map-tile-source-loader.ts +0 -286
- package/src/arcgis/arcgis-scene-aggregation.ts +0 -90
- package/src/arcgis/arcgis-scene-server-source-loader.ts +0 -258
- package/src/arcgis/arcgis-server.ts +0 -61
- package/src/arcgis/arcgis-url-utils.ts +0 -26
- package/src/arcgis/arcgis-vector-tile-server-source-loader.ts +0 -233
- package/src/service-registry.ts +0 -43
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
/**
|
|
5
|
-
* Aggregates SceneServer features without evaluating renderer or Arcade expressions.
|
|
6
|
-
* Missing and non-numeric values are ignored by numeric operations; `count` counts
|
|
7
|
-
* records regardless of field presence.
|
|
8
|
-
*/
|
|
9
|
-
export function aggregateArcGISSceneFeatures(options) {
|
|
10
|
-
const groups = new Map();
|
|
11
|
-
for (const feature of options.features) {
|
|
12
|
-
const attributes = getFeatureAttributes(feature);
|
|
13
|
-
const key = options.groupBy ? attributes[options.groupBy] : undefined;
|
|
14
|
-
const group = groups.get(key);
|
|
15
|
-
if (group)
|
|
16
|
-
group.push(feature);
|
|
17
|
-
else
|
|
18
|
-
groups.set(key, [feature]);
|
|
19
|
-
}
|
|
20
|
-
return [...groups.entries()].map(([group, features]) => ({
|
|
21
|
-
group,
|
|
22
|
-
values: Object.fromEntries(options.aggregations.map(spec => [spec.name, aggregateValues(features, spec)]))
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
function aggregateValues(features, specification) {
|
|
26
|
-
if (specification.operation === 'count')
|
|
27
|
-
return features.length;
|
|
28
|
-
const values = features
|
|
29
|
-
.map(feature => getFeatureAttributes(feature)[specification.field || ''])
|
|
30
|
-
.filter(value => value !== null && value !== undefined && value !== '')
|
|
31
|
-
.map(value => (typeof value === 'number' ? value : Number(value)))
|
|
32
|
-
.filter(Number.isFinite);
|
|
33
|
-
if (!values.length)
|
|
34
|
-
return 0;
|
|
35
|
-
switch (specification.operation) {
|
|
36
|
-
case 'sum':
|
|
37
|
-
return values.reduce((sum, value) => sum + value, 0);
|
|
38
|
-
case 'min':
|
|
39
|
-
return Math.min(...values);
|
|
40
|
-
case 'max':
|
|
41
|
-
return Math.max(...values);
|
|
42
|
-
case 'average':
|
|
43
|
-
return values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
44
|
-
default:
|
|
45
|
-
return 0;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function getFeatureAttributes(feature) {
|
|
49
|
-
if (!feature || typeof feature !== 'object')
|
|
50
|
-
return {};
|
|
51
|
-
const candidate = feature;
|
|
52
|
-
if (candidate.attributes && typeof candidate.attributes === 'object') {
|
|
53
|
-
return candidate.attributes;
|
|
54
|
-
}
|
|
55
|
-
return feature;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=arcgis-scene-aggregation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-scene-aggregation.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-aggregation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import type { CoreAPI, DataSourceOptions } from '@loaders.gl/loader-utils';
|
|
2
|
-
import { DataSource } from '@loaders.gl/loader-utils';
|
|
3
|
-
import type { I3SLayerSource, I3SServiceMetadata } from '@loaders.gl/i3s';
|
|
4
|
-
/** Parameters accepted by the ArcGIS SceneServer query endpoint. */
|
|
5
|
-
export type ArcGISSceneQueryOptions = {
|
|
6
|
-
/** SQL where clause. */
|
|
7
|
-
where?: string;
|
|
8
|
-
/** Object IDs to include. */
|
|
9
|
-
objectIds?: number[] | string;
|
|
10
|
-
/** Geometry filter encoded using ArcGIS REST geometry syntax. */
|
|
11
|
-
geometry?: unknown;
|
|
12
|
-
/** Geometry type for the geometry filter. */
|
|
13
|
-
geometryType?: string;
|
|
14
|
-
/** Spatial relationship for the geometry filter. */
|
|
15
|
-
spatialRel?: string;
|
|
16
|
-
/** Fields to return. */
|
|
17
|
-
outFields?: string | string[];
|
|
18
|
-
/** Whether feature geometry should be included. */
|
|
19
|
-
returnGeometry?: boolean;
|
|
20
|
-
/** Input spatial reference. */
|
|
21
|
-
inSR?: string | number | object;
|
|
22
|
-
/** Output spatial reference. */
|
|
23
|
-
outSR?: string | number | object;
|
|
24
|
-
/** ArcGIS result type. */
|
|
25
|
-
resultType?: string;
|
|
26
|
-
/** Result page offset. */
|
|
27
|
-
resultOffset?: number;
|
|
28
|
-
/** Maximum records in one page. */
|
|
29
|
-
resultRecordCount?: number;
|
|
30
|
-
/** Response format. */
|
|
31
|
-
f?: 'json' | 'pjson';
|
|
32
|
-
/** Abort signal for the request. */
|
|
33
|
-
signal?: AbortSignal;
|
|
34
|
-
};
|
|
35
|
-
/** Normalized result returned by a SceneServer query. */
|
|
36
|
-
export type ArcGISSceneQueryResult = {
|
|
37
|
-
/** Returned SceneServer features. */
|
|
38
|
-
features: unknown[];
|
|
39
|
-
/** Field metadata advertised by the layer. */
|
|
40
|
-
fields?: unknown[];
|
|
41
|
-
/** Whether another page is available. */
|
|
42
|
-
exceededTransferLimit?: boolean;
|
|
43
|
-
/** Original response metadata for advanced consumers. */
|
|
44
|
-
rawMetadata?: unknown;
|
|
45
|
-
};
|
|
46
|
-
/** Error raised when a SceneServer query cannot be completed or decoded. */
|
|
47
|
-
export declare class ArcGISSceneServerQueryError extends Error {
|
|
48
|
-
/** HTTP status code, when the failure came from a response. */
|
|
49
|
-
readonly status?: number;
|
|
50
|
-
/** Creates a typed SceneServer query error. */
|
|
51
|
-
constructor(message: string, status?: number);
|
|
52
|
-
}
|
|
53
|
-
/** Options for an ArcGIS SceneServer source. */
|
|
54
|
-
export type ArcGISSceneServerSourceOptions = DataSourceOptions & {
|
|
55
|
-
'arcgis-scene-server'?: {
|
|
56
|
-
/** Layer identifier used when the input URL ends at `/SceneServer`. */
|
|
57
|
-
layerId?: number | string;
|
|
58
|
-
/** ArcGIS token applied to metadata and tile-resource requests. */
|
|
59
|
-
token?: string;
|
|
60
|
-
/** Optional metadata document for offline or preloaded use. */
|
|
61
|
-
metadata?: unknown;
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
/** Source facade for an ArcGIS SceneServer I3S layer. */
|
|
65
|
-
export declare class ArcGISSceneServerSource extends DataSource<string, ArcGISSceneServerSourceOptions> {
|
|
66
|
-
/** Cached normalized layer metadata. */
|
|
67
|
-
private metadataPromise;
|
|
68
|
-
/** Cached profile-specific tileset source. */
|
|
69
|
-
private sourcePromise;
|
|
70
|
-
/** Creates a SceneServer source. */
|
|
71
|
-
constructor(url: string, options?: ArcGISSceneServerSourceOptions, coreApi?: CoreAPI);
|
|
72
|
-
/** Returns normalized SceneServer layer metadata. */
|
|
73
|
-
getMetadata(): Promise<I3SServiceMetadata>;
|
|
74
|
-
/** Creates the existing mesh or Point Cloud source for this layer. */
|
|
75
|
-
getTilesetSource(): Promise<I3SLayerSource>;
|
|
76
|
-
/** Queries feature attributes and geometry from a SceneServer layer. */
|
|
77
|
-
query(options?: ArcGISSceneQueryOptions): Promise<ArcGISSceneQueryResult>;
|
|
78
|
-
/** Alias for query used by applications that consume generic feature sources. */
|
|
79
|
-
getFeatures(options?: ArcGISSceneQueryOptions): Promise<ArcGISSceneQueryResult>;
|
|
80
|
-
/** Returns the layer URL, resolving an explicit layer ID when needed. */
|
|
81
|
-
getLayerURL(): string;
|
|
82
|
-
/** Returns the metadata request URL with ArcGIS JSON and authentication parameters. */
|
|
83
|
-
metadataURL(): string;
|
|
84
|
-
private loadMetadata;
|
|
85
|
-
private fetchLayerMetadata;
|
|
86
|
-
private createTilesetSource;
|
|
87
|
-
private getSourceOptions;
|
|
88
|
-
private getToken;
|
|
89
|
-
}
|
|
90
|
-
/** Source loader for ArcGIS SceneServer I3S layers. */
|
|
91
|
-
export declare const ArcGISSceneServerSourceLoader: {
|
|
92
|
-
readonly dataType: ArcGISSceneServerSource;
|
|
93
|
-
readonly batchType: never;
|
|
94
|
-
readonly name: "ArcGIS SceneServer";
|
|
95
|
-
readonly id: "arcgis-scene-server";
|
|
96
|
-
readonly module: "services";
|
|
97
|
-
readonly version: "0.0.0";
|
|
98
|
-
readonly extensions: [];
|
|
99
|
-
readonly mimeTypes: ["application/json"];
|
|
100
|
-
readonly type: "arcgis-scene-server";
|
|
101
|
-
readonly fromUrl: true;
|
|
102
|
-
readonly fromBlob: false;
|
|
103
|
-
readonly options: {
|
|
104
|
-
readonly 'arcgis-scene-server': {};
|
|
105
|
-
};
|
|
106
|
-
readonly defaultOptions: {
|
|
107
|
-
readonly 'arcgis-scene-server': {};
|
|
108
|
-
};
|
|
109
|
-
readonly testURL: (url: string) => boolean;
|
|
110
|
-
readonly createDataSource: (url: string, options?: ArcGISSceneServerSourceOptions, coreApi?: CoreAPI) => ArcGISSceneServerSource;
|
|
111
|
-
};
|
|
112
|
-
//# sourceMappingURL=arcgis-scene-server-source-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-scene-server-source-loader.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-server-source-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { DataSource } from '@loaders.gl/loader-utils';
|
|
5
|
-
import { createI3SLayerSource, normalizeI3SServiceMetadata, parseI3SSceneLayerMetadata } from '@loaders.gl/i3s';
|
|
6
|
-
import { buildArcGISResourceURL } from "./arcgis-url-utils.js";
|
|
7
|
-
/** Error raised when a SceneServer query cannot be completed or decoded. */
|
|
8
|
-
export class ArcGISSceneServerQueryError extends Error {
|
|
9
|
-
/** HTTP status code, when the failure came from a response. */
|
|
10
|
-
status;
|
|
11
|
-
/** Creates a typed SceneServer query error. */
|
|
12
|
-
constructor(message, status) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.name = 'ArcGISSceneServerQueryError';
|
|
15
|
-
this.status = status;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/** Source facade for an ArcGIS SceneServer I3S layer. */
|
|
19
|
-
export class ArcGISSceneServerSource extends DataSource {
|
|
20
|
-
/** Cached normalized layer metadata. */
|
|
21
|
-
metadataPromise = null;
|
|
22
|
-
/** Cached profile-specific tileset source. */
|
|
23
|
-
sourcePromise = null;
|
|
24
|
-
/** Creates a SceneServer source. */
|
|
25
|
-
constructor(url, options = {}, coreApi) {
|
|
26
|
-
super(url.replace(/\/+$/, ''), options, ArcGISSceneServerSourceLoader.defaultOptions, coreApi);
|
|
27
|
-
}
|
|
28
|
-
/** Returns normalized SceneServer layer metadata. */
|
|
29
|
-
async getMetadata() {
|
|
30
|
-
this.metadataPromise ||= this.loadMetadata();
|
|
31
|
-
return await this.metadataPromise;
|
|
32
|
-
}
|
|
33
|
-
/** Creates the existing mesh or Point Cloud source for this layer. */
|
|
34
|
-
async getTilesetSource() {
|
|
35
|
-
this.sourcePromise ||= this.createTilesetSource();
|
|
36
|
-
return await this.sourcePromise;
|
|
37
|
-
}
|
|
38
|
-
/** Queries feature attributes and geometry from a SceneServer layer. */
|
|
39
|
-
async query(options = {}) {
|
|
40
|
-
const { signal, f = 'json', ...queryParameters } = options;
|
|
41
|
-
const queryURL = buildArcGISResourceURL(this.getLayerURL(), 'query', {
|
|
42
|
-
where: '1=1',
|
|
43
|
-
outFields: '*',
|
|
44
|
-
returnGeometry: true,
|
|
45
|
-
f,
|
|
46
|
-
...queryParameters,
|
|
47
|
-
token: this.getToken()
|
|
48
|
-
});
|
|
49
|
-
const response = await this.fetch(queryURL, signal ? { signal } : undefined);
|
|
50
|
-
if (!response.ok) {
|
|
51
|
-
throw new ArcGISSceneServerQueryError(`ArcGIS SceneServer query failed: ${response.status} ${response.statusText}`, response.status);
|
|
52
|
-
}
|
|
53
|
-
const document = (await response.json());
|
|
54
|
-
if (document.error) {
|
|
55
|
-
throw new ArcGISSceneServerQueryError(`ArcGIS SceneServer query returned an error: ${JSON.stringify(document.error)}`);
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
features: Array.isArray(document.features) ? document.features : [],
|
|
59
|
-
fields: Array.isArray(document.fields) ? document.fields : undefined,
|
|
60
|
-
exceededTransferLimit: typeof document.exceededTransferLimit === 'boolean'
|
|
61
|
-
? document.exceededTransferLimit
|
|
62
|
-
: undefined,
|
|
63
|
-
rawMetadata: document
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/** Alias for query used by applications that consume generic feature sources. */
|
|
67
|
-
async getFeatures(options = {}) {
|
|
68
|
-
return await this.query(options);
|
|
69
|
-
}
|
|
70
|
-
/** Returns the layer URL, resolving an explicit layer ID when needed. */
|
|
71
|
-
getLayerURL() {
|
|
72
|
-
const url = new URL(this.url);
|
|
73
|
-
url.pathname = url.pathname.replace(/\/+$/, '');
|
|
74
|
-
if (/\/SceneServer\/layers\/[^/]+$/i.test(url.pathname)) {
|
|
75
|
-
url.search = '';
|
|
76
|
-
url.hash = '';
|
|
77
|
-
return url.toString();
|
|
78
|
-
}
|
|
79
|
-
if (!/\/SceneServer$/i.test(url.pathname)) {
|
|
80
|
-
throw new Error('ArcGISSceneServerSource requires a /SceneServer/layers/{id} URL or a /SceneServer URL with arcgis-scene-server.layerId');
|
|
81
|
-
}
|
|
82
|
-
const layerId = this.options['arcgis-scene-server']?.layerId;
|
|
83
|
-
if (layerId === undefined) {
|
|
84
|
-
throw new Error('ArcGISSceneServerSource requires a /SceneServer/layers/{id} URL or a /SceneServer URL with arcgis-scene-server.layerId');
|
|
85
|
-
}
|
|
86
|
-
url.pathname = `${url.pathname.replace(/\/$/, '')}/layers/${encodeURIComponent(String(layerId))}`;
|
|
87
|
-
url.search = '';
|
|
88
|
-
url.hash = '';
|
|
89
|
-
return url.toString();
|
|
90
|
-
}
|
|
91
|
-
/** Returns the metadata request URL with ArcGIS JSON and authentication parameters. */
|
|
92
|
-
metadataURL() {
|
|
93
|
-
const url = new URL(this.getLayerURL());
|
|
94
|
-
url.searchParams.set('f', 'pjson');
|
|
95
|
-
const token = this.getToken();
|
|
96
|
-
if (token && !url.searchParams.has('token')) {
|
|
97
|
-
url.searchParams.set('token', token);
|
|
98
|
-
}
|
|
99
|
-
return url.toString();
|
|
100
|
-
}
|
|
101
|
-
async loadMetadata() {
|
|
102
|
-
const configuredMetadata = this.options['arcgis-scene-server']?.metadata;
|
|
103
|
-
const layer = configuredMetadata
|
|
104
|
-
? parseI3SSceneLayerMetadata(configuredMetadata)
|
|
105
|
-
: await this.fetchLayerMetadata();
|
|
106
|
-
return normalizeI3SServiceMetadata(this.getLayerURL(), layer);
|
|
107
|
-
}
|
|
108
|
-
async fetchLayerMetadata() {
|
|
109
|
-
const response = await this.fetch(this.metadataURL());
|
|
110
|
-
if (!response.ok) {
|
|
111
|
-
throw new Error(`ArcGIS SceneServer metadata request failed: ${response.status} ${response.statusText}`);
|
|
112
|
-
}
|
|
113
|
-
return parseI3SSceneLayerMetadata(await response.json());
|
|
114
|
-
}
|
|
115
|
-
async createTilesetSource() {
|
|
116
|
-
const metadata = await this.getMetadata();
|
|
117
|
-
return createI3SLayerSource(metadata.url, metadata.layer, this.getSourceOptions(), this.coreApi);
|
|
118
|
-
}
|
|
119
|
-
getSourceOptions() {
|
|
120
|
-
const i3sOptions = this.options['i3s'] || {};
|
|
121
|
-
const token = this.getToken();
|
|
122
|
-
return {
|
|
123
|
-
...this.options,
|
|
124
|
-
i3s: token ? { ...i3sOptions, token } : i3sOptions
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
getToken() {
|
|
128
|
-
const serviceToken = this.options['arcgis-scene-server']?.token;
|
|
129
|
-
const i3sToken = this.options['i3s']?.token;
|
|
130
|
-
if (serviceToken) {
|
|
131
|
-
return serviceToken;
|
|
132
|
-
}
|
|
133
|
-
if (typeof i3sToken === 'string' && i3sToken) {
|
|
134
|
-
return i3sToken;
|
|
135
|
-
}
|
|
136
|
-
return new URL(this.url).searchParams.get('token') || undefined;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/** Source loader for ArcGIS SceneServer I3S layers. */
|
|
140
|
-
export const ArcGISSceneServerSourceLoader = {
|
|
141
|
-
dataType: null,
|
|
142
|
-
batchType: null,
|
|
143
|
-
name: 'ArcGIS SceneServer',
|
|
144
|
-
id: 'arcgis-scene-server',
|
|
145
|
-
module: 'services',
|
|
146
|
-
version: '0.0.0',
|
|
147
|
-
extensions: [],
|
|
148
|
-
mimeTypes: ['application/json'],
|
|
149
|
-
type: 'arcgis-scene-server',
|
|
150
|
-
fromUrl: true,
|
|
151
|
-
fromBlob: false,
|
|
152
|
-
options: { 'arcgis-scene-server': {} },
|
|
153
|
-
defaultOptions: { 'arcgis-scene-server': {} },
|
|
154
|
-
testURL: (url) => /\/SceneServer(?:[\/?#]|$)/i.test(url),
|
|
155
|
-
createDataSource: (url, options = {}, coreApi) => new ArcGISSceneServerSource(url, options, coreApi)
|
|
156
|
-
};
|
|
157
|
-
//# sourceMappingURL=arcgis-scene-server-source-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-scene-server-source-loader.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-server-source-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type Service = {
|
|
2
|
-
name: string;
|
|
3
|
-
type: string;
|
|
4
|
-
url: string;
|
|
5
|
-
};
|
|
6
|
-
type FetchLike = typeof fetch;
|
|
7
|
-
/**
|
|
8
|
-
* (Recursively) load the service directory from an ArcGIS Server URL
|
|
9
|
-
* @param url
|
|
10
|
-
* @param fetchFile= Optional fetch function override
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
export declare function getArcGISServices(url: string, fetchFile?: FetchLike): Promise<Service[] | null>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=arcgis-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-server.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-server.ts"],"names":[],"mappings":"AAIA,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,41 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
/**
|
|
5
|
-
* (Recursively) load the service directory from an ArcGIS Server URL
|
|
6
|
-
* @param url
|
|
7
|
-
* @param fetchFile= Optional fetch function override
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export async function getArcGISServices(url, fetchFile = fetch) {
|
|
11
|
-
if (url.includes('rest/services')) {
|
|
12
|
-
const serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
|
|
13
|
-
return loadServiceDirectory(serverUrl, fetchFile, []);
|
|
14
|
-
}
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
async function loadServiceDirectory(serverUrl, fetch, path) {
|
|
18
|
-
const serviceUrl = path.length ? `${serverUrl}/${path.join('/')}` : serverUrl;
|
|
19
|
-
const response = await fetch(`${serviceUrl}?f=pjson`);
|
|
20
|
-
const directory = await response.json();
|
|
21
|
-
const services = extractServices(directory, serviceUrl, serverUrl);
|
|
22
|
-
const folders = (directory.folders || []);
|
|
23
|
-
const promises = folders.map(folder => loadServiceDirectory(`${serverUrl}`, fetch, [...path, folder]));
|
|
24
|
-
for (const folderServices of await Promise.all(promises)) {
|
|
25
|
-
services.push(...folderServices);
|
|
26
|
-
}
|
|
27
|
-
return services;
|
|
28
|
-
}
|
|
29
|
-
function extractServices(directory, url, serverUrl) {
|
|
30
|
-
const arcgisServices = (directory.services || []);
|
|
31
|
-
const services = [];
|
|
32
|
-
for (const service of arcgisServices) {
|
|
33
|
-
services.push({
|
|
34
|
-
name: service.name,
|
|
35
|
-
type: `arcgis-${service.type.toLocaleLowerCase().replace('server', '-server')}`,
|
|
36
|
-
url: `${service.name.includes('/') ? serverUrl : url}/${service.name}/${service.type}`
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return services;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=arcgis-server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-server.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-server.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAMpC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,YAAuB,KAAK;IAE5B,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;QACrE,OAAO,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,SAAiB,EACjB,KAAgB,EAChB,IAAc;IAEd,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAa,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACpC,oBAAoB,CAAC,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/D,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,SAAkB,EAAE,GAAW,EAAE,SAAiB;IACzE,MAAM,cAAc,GAAG,CAAE,SAAiB,CAAC,QAAQ,IAAI,EAAE,CAAmC,CAAC;IAC7F,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,UAAU,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC/E,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;SACvF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/** Builds an ArcGIS REST resource URL while preserving authentication query parameters. */
|
|
2
|
-
export declare function buildArcGISResourceURL(serviceURL: string, resourcePath: string, parameters: Record<string, unknown>): string;
|
|
3
|
-
//# sourceMappingURL=arcgis-url-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-url-utils.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-url-utils.ts"],"names":[],"mappings":"AAIA,2FAA2F;AAC3F,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAUR"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
/** Builds an ArcGIS REST resource URL while preserving authentication query parameters. */
|
|
5
|
-
export function buildArcGISResourceURL(serviceURL, resourcePath, parameters) {
|
|
6
|
-
const url = new URL(serviceURL);
|
|
7
|
-
if (resourcePath) {
|
|
8
|
-
url.pathname = `${url.pathname.replace(/\/$/, '')}/${resourcePath.replace(/^\//, '')}`;
|
|
9
|
-
}
|
|
10
|
-
for (const [key, value] of Object.entries(parameters)) {
|
|
11
|
-
if (value === undefined || value === null)
|
|
12
|
-
continue;
|
|
13
|
-
url.searchParams.set(key, encodeArcGISParameter(value));
|
|
14
|
-
}
|
|
15
|
-
return url.toString();
|
|
16
|
-
}
|
|
17
|
-
/** Converts a generic request value to ArcGIS REST query syntax. */
|
|
18
|
-
function encodeArcGISParameter(value) {
|
|
19
|
-
if (Array.isArray(value))
|
|
20
|
-
return value.join(',');
|
|
21
|
-
return typeof value === 'object' ? JSON.stringify(value) : String(value);
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=arcgis-url-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-url-utils.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-url-utils.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,2FAA2F;AAC3F,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,YAAoB,EACpB,UAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,oEAAoE;AACpE,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import type { CoreAPI, DataSourceOptions, GetTileDataParameters, GetTileParameters, TileSourceMetadata, VectorTile, VectorTileSource } from '@loaders.gl/loader-utils';
|
|
2
|
-
import { DataSource } from '@loaders.gl/loader-utils';
|
|
3
|
-
import { type MVTLoaderOptions } from '@loaders.gl/mvt';
|
|
4
|
-
import type { Schema } from '@loaders.gl/schema';
|
|
5
|
-
/** ArcGIS vector tile service metadata. */
|
|
6
|
-
export type ArcGISVectorTileServiceMetadata = {
|
|
7
|
-
/** Human-readable service description. */
|
|
8
|
-
serviceDescription?: string;
|
|
9
|
-
/** Map name exposed by the service. */
|
|
10
|
-
mapName?: string;
|
|
11
|
-
/** Tile grid information. */
|
|
12
|
-
tileInfo?: {
|
|
13
|
-
/** Tile width in pixels. */
|
|
14
|
-
cols?: number;
|
|
15
|
-
/** Tile height in pixels. */
|
|
16
|
-
rows?: number;
|
|
17
|
-
/** Tile format, normally pbf. */
|
|
18
|
-
format?: string;
|
|
19
|
-
/** Tile origin. */
|
|
20
|
-
origin?: {
|
|
21
|
-
x: number;
|
|
22
|
-
y: number;
|
|
23
|
-
};
|
|
24
|
-
/** Tile grid spatial reference. */
|
|
25
|
-
spatialReference?: {
|
|
26
|
-
wkid?: number;
|
|
27
|
-
latestWkid?: number;
|
|
28
|
-
};
|
|
29
|
-
/** Levels of detail. */
|
|
30
|
-
lods?: Array<{
|
|
31
|
-
level: number;
|
|
32
|
-
resolution: number;
|
|
33
|
-
scale?: number;
|
|
34
|
-
}>;
|
|
35
|
-
};
|
|
36
|
-
/** Full service extent. */
|
|
37
|
-
fullExtent?: {
|
|
38
|
-
xmin: number;
|
|
39
|
-
ymin: number;
|
|
40
|
-
xmax: number;
|
|
41
|
-
ymax: number;
|
|
42
|
-
};
|
|
43
|
-
/** Initial service extent. */
|
|
44
|
-
initialExtent?: {
|
|
45
|
-
xmin: number;
|
|
46
|
-
ymin: number;
|
|
47
|
-
xmax: number;
|
|
48
|
-
ymax: number;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
/** Options for the ArcGIS VectorTileServer source. */
|
|
52
|
-
export type ArcGISVectorTileServerSourceLoaderOptions = DataSourceOptions & {
|
|
53
|
-
'arcgis-vector-tile-server'?: {
|
|
54
|
-
/** Optional MVT parser options. */
|
|
55
|
-
mvt?: MVTLoaderOptions['mvt'];
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
/** A source for ArcGIS VectorTileServer metadata and PBF tiles. */
|
|
59
|
-
export declare class ArcGISVectorTileServerSource extends DataSource<string, ArcGISVectorTileServerSourceLoaderOptions> implements VectorTileSource {
|
|
60
|
-
/** Decoded tile family consumed by generic tile renderers. */
|
|
61
|
-
readonly mimeType = "application/vnd.mapbox-vector-tile";
|
|
62
|
-
/** ArcGIS tiles are decoded to WGS84 coordinates before rendering. */
|
|
63
|
-
readonly localCoordinates = false;
|
|
64
|
-
/** Cached service metadata request. */
|
|
65
|
-
private serviceMetadata;
|
|
66
|
-
/** Query parameters supplied with the service URL, such as an access token. */
|
|
67
|
-
private readonly serviceQueryParameters;
|
|
68
|
-
/** Creates an ArcGIS VectorTileServer source. */
|
|
69
|
-
constructor(url: string, options?: ArcGISVectorTileServerSourceLoaderOptions, coreApi?: CoreAPI);
|
|
70
|
-
/** Returns normalized service and tile-grid metadata. */
|
|
71
|
-
getMetadata(): Promise<TileSourceMetadata>;
|
|
72
|
-
/** Fetches one raw PBF tile from the ArcGIS tile endpoint. */
|
|
73
|
-
getTile(parameters: GetTileParameters, signal?: AbortSignal): Promise<ArrayBuffer | null>;
|
|
74
|
-
/** Returns the schema advertised by decoded vector tiles. */
|
|
75
|
-
getSchema(): Promise<Schema>;
|
|
76
|
-
/** Fetches and decodes one ArcGIS vector tile to geographic coordinates. */
|
|
77
|
-
getVectorTile(parameters: GetTileParameters): Promise<VectorTile | null>;
|
|
78
|
-
/** Provides decoded vector tiles through the deck.gl source interface. */
|
|
79
|
-
getTileData(parameters: GetTileDataParameters): Promise<VectorTile | null>;
|
|
80
|
-
/** Builds the ArcGIS cached vector tile URL. */
|
|
81
|
-
getTileURL(parameters: GetTileParameters): string;
|
|
82
|
-
/** Returns the service metadata URL. */
|
|
83
|
-
getMetadataURL(): string;
|
|
84
|
-
/** Returns the ArcGIS Mapbox style resource URL. */
|
|
85
|
-
getStyleURL(): string;
|
|
86
|
-
/** Returns the ArcGIS sprite resource base URL. */
|
|
87
|
-
getSpriteURL(): string;
|
|
88
|
-
/** Loads and caches the ArcGIS VectorTileServer metadata document. */
|
|
89
|
-
private getServiceMetadata;
|
|
90
|
-
/** Builds a resource URL while retaining service query parameters. */
|
|
91
|
-
private getResourceURL;
|
|
92
|
-
}
|
|
93
|
-
/** Source loader for ArcGIS VectorTileServer services. */
|
|
94
|
-
export declare const ArcGISVectorTileServerSourceLoader: {
|
|
95
|
-
readonly dataType: ArcGISVectorTileServerSource;
|
|
96
|
-
readonly batchType: never;
|
|
97
|
-
readonly name: "ArcGIS VectorTileServer";
|
|
98
|
-
readonly id: "arcgis-vector-tile-server";
|
|
99
|
-
readonly module: "services";
|
|
100
|
-
readonly version: "0.0.0";
|
|
101
|
-
readonly extensions: [];
|
|
102
|
-
readonly mimeTypes: ["application/vnd.mapbox-vector-tile", "application/x-protobuf"];
|
|
103
|
-
readonly type: "arcgis-vector-tile-server";
|
|
104
|
-
readonly fromUrl: true;
|
|
105
|
-
readonly fromBlob: false;
|
|
106
|
-
readonly options: {
|
|
107
|
-
readonly 'arcgis-vector-tile-server': {};
|
|
108
|
-
};
|
|
109
|
-
readonly defaultOptions: {
|
|
110
|
-
readonly 'arcgis-vector-tile-server': {};
|
|
111
|
-
};
|
|
112
|
-
readonly testURL: (url: string) => boolean;
|
|
113
|
-
readonly createDataSource: (url: string, options?: ArcGISVectorTileServerSourceLoaderOptions, coreApi?: CoreAPI) => ArcGISVectorTileServerSource;
|
|
114
|
-
};
|
|
115
|
-
//# sourceMappingURL=arcgis-vector-tile-server-source-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-vector-tile-server-source-loader.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-vector-tile-server-source-loader.ts"],"names":[],"mappings":"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"}
|