@loaders.gl/arcgis 5.0.0-alpha.10
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/LICENSE +52 -0
- package/README.md +28 -0
- package/dist/arcgis/arcgis-capability-graph.d.ts +50 -0
- package/dist/arcgis/arcgis-capability-graph.d.ts.map +1 -0
- package/dist/arcgis/arcgis-capability-graph.js +221 -0
- package/dist/arcgis/arcgis-capability-graph.js.map +1 -0
- package/dist/arcgis/arcgis-feature-query.d.ts +53 -0
- package/dist/arcgis/arcgis-feature-query.d.ts.map +1 -0
- package/dist/arcgis/arcgis-feature-query.js +381 -0
- package/dist/arcgis/arcgis-feature-query.js.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader-types.d.ts +33 -0
- package/dist/arcgis/arcgis-feature-server-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-feature-server-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts +84 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.js +280 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader-types.d.ts +31 -0
- package/dist/arcgis/arcgis-image-server-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-image-server-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts +60 -0
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader.js +130 -0
- package/dist/arcgis/arcgis-image-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader-types.d.ts +31 -0
- package/dist/arcgis/arcgis-image-tile-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-image-tile-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts +63 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.js +147 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader-types.d.ts +31 -0
- package/dist/arcgis/arcgis-map-tile-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-map-tile-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts +62 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.js +196 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-scene-aggregation.d.ts +34 -0
- package/dist/arcgis/arcgis-scene-aggregation.d.ts.map +1 -0
- package/dist/arcgis/arcgis-scene-aggregation.js +57 -0
- package/dist/arcgis/arcgis-scene-aggregation.js.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader-types.d.ts +31 -0
- package/dist/arcgis/arcgis-scene-server-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-scene-server-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts +64 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.js +159 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-server.d.ts +15 -0
- package/dist/arcgis/arcgis-server.d.ts.map +1 -0
- package/dist/arcgis/arcgis-server.js +41 -0
- package/dist/arcgis/arcgis-server.js.map +1 -0
- package/dist/arcgis/arcgis-url-utils.d.ts +3 -0
- package/dist/arcgis/arcgis-url-utils.d.ts.map +1 -0
- package/dist/arcgis/arcgis-url-utils.js +23 -0
- package/dist/arcgis/arcgis-url-utils.js.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader-types.d.ts +31 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader-types.d.ts.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader-types.js +21 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader-types.js.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts +66 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js +150 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js.map +1 -0
- package/dist/arcgis-feature-query-types.d.ts +77 -0
- package/dist/arcgis-feature-query-types.d.ts.map +1 -0
- package/dist/arcgis-feature-query-types.js +5 -0
- package/dist/arcgis-feature-query-types.js.map +1 -0
- package/dist/arcgis-items.d.ts +64 -0
- package/dist/arcgis-items.d.ts.map +1 -0
- package/dist/arcgis-items.js +137 -0
- package/dist/arcgis-items.js.map +1 -0
- package/dist/arcgis-source-types.d.ts +372 -0
- package/dist/arcgis-source-types.d.ts.map +1 -0
- package/dist/arcgis-source-types.js +108 -0
- package/dist/arcgis-source-types.js.map +1 -0
- package/dist/authentication.d.ts +25 -0
- package/dist/authentication.d.ts.map +1 -0
- package/dist/authentication.js +94 -0
- package/dist/authentication.js.map +1 -0
- package/dist/bundled.d.ts +152 -0
- package/dist/bundled.d.ts.map +1 -0
- package/dist/bundled.js +34 -0
- package/dist/bundled.js.map +1 -0
- package/dist/index.cjs +25620 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/service-registry.d.ts +18 -0
- package/dist/service-registry.d.ts.map +1 -0
- package/dist/service-registry.js +29 -0
- package/dist/service-registry.js.map +1 -0
- package/package.json +96 -0
- package/src/arcgis/arcgis-capability-graph.ts +297 -0
- package/src/arcgis/arcgis-feature-query.ts +442 -0
- package/src/arcgis/arcgis-feature-server-source-loader-types.ts +34 -0
- package/src/arcgis/arcgis-feature-server-source-loader.ts +373 -0
- package/src/arcgis/arcgis-image-server-source-loader-types.ts +34 -0
- package/src/arcgis/arcgis-image-server-source-loader.ts +186 -0
- package/src/arcgis/arcgis-image-tile-source-loader-types.ts +34 -0
- package/src/arcgis/arcgis-image-tile-source-loader.ts +192 -0
- package/src/arcgis/arcgis-map-tile-source-loader-types.ts +34 -0
- package/src/arcgis/arcgis-map-tile-source-loader.ts +248 -0
- package/src/arcgis/arcgis-scene-aggregation.ts +90 -0
- package/src/arcgis/arcgis-scene-server-source-loader-types.ts +36 -0
- package/src/arcgis/arcgis-scene-server-source-loader.ts +216 -0
- package/src/arcgis/arcgis-server.ts +61 -0
- package/src/arcgis/arcgis-url-utils.ts +26 -0
- package/src/arcgis/arcgis-vector-tile-server-source-loader-types.ts +36 -0
- package/src/arcgis/arcgis-vector-tile-server-source-loader.ts +196 -0
- package/src/arcgis-feature-query-types.ts +89 -0
- package/src/arcgis-items.ts +233 -0
- package/src/arcgis-source-types.ts +372 -0
- package/src/authentication.ts +118 -0
- package/src/bundled.ts +68 -0
- package/src/index.ts +70 -0
- package/src/service-registry.ts +43 -0
|
@@ -0,0 +1,57 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-scene-aggregation.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-aggregation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CoreAPI, SourceLoader } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ArcGISSceneServerSource } from "./arcgis-scene-server-source-loader.js";
|
|
3
|
+
import type { ArcGISSceneServerSourceOptions } from "../arcgis-source-types.js";
|
|
4
|
+
/** Loads the ArcGISSceneServerSourceLoader implementation on first asynchronous use. */
|
|
5
|
+
declare function preloadArcGISSceneServerSourceLoader(): Promise<SourceLoader<ArcGISSceneServerSource>>;
|
|
6
|
+
/** Lightweight service descriptor; use load() or the synchronous /bundled entrypoint. */
|
|
7
|
+
export declare const ArcGISSceneServerSourceLoader: {
|
|
8
|
+
readonly dataType: ArcGISSceneServerSource;
|
|
9
|
+
readonly batchType: never;
|
|
10
|
+
readonly preload: typeof preloadArcGISSceneServerSourceLoader;
|
|
11
|
+
/** Requires the runtime loader when constructing a source synchronously. */
|
|
12
|
+
readonly createDataSource: (_url: string, _options: ArcGISSceneServerSourceOptions, _coreApi?: CoreAPI) => ArcGISSceneServerSource;
|
|
13
|
+
readonly name: "ArcGIS SceneServer";
|
|
14
|
+
readonly id: "arcgis-scene-server";
|
|
15
|
+
readonly module: "arcgis";
|
|
16
|
+
readonly version: "0.0.0";
|
|
17
|
+
readonly extensions: [];
|
|
18
|
+
readonly mimeTypes: ["application/json"];
|
|
19
|
+
readonly type: "arcgis-scene-server";
|
|
20
|
+
readonly fromUrl: true;
|
|
21
|
+
readonly fromBlob: false;
|
|
22
|
+
readonly options: {
|
|
23
|
+
readonly 'arcgis-scene-server': {};
|
|
24
|
+
};
|
|
25
|
+
readonly defaultOptions: {
|
|
26
|
+
readonly 'arcgis-scene-server': {};
|
|
27
|
+
};
|
|
28
|
+
readonly testURL: (url: string) => boolean;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=arcgis-scene-server-source-loader-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-scene-server-source-loader-types.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-server-source-loader-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,uBAAuB,EAAC,+CAA4C;AACjF,OAAO,KAAK,EAAC,8BAA8B,EAAC,kCAA+B;AAE3E,wFAAwF;AACxF,iBAAe,oCAAoC,IAAI,OAAO,CAC5D,YAAY,CAAC,uBAAuB,CAAC,CACtC,CAKA;AAED,yFAAyF;AACzF,eAAO,MAAM,6BAA6B;uBAEX,uBAAuB;wBACjC,KAAK;;IAExB,4EAA4E;sCAEpE,MAAM,YACF,8BAA8B,aAC7B,OAAO,KACjB,uBAAuB;;;;;;;;;;;;;;;;;CAK8B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { ARCGIS_SCENE_SERVER_SOURCE_LOADER_METADATA } from "../arcgis-source-types.js";
|
|
5
|
+
/** Loads the ArcGISSceneServerSourceLoader implementation on first asynchronous use. */
|
|
6
|
+
async function preloadArcGISSceneServerSourceLoader() {
|
|
7
|
+
const { ArcGISSceneServerSourceLoaderWithParser } = await import('@loaders.gl/arcgis/arcgis-scene-server-source-loader');
|
|
8
|
+
return ArcGISSceneServerSourceLoaderWithParser;
|
|
9
|
+
}
|
|
10
|
+
/** Lightweight service descriptor; use load() or the synchronous /bundled entrypoint. */
|
|
11
|
+
export const ArcGISSceneServerSourceLoader = {
|
|
12
|
+
...ARCGIS_SCENE_SERVER_SOURCE_LOADER_METADATA,
|
|
13
|
+
dataType: null,
|
|
14
|
+
batchType: null,
|
|
15
|
+
preload: preloadArcGISSceneServerSourceLoader,
|
|
16
|
+
/** Requires the runtime loader when constructing a source synchronously. */
|
|
17
|
+
createDataSource(_url, _options, _coreApi) {
|
|
18
|
+
throw new Error('ArcGISSceneServerSourceLoader requires async load() or an @loaders.gl/arcgis/bundled import');
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=arcgis-scene-server-source-loader-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-scene-server-source-loader-types.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-server-source-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,0CAA0C,EAAC,kCAA+B;AAKlF,wFAAwF;AACxF,KAAK,UAAU,oCAAoC;IAGjD,MAAM,EAAC,uCAAuC,EAAC,GAAG,MAAM,MAAM,CAC5D,sDAAsD,CACvD,CAAC;IACF,OAAO,uCAAuC,CAAC;AACjD,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,GAAG,0CAA0C;IAC7C,QAAQ,EAAE,IAA0C;IACpD,SAAS,EAAE,IAAa;IACxB,OAAO,EAAE,oCAAoC;IAC7C,4EAA4E;IAC5E,gBAAgB,CACd,IAAY,EACZ,QAAwC,EACxC,QAAkB;QAElB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;IACJ,CAAC;CACuD,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ArcGISAuthentication } from "../authentication.js";
|
|
2
|
+
import type { ArcGISSceneQueryOptions, ArcGISSceneQueryResult, ArcGISSceneServerSourceOptions } from "../arcgis-source-types.js";
|
|
3
|
+
import type { CoreAPI } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { DataSource } from '@loaders.gl/loader-utils';
|
|
5
|
+
import type { I3SLayerSource, I3SServiceMetadata } from '@loaders.gl/i3s';
|
|
6
|
+
/** Error raised when a SceneServer query cannot be completed or decoded. */
|
|
7
|
+
export declare class ArcGISSceneServerQueryError extends Error {
|
|
8
|
+
/** HTTP status code, when the failure came from a response. */
|
|
9
|
+
readonly status?: number;
|
|
10
|
+
/** Creates a typed SceneServer query error. */
|
|
11
|
+
constructor(message: string, status?: number);
|
|
12
|
+
}
|
|
13
|
+
/** Source facade for an ArcGIS SceneServer I3S layer. */
|
|
14
|
+
export declare class ArcGISSceneServerSource extends DataSource<string, ArcGISSceneServerSourceOptions> {
|
|
15
|
+
/** Cached normalized layer metadata. */
|
|
16
|
+
private metadataPromise;
|
|
17
|
+
/** Cached profile-specific tileset source. */
|
|
18
|
+
private sourcePromise;
|
|
19
|
+
/** Creates a SceneServer source. */
|
|
20
|
+
constructor(url: string, options?: ArcGISSceneServerSourceOptions, coreApi?: CoreAPI);
|
|
21
|
+
/** Returns normalized SceneServer layer metadata. */
|
|
22
|
+
getMetadata(): Promise<I3SServiceMetadata>;
|
|
23
|
+
/** Creates the existing mesh or Point Cloud source for this layer. */
|
|
24
|
+
getTilesetSource(): Promise<I3SLayerSource>;
|
|
25
|
+
/** Queries feature attributes and geometry from a SceneServer layer. */
|
|
26
|
+
query(options?: ArcGISSceneQueryOptions): Promise<ArcGISSceneQueryResult>;
|
|
27
|
+
/** Alias for query used by applications that consume generic feature sources. */
|
|
28
|
+
getFeatures(options?: ArcGISSceneQueryOptions): Promise<ArcGISSceneQueryResult>;
|
|
29
|
+
/** Returns the layer URL, resolving an explicit layer ID when needed. */
|
|
30
|
+
getLayerURL(): string;
|
|
31
|
+
/** Returns the metadata request URL with ArcGIS JSON and authentication parameters. */
|
|
32
|
+
metadataURL(): string;
|
|
33
|
+
private loadMetadata;
|
|
34
|
+
private fetchLayerMetadata;
|
|
35
|
+
private createTilesetSource;
|
|
36
|
+
private getSourceOptions;
|
|
37
|
+
private getToken;
|
|
38
|
+
}
|
|
39
|
+
/** Runtime service loader for synchronous construction. */
|
|
40
|
+
export declare const ArcGISSceneServerSourceLoaderWithParser: {
|
|
41
|
+
readonly dataType: ArcGISSceneServerSource;
|
|
42
|
+
readonly batchType: never;
|
|
43
|
+
readonly preload: undefined;
|
|
44
|
+
/** Supplies ArcGIS credentials after loading the selected implementation. */
|
|
45
|
+
readonly getAuthentications: () => (typeof ArcGISAuthentication)[];
|
|
46
|
+
readonly createDataSource: (url: string, options?: ArcGISSceneServerSourceOptions, coreApi?: CoreAPI) => ArcGISSceneServerSource;
|
|
47
|
+
readonly name: "ArcGIS SceneServer";
|
|
48
|
+
readonly id: "arcgis-scene-server";
|
|
49
|
+
readonly module: "arcgis";
|
|
50
|
+
readonly version: "0.0.0";
|
|
51
|
+
readonly extensions: [];
|
|
52
|
+
readonly mimeTypes: ["application/json"];
|
|
53
|
+
readonly type: "arcgis-scene-server";
|
|
54
|
+
readonly fromUrl: true;
|
|
55
|
+
readonly fromBlob: false;
|
|
56
|
+
readonly options: {
|
|
57
|
+
readonly 'arcgis-scene-server': {};
|
|
58
|
+
};
|
|
59
|
+
readonly defaultOptions: {
|
|
60
|
+
readonly 'arcgis-scene-server': {};
|
|
61
|
+
};
|
|
62
|
+
readonly testURL: (url: string) => boolean;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=arcgis-scene-server-source-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-scene-server-source-loader.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-scene-server-source-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,oBAAoB,EAAC,6BAA0B;AAEvD,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC/B,kCAA+B;AAEhC,OAAO,KAAK,EAAC,OAAO,EAAkC,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAMpD,OAAO,KAAK,EAAC,cAAc,EAAE,kBAAkB,EAAe,MAAM,iBAAiB,CAAC;AAGtF,4EAA4E;AAC5E,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,+CAA+C;gBACnC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED,yDAAyD;AACzD,qBAAa,uBAAwB,SAAQ,UAAU,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAC7F,wCAAwC;IACxC,OAAO,CAAC,eAAe,CAA4C;IACnE,8CAA8C;IAC9C,OAAO,CAAC,aAAa,CAAwC;IAE7D,oCAAoC;gBACxB,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC,EAAE,OAAO,CAAC,EAAE,OAAO;IASxF,qDAAqD;IAC/C,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKhD,sEAAsE;IAChE,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAKjD,wEAAwE;IAClE,KAAK,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkCnF,iFAAiF;IAC3E,WAAW,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIzF,yEAAyE;IACzE,WAAW,IAAI,MAAM;IA2BrB,uFAAuF;IACvF,WAAW,IAAI,MAAM;YAUP,YAAY;YAQZ,kBAAkB;YAUlB,mBAAmB;IAUjC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,QAAQ;CAWjB;AAED,2DAA2D;AAC3D,eAAO,MAAM,uCAAuC;uBAErB,uBAAuB;wBACjC,KAAK;;IAExB,6EAA6E;;qCAGtE,MAAM,YACF,8BAA8B,YAC7B,OAAO;;;;;;;;;;;;;;;;;CAEqC,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { ArcGISAuthentication } from "../authentication.js";
|
|
5
|
+
import { ARCGIS_SCENE_SERVER_SOURCE_LOADER_METADATA } from "../arcgis-source-types.js";
|
|
6
|
+
import { DataSource } from '@loaders.gl/loader-utils';
|
|
7
|
+
import { createI3SLayerSource, normalizeI3SServiceMetadata, parseI3SSceneLayerMetadata } from '@loaders.gl/i3s';
|
|
8
|
+
import { buildArcGISResourceURL } from "./arcgis-url-utils.js";
|
|
9
|
+
/** Error raised when a SceneServer query cannot be completed or decoded. */
|
|
10
|
+
export class ArcGISSceneServerQueryError extends Error {
|
|
11
|
+
/** HTTP status code, when the failure came from a response. */
|
|
12
|
+
status;
|
|
13
|
+
/** Creates a typed SceneServer query error. */
|
|
14
|
+
constructor(message, status) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'ArcGISSceneServerQueryError';
|
|
17
|
+
this.status = status;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Source facade for an ArcGIS SceneServer I3S layer. */
|
|
21
|
+
export class ArcGISSceneServerSource extends DataSource {
|
|
22
|
+
/** Cached normalized layer metadata. */
|
|
23
|
+
metadataPromise = null;
|
|
24
|
+
/** Cached profile-specific tileset source. */
|
|
25
|
+
sourcePromise = null;
|
|
26
|
+
/** Creates a SceneServer source. */
|
|
27
|
+
constructor(url, options = {}, coreApi) {
|
|
28
|
+
super(trimTrailingSlashes(url), options, ARCGIS_SCENE_SERVER_SOURCE_LOADER_METADATA.defaultOptions, coreApi);
|
|
29
|
+
}
|
|
30
|
+
/** Returns normalized SceneServer layer metadata. */
|
|
31
|
+
async getMetadata() {
|
|
32
|
+
this.metadataPromise ||= this.loadMetadata();
|
|
33
|
+
return await this.metadataPromise;
|
|
34
|
+
}
|
|
35
|
+
/** Creates the existing mesh or Point Cloud source for this layer. */
|
|
36
|
+
async getTilesetSource() {
|
|
37
|
+
this.sourcePromise ||= this.createTilesetSource();
|
|
38
|
+
return await this.sourcePromise;
|
|
39
|
+
}
|
|
40
|
+
/** Queries feature attributes and geometry from a SceneServer layer. */
|
|
41
|
+
async query(options = {}) {
|
|
42
|
+
const { signal, f = 'json', ...queryParameters } = options;
|
|
43
|
+
const queryURL = buildArcGISResourceURL(this.getLayerURL(), 'query', {
|
|
44
|
+
where: '1=1',
|
|
45
|
+
outFields: '*',
|
|
46
|
+
returnGeometry: true,
|
|
47
|
+
f,
|
|
48
|
+
...queryParameters,
|
|
49
|
+
token: this.getToken()
|
|
50
|
+
});
|
|
51
|
+
const response = await this.fetch(queryURL, signal ? { signal } : undefined);
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
throw new ArcGISSceneServerQueryError(`ArcGIS SceneServer query failed: ${response.status} ${response.statusText}`, response.status);
|
|
54
|
+
}
|
|
55
|
+
const document = (await response.json());
|
|
56
|
+
if (document.error) {
|
|
57
|
+
throw new ArcGISSceneServerQueryError(`ArcGIS SceneServer query returned an error: ${JSON.stringify(document.error)}`);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
features: Array.isArray(document.features) ? document.features : [],
|
|
61
|
+
fields: Array.isArray(document.fields) ? document.fields : undefined,
|
|
62
|
+
exceededTransferLimit: typeof document.exceededTransferLimit === 'boolean'
|
|
63
|
+
? document.exceededTransferLimit
|
|
64
|
+
: undefined,
|
|
65
|
+
rawMetadata: document
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** Alias for query used by applications that consume generic feature sources. */
|
|
69
|
+
async getFeatures(options = {}) {
|
|
70
|
+
return await this.query(options);
|
|
71
|
+
}
|
|
72
|
+
/** Returns the layer URL, resolving an explicit layer ID when needed. */
|
|
73
|
+
getLayerURL() {
|
|
74
|
+
const url = new URL(this.url);
|
|
75
|
+
url.pathname = trimTrailingSlashes(url.pathname);
|
|
76
|
+
if (/\/SceneServer\/layers\/[^/]+$/i.test(url.pathname)) {
|
|
77
|
+
url.search = '';
|
|
78
|
+
url.hash = '';
|
|
79
|
+
return url.toString();
|
|
80
|
+
}
|
|
81
|
+
if (!/\/SceneServer$/i.test(url.pathname)) {
|
|
82
|
+
throw new Error('ArcGISSceneServerSource requires a /SceneServer/layers/{id} URL or a /SceneServer URL with arcgis-scene-server.layerId');
|
|
83
|
+
}
|
|
84
|
+
const layerId = this.options['arcgis-scene-server']?.layerId;
|
|
85
|
+
if (layerId === undefined) {
|
|
86
|
+
throw new Error('ArcGISSceneServerSource requires a /SceneServer/layers/{id} URL or a /SceneServer URL with arcgis-scene-server.layerId');
|
|
87
|
+
}
|
|
88
|
+
url.pathname = `${url.pathname.replace(/\/$/, '')}/layers/${encodeURIComponent(String(layerId))}`;
|
|
89
|
+
url.search = '';
|
|
90
|
+
url.hash = '';
|
|
91
|
+
return url.toString();
|
|
92
|
+
}
|
|
93
|
+
/** Returns the metadata request URL with ArcGIS JSON and authentication parameters. */
|
|
94
|
+
metadataURL() {
|
|
95
|
+
const url = new URL(this.getLayerURL());
|
|
96
|
+
url.searchParams.set('f', 'pjson');
|
|
97
|
+
const token = this.getToken();
|
|
98
|
+
if (token && !url.searchParams.has('token')) {
|
|
99
|
+
url.searchParams.set('token', token);
|
|
100
|
+
}
|
|
101
|
+
return url.toString();
|
|
102
|
+
}
|
|
103
|
+
async loadMetadata() {
|
|
104
|
+
const configuredMetadata = this.options['arcgis-scene-server']?.metadata;
|
|
105
|
+
const layer = configuredMetadata
|
|
106
|
+
? parseI3SSceneLayerMetadata(configuredMetadata)
|
|
107
|
+
: await this.fetchLayerMetadata();
|
|
108
|
+
return normalizeI3SServiceMetadata(this.getLayerURL(), layer);
|
|
109
|
+
}
|
|
110
|
+
async fetchLayerMetadata() {
|
|
111
|
+
const response = await this.fetch(this.metadataURL());
|
|
112
|
+
if (!response.ok) {
|
|
113
|
+
throw new Error(`ArcGIS SceneServer metadata request failed: ${response.status} ${response.statusText}`);
|
|
114
|
+
}
|
|
115
|
+
return parseI3SSceneLayerMetadata(await response.json());
|
|
116
|
+
}
|
|
117
|
+
async createTilesetSource() {
|
|
118
|
+
const metadata = await this.getMetadata();
|
|
119
|
+
return createI3SLayerSource(metadata.url, metadata.layer, this.getSourceOptions(), this.coreApi);
|
|
120
|
+
}
|
|
121
|
+
getSourceOptions() {
|
|
122
|
+
const i3sOptions = this.options['i3s'] || {};
|
|
123
|
+
const token = this.getToken();
|
|
124
|
+
return {
|
|
125
|
+
...this.options,
|
|
126
|
+
i3s: token ? { ...i3sOptions, token } : i3sOptions
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
getToken() {
|
|
130
|
+
const serviceToken = this.options['arcgis-scene-server']?.token;
|
|
131
|
+
const i3sToken = this.options['i3s']?.token;
|
|
132
|
+
if (serviceToken) {
|
|
133
|
+
return serviceToken;
|
|
134
|
+
}
|
|
135
|
+
if (typeof i3sToken === 'string' && i3sToken) {
|
|
136
|
+
return i3sToken;
|
|
137
|
+
}
|
|
138
|
+
return new URL(this.url).searchParams.get('token') || undefined;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Runtime service loader for synchronous construction. */
|
|
142
|
+
export const ArcGISSceneServerSourceLoaderWithParser = {
|
|
143
|
+
...ARCGIS_SCENE_SERVER_SOURCE_LOADER_METADATA,
|
|
144
|
+
dataType: null,
|
|
145
|
+
batchType: null,
|
|
146
|
+
preload: undefined,
|
|
147
|
+
/** Supplies ArcGIS credentials after loading the selected implementation. */
|
|
148
|
+
getAuthentications: () => [ArcGISAuthentication],
|
|
149
|
+
createDataSource: (url, options = {}, coreApi) => new ArcGISSceneServerSource(url, options, coreApi)
|
|
150
|
+
};
|
|
151
|
+
/** Removes trailing URL separators in linear time, including for untrusted service URLs. */
|
|
152
|
+
function trimTrailingSlashes(value) {
|
|
153
|
+
let endIndex = value.length;
|
|
154
|
+
while (endIndex > 0 && value[endIndex - 1] === '/') {
|
|
155
|
+
endIndex--;
|
|
156
|
+
}
|
|
157
|
+
return value.slice(0, endIndex);
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=arcgis-scene-server-source-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CoreAPI, SourceLoader } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ArcGISVectorTileServerSource } from "./arcgis-vector-tile-server-source-loader.js";
|
|
3
|
+
import type { ArcGISVectorTileServerSourceLoaderOptions } from "../arcgis-source-types.js";
|
|
4
|
+
/** Loads the ArcGISVectorTileServerSourceLoader implementation on first asynchronous use. */
|
|
5
|
+
declare function preloadArcGISVectorTileServerSourceLoader(): Promise<SourceLoader<ArcGISVectorTileServerSource>>;
|
|
6
|
+
/** Lightweight service descriptor; use load() or the synchronous /bundled entrypoint. */
|
|
7
|
+
export declare const ArcGISVectorTileServerSourceLoader: {
|
|
8
|
+
readonly dataType: ArcGISVectorTileServerSource;
|
|
9
|
+
readonly batchType: never;
|
|
10
|
+
readonly preload: typeof preloadArcGISVectorTileServerSourceLoader;
|
|
11
|
+
/** Requires the runtime loader when constructing a source synchronously. */
|
|
12
|
+
readonly createDataSource: (_url: string, _options: ArcGISVectorTileServerSourceLoaderOptions, _coreApi?: CoreAPI) => ArcGISVectorTileServerSource;
|
|
13
|
+
readonly name: "ArcGIS VectorTileServer";
|
|
14
|
+
readonly id: "arcgis-vector-tile-server";
|
|
15
|
+
readonly module: "arcgis";
|
|
16
|
+
readonly version: "0.0.0";
|
|
17
|
+
readonly extensions: [];
|
|
18
|
+
readonly mimeTypes: ["application/vnd.mapbox-vector-tile", "application/x-protobuf"];
|
|
19
|
+
readonly type: "arcgis-vector-tile-server";
|
|
20
|
+
readonly fromUrl: true;
|
|
21
|
+
readonly fromBlob: false;
|
|
22
|
+
readonly options: {
|
|
23
|
+
readonly 'arcgis-vector-tile-server': {};
|
|
24
|
+
};
|
|
25
|
+
readonly defaultOptions: {
|
|
26
|
+
readonly 'arcgis-vector-tile-server': {};
|
|
27
|
+
};
|
|
28
|
+
readonly testURL: (url: string) => boolean;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=arcgis-vector-tile-server-source-loader-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-vector-tile-server-source-loader-types.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-vector-tile-server-source-loader-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,4BAA4B,EAAC,qDAAkD;AAC5F,OAAO,KAAK,EAAC,yCAAyC,EAAC,kCAA+B;AAEtF,6FAA6F;AAC7F,iBAAe,yCAAyC,IAAI,OAAO,CACjE,YAAY,CAAC,4BAA4B,CAAC,CAC3C,CAKA;AAED,yFAAyF;AACzF,eAAO,MAAM,kCAAkC;uBAEhB,4BAA4B;wBACtC,KAAK;;IAExB,4EAA4E;sCAEpE,MAAM,YACF,yCAAyC,aACxC,OAAO,KACjB,4BAA4B;;;;;;;;;;;;;;;;;CAK8B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { ARCGIS_VECTOR_TILE_SERVER_SOURCE_LOADER_METADATA } from "../arcgis-source-types.js";
|
|
5
|
+
/** Loads the ArcGISVectorTileServerSourceLoader implementation on first asynchronous use. */
|
|
6
|
+
async function preloadArcGISVectorTileServerSourceLoader() {
|
|
7
|
+
const { ArcGISVectorTileServerSourceLoaderWithParser } = await import('@loaders.gl/arcgis/arcgis-vector-tile-server-source-loader');
|
|
8
|
+
return ArcGISVectorTileServerSourceLoaderWithParser;
|
|
9
|
+
}
|
|
10
|
+
/** Lightweight service descriptor; use load() or the synchronous /bundled entrypoint. */
|
|
11
|
+
export const ArcGISVectorTileServerSourceLoader = {
|
|
12
|
+
...ARCGIS_VECTOR_TILE_SERVER_SOURCE_LOADER_METADATA,
|
|
13
|
+
dataType: null,
|
|
14
|
+
batchType: null,
|
|
15
|
+
preload: preloadArcGISVectorTileServerSourceLoader,
|
|
16
|
+
/** Requires the runtime loader when constructing a source synchronously. */
|
|
17
|
+
createDataSource(_url, _options, _coreApi) {
|
|
18
|
+
throw new Error('ArcGISVectorTileServerSourceLoader requires async load() or an @loaders.gl/arcgis/bundled import');
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=arcgis-vector-tile-server-source-loader-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-vector-tile-server-source-loader-types.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-vector-tile-server-source-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,gDAAgD,EAAC,kCAA+B;AAKxF,6FAA6F;AAC7F,KAAK,UAAU,yCAAyC;IAGtD,MAAM,EAAC,4CAA4C,EAAC,GAAG,MAAM,MAAM,CACjE,4DAA4D,CAC7D,CAAC;IACF,OAAO,4CAA4C,CAAC;AACtD,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,GAAG,gDAAgD;IACnD,QAAQ,EAAE,IAA+C;IACzD,SAAS,EAAE,IAAa;IACxB,OAAO,EAAE,yCAAyC;IAClD,4EAA4E;IAC5E,gBAAgB,CACd,IAAY,EACZ,QAAmD,EACnD,QAAkB;QAElB,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;IACJ,CAAC;CAC4D,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ArcGISAuthentication } from "../authentication.js";
|
|
2
|
+
import type { ArcGISVectorTileServerSourceLoaderOptions } from "../arcgis-source-types.js";
|
|
3
|
+
import type { CoreAPI, GetTileDataParameters, GetTileParameters, TileSourceMetadata, VectorTile, VectorTileSource } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { DataSource } from '@loaders.gl/loader-utils';
|
|
5
|
+
import type { Schema } from '@loaders.gl/schema';
|
|
6
|
+
/** A source for ArcGIS VectorTileServer metadata and PBF tiles. */
|
|
7
|
+
export declare class ArcGISVectorTileServerSource extends DataSource<string, ArcGISVectorTileServerSourceLoaderOptions> implements VectorTileSource {
|
|
8
|
+
/** Decoded tile family consumed by generic tile renderers. */
|
|
9
|
+
readonly mimeType = "application/vnd.mapbox-vector-tile";
|
|
10
|
+
/** ArcGIS tiles are decoded to WGS84 coordinates before rendering. */
|
|
11
|
+
readonly localCoordinates = false;
|
|
12
|
+
/** Cached service metadata request. */
|
|
13
|
+
private serviceMetadata;
|
|
14
|
+
/** Query parameters supplied with the service URL, such as an access token. */
|
|
15
|
+
private readonly serviceQueryParameters;
|
|
16
|
+
/** Creates an ArcGIS VectorTileServer source. */
|
|
17
|
+
constructor(url: string, options?: ArcGISVectorTileServerSourceLoaderOptions, coreApi?: CoreAPI);
|
|
18
|
+
/** Returns normalized service and tile-grid metadata. */
|
|
19
|
+
getMetadata(): Promise<TileSourceMetadata>;
|
|
20
|
+
/** Fetches one raw PBF tile from the ArcGIS tile endpoint. */
|
|
21
|
+
getTile(parameters: GetTileParameters, signal?: AbortSignal): Promise<ArrayBuffer | null>;
|
|
22
|
+
/** Returns the schema advertised by decoded vector tiles. */
|
|
23
|
+
getSchema(): Promise<Schema>;
|
|
24
|
+
/** Fetches and decodes one ArcGIS vector tile to geographic coordinates. */
|
|
25
|
+
getVectorTile(parameters: GetTileParameters): Promise<VectorTile | null>;
|
|
26
|
+
/** Provides decoded vector tiles through the deck.gl source interface. */
|
|
27
|
+
getTileData(parameters: GetTileDataParameters): Promise<VectorTile | null>;
|
|
28
|
+
/** Builds the ArcGIS cached vector tile URL. */
|
|
29
|
+
getTileURL(parameters: GetTileParameters): string;
|
|
30
|
+
/** Returns the service metadata URL. */
|
|
31
|
+
getMetadataURL(): string;
|
|
32
|
+
/** Returns the ArcGIS Mapbox style resource URL. */
|
|
33
|
+
getStyleURL(): string;
|
|
34
|
+
/** Returns the ArcGIS sprite resource base URL. */
|
|
35
|
+
getSpriteURL(): string;
|
|
36
|
+
/** Loads and caches the ArcGIS VectorTileServer metadata document. */
|
|
37
|
+
private getServiceMetadata;
|
|
38
|
+
/** Builds a resource URL while retaining service query parameters. */
|
|
39
|
+
private getResourceURL;
|
|
40
|
+
}
|
|
41
|
+
/** Runtime service loader for synchronous construction. */
|
|
42
|
+
export declare const ArcGISVectorTileServerSourceLoaderWithParser: {
|
|
43
|
+
readonly dataType: ArcGISVectorTileServerSource;
|
|
44
|
+
readonly batchType: never;
|
|
45
|
+
readonly preload: undefined;
|
|
46
|
+
/** Supplies ArcGIS credentials after loading the selected implementation. */
|
|
47
|
+
readonly getAuthentications: () => (typeof ArcGISAuthentication)[];
|
|
48
|
+
readonly createDataSource: (url: string, options?: ArcGISVectorTileServerSourceLoaderOptions, coreApi?: CoreAPI) => ArcGISVectorTileServerSource;
|
|
49
|
+
readonly name: "ArcGIS VectorTileServer";
|
|
50
|
+
readonly id: "arcgis-vector-tile-server";
|
|
51
|
+
readonly module: "arcgis";
|
|
52
|
+
readonly version: "0.0.0";
|
|
53
|
+
readonly extensions: [];
|
|
54
|
+
readonly mimeTypes: ["application/vnd.mapbox-vector-tile", "application/x-protobuf"];
|
|
55
|
+
readonly type: "arcgis-vector-tile-server";
|
|
56
|
+
readonly fromUrl: true;
|
|
57
|
+
readonly fromBlob: false;
|
|
58
|
+
readonly options: {
|
|
59
|
+
readonly 'arcgis-vector-tile-server': {};
|
|
60
|
+
};
|
|
61
|
+
readonly defaultOptions: {
|
|
62
|
+
readonly 'arcgis-vector-tile-server': {};
|
|
63
|
+
};
|
|
64
|
+
readonly testURL: (url: string) => boolean;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=arcgis-vector-tile-server-source-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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":"AAIA,OAAO,EAAC,oBAAoB,EAAC,6BAA0B;AAEvD,OAAO,KAAK,EAEV,yCAAyC,EAC1C,kCAA+B;AAEhC,OAAO,KAAK,EACV,OAAO,EACP,qBAAqB,EACrB,iBAAiB,EAEjB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE/C,mEAAmE;AACnE,qBAAa,4BACX,SAAQ,UAAU,CAAC,MAAM,EAAE,yCAAyC,CACpE,YAAW,gBAAgB;IAE3B,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,wCAAwC;IACzD,sEAAsE;IACtE,QAAQ,CAAC,gBAAgB,SAAS;IAClC,uCAAuC;IACvC,OAAO,CAAC,eAAe,CAAyD;IAChF,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkB;IAEzD,iDAAiD;gBAE/C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,yCAA8C,EACvD,OAAO,CAAC,EAAE,OAAO;IAanB,yDAAyD;IACnD,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;IA+BhD,8DAA8D;IACxD,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAS/F,6DAA6D;IACvD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,4EAA4E;IACtE,aAAa,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoB9E,0EAA0E;IACpE,WAAW,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIhF,gDAAgD;IAChD,UAAU,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM;IAIjD,wCAAwC;IACxC,cAAc,IAAI,MAAM;IAMxB,oDAAoD;IACpD,WAAW,IAAI,MAAM;IAIrB,mDAAmD;IACnD,YAAY,IAAI,MAAM;IAItB,sEAAsE;YACxD,kBAAkB;IAShC,sEAAsE;IACtE,OAAO,CAAC,cAAc;CAQvB;AAED,2DAA2D;AAC3D,eAAO,MAAM,4CAA4C;uBAE1B,4BAA4B;wBACtC,KAAK;;IAExB,6EAA6E;;qCAGtE,MAAM,YACF,yCAAyC,YACxC,OAAO;;;;;;;;;;;;;;;;;CAE0C,CAAC"}
|