@deck.gl/geo-layers 8.9.0-beta.2 → 8.9.0-beta.4
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/dist.dev.js +20969 -13277
- package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +1 -1
- package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/es5/mvt-layer/mvt-layer.js +1 -0
- package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/es5/tile-3d-layer/tile-3d-layer.js +6 -11
- package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/es5/tile-layer/tile-layer.js +6 -12
- package/dist/es5/tile-layer/tile-layer.js.map +1 -1
- package/dist/es5/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/es5/wms-layer/wms-layer.js +373 -0
- package/dist/es5/wms-layer/wms-layer.js.map +1 -0
- package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +1 -1
- package/dist/esm/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/esm/mvt-layer/mvt-layer.js +2 -1
- package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js +6 -11
- package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/esm/tile-layer/tile-layer.js +6 -12
- package/dist/esm/tile-layer/tile-layer.js.map +1 -1
- package/dist/esm/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/esm/wms-layer/wms-layer.js +228 -0
- package/dist/esm/wms-layer/wms-layer.js.map +1 -0
- package/dist.min.js +66 -55
- package/package.json +5 -3
- package/src/geo-cell-layer/GeoCellLayer.ts +2 -2
- package/src/h3-layers/h3-hexagon-layer.ts +2 -6
- package/src/index.ts +2 -0
- package/src/mesh-layer/mesh-layer.ts +3 -3
- package/src/mvt-layer/mvt-layer.ts +15 -11
- package/src/tile-3d-layer/tile-3d-layer.ts +9 -8
- package/src/tile-layer/tile-layer.ts +10 -9
- package/src/tileset-2d/tileset-2d.ts +1 -0
- package/src/wms-layer/wms-layer.ts +247 -0
- package/typed/geo-cell-layer/GeoCellLayer.d.ts +2 -2
- package/typed/geo-cell-layer/GeoCellLayer.d.ts.map +1 -1
- package/typed/h3-layers/h3-hexagon-layer.d.ts +3 -3
- package/typed/h3-layers/h3-hexagon-layer.d.ts.map +1 -1
- package/typed/imagery-layer/imagery-layer.d.ts +53 -0
- package/typed/imagery-layer/imagery-layer.d.ts.map +1 -0
- package/typed/index.d.ts +2 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/mesh-layer/mesh-layer.d.ts +3 -3
- package/typed/mesh-layer/mesh-layer.d.ts.map +1 -1
- package/typed/mvt-layer/mvt-layer.d.ts +4 -4
- package/typed/mvt-layer/mvt-layer.d.ts.map +1 -1
- package/typed/tile-3d-layer/tile-3d-layer.d.ts +2 -1
- package/typed/tile-3d-layer/tile-3d-layer.d.ts.map +1 -1
- package/typed/tile-layer/tile-layer.d.ts +4 -2
- package/typed/tile-layer/tile-layer.d.ts.map +1 -1
- package/typed/tileset-2d/tileset-2d.d.ts.map +1 -1
- package/typed/wms-layer/wms-layer.d.ts +57 -0
- package/typed/wms-layer/wms-layer.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/geo-layers",
|
|
3
3
|
"description": "deck.gl layers supporting geospatial use cases and GIS formats",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.9.0-beta.
|
|
5
|
+
"version": "8.9.0-beta.4",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -37,10 +37,12 @@
|
|
|
37
37
|
"@loaders.gl/schema": "^3.3.1",
|
|
38
38
|
"@loaders.gl/terrain": "^3.3.1",
|
|
39
39
|
"@loaders.gl/tiles": "^3.3.1",
|
|
40
|
+
"@loaders.gl/wms": "^3.3.1",
|
|
40
41
|
"@luma.gl/constants": "^8.5.16",
|
|
41
42
|
"@luma.gl/experimental": "^8.5.16",
|
|
42
43
|
"@math.gl/core": "^3.6.2",
|
|
43
44
|
"@math.gl/culling": "^3.6.2",
|
|
45
|
+
"@math.gl/proj4": "^3.6.3",
|
|
44
46
|
"@math.gl/web-mercator": "^3.6.2",
|
|
45
47
|
"@types/geojson": "^7946.0.8",
|
|
46
48
|
"h3-js": "^3.7.0",
|
|
@@ -51,8 +53,8 @@
|
|
|
51
53
|
"@deck.gl/extensions": "^8.0.0",
|
|
52
54
|
"@deck.gl/layers": "^8.0.0",
|
|
53
55
|
"@deck.gl/mesh-layers": "^8.0.0",
|
|
54
|
-
"@loaders.gl/core": "^3.
|
|
56
|
+
"@loaders.gl/core": "^3.3.0",
|
|
55
57
|
"@luma.gl/core": "^8.0.0"
|
|
56
58
|
},
|
|
57
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "f7c0eeaed1e62b0ae44ee45136b444f647e6cbd9"
|
|
58
60
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {CompositeLayer,
|
|
1
|
+
import {CompositeLayer, Layer, LayersList, DefaultProps} from '@deck.gl/core';
|
|
2
2
|
import {PolygonLayer, PolygonLayerProps} from '@deck.gl/layers';
|
|
3
3
|
|
|
4
4
|
const defaultProps: DefaultProps<GeoCellLayerProps> = {
|
|
@@ -6,7 +6,7 @@ const defaultProps: DefaultProps<GeoCellLayerProps> = {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
/** All properties supported by GeoCellLayer. */
|
|
9
|
-
export type GeoCellLayerProps<DataT = any> = PolygonLayerProps<DataT
|
|
9
|
+
export type GeoCellLayerProps<DataT = any> = PolygonLayerProps<DataT>;
|
|
10
10
|
|
|
11
11
|
export default class GeoCellLayer<DataT = any, ExtraProps extends {} = {}> extends CompositeLayer<
|
|
12
12
|
Required<GeoCellLayerProps<DataT>> & ExtraProps
|
|
@@ -12,7 +12,6 @@ import {lerp} from '@math.gl/core';
|
|
|
12
12
|
import {
|
|
13
13
|
AccessorFunction,
|
|
14
14
|
CompositeLayer,
|
|
15
|
-
CompositeLayerProps,
|
|
16
15
|
createIterable,
|
|
17
16
|
Layer,
|
|
18
17
|
LayersList,
|
|
@@ -110,8 +109,7 @@ const defaultProps: DefaultProps<H3HexagonLayerProps> = {
|
|
|
110
109
|
|
|
111
110
|
/** All properties supported by H3HexagonLayer */
|
|
112
111
|
export type H3HexagonLayerProps<DataT = any> = _H3HexagonLayerProps<DataT> &
|
|
113
|
-
PolygonLayerProps<DataT
|
|
114
|
-
CompositeLayerProps<DataT>;
|
|
112
|
+
PolygonLayerProps<DataT>;
|
|
115
113
|
|
|
116
114
|
/** Props added by the H3HexagonLayer */
|
|
117
115
|
type _H3HexagonLayerProps<DataT> = {
|
|
@@ -148,9 +146,7 @@ type _H3HexagonLayerProps<DataT> = {
|
|
|
148
146
|
export default class H3HexagonLayer<
|
|
149
147
|
DataT = any,
|
|
150
148
|
ExtraPropsT extends {} = {}
|
|
151
|
-
> extends CompositeLayer<
|
|
152
|
-
ExtraPropsT & Required<_H3HexagonLayerProps<DataT> & Required<PolygonLayerProps<DataT>>>
|
|
153
|
-
> {
|
|
149
|
+
> extends CompositeLayer<ExtraPropsT & Required<H3HexagonLayerProps<DataT>>> {
|
|
154
150
|
static defaultProps = defaultProps;
|
|
155
151
|
static layerName = 'H3HexagonLayer';
|
|
156
152
|
|
package/src/index.ts
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
/* eslint-disable max-len */
|
|
21
21
|
|
|
22
|
+
export {WMSLayer as _WMSLayer} from './wms-layer/wms-layer';
|
|
22
23
|
export {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';
|
|
23
24
|
export {default as S2Layer} from './s2-layer/s2-layer';
|
|
24
25
|
export {default as QuadkeyLayer} from './quadkey-layer/quadkey-layer';
|
|
@@ -34,6 +35,7 @@ export {default as GeohashLayer} from './geohash-layer/geohash-layer';
|
|
|
34
35
|
export {default as _GeoCellLayer} from './geo-cell-layer/GeoCellLayer';
|
|
35
36
|
|
|
36
37
|
// Types
|
|
38
|
+
export type {WMSLayerProps} from './wms-layer/wms-layer';
|
|
37
39
|
export type {H3ClusterLayerProps} from './h3-layers/h3-cluster-layer';
|
|
38
40
|
export type {H3HexagonLayerProps} from './h3-layers/h3-hexagon-layer';
|
|
39
41
|
export type {GreatCircleLayerProps} from './great-circle-layer/great-circle-layer';
|
|
@@ -27,10 +27,10 @@ const defaultProps: DefaultProps<MeshLayerProps> = {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
/** All properties supported by MeshLayer. */
|
|
30
|
-
export type MeshLayerProps<DataT = any> = _MeshLayerProps
|
|
30
|
+
export type MeshLayerProps<DataT = any> = _MeshLayerProps & SimpleMeshLayerProps<DataT>;
|
|
31
31
|
|
|
32
32
|
/** Properties added by MeshLayer. */
|
|
33
|
-
type _MeshLayerProps
|
|
33
|
+
type _MeshLayerProps = {
|
|
34
34
|
/**
|
|
35
35
|
* PBR material object. _lighting must be pbr for this to work
|
|
36
36
|
*/
|
|
@@ -44,7 +44,7 @@ type _MeshLayerProps<DataT> = {
|
|
|
44
44
|
|
|
45
45
|
export default class MeshLayer<DataT = any, ExtraProps extends {} = {}> extends SimpleMeshLayer<
|
|
46
46
|
DataT,
|
|
47
|
-
Required<_MeshLayerProps
|
|
47
|
+
Required<_MeshLayerProps> & ExtraProps
|
|
48
48
|
> {
|
|
49
49
|
static layerName = 'MeshLayer';
|
|
50
50
|
static defaultProps = defaultProps;
|
|
@@ -27,6 +27,7 @@ import TileLayer, {TiledPickingInfo, TileLayerProps} from '../tile-layer/tile-la
|
|
|
27
27
|
|
|
28
28
|
import type {Tileset2DProps, TileLoadProps, GeoBoundingBox} from '../tileset-2d';
|
|
29
29
|
import {
|
|
30
|
+
urlType,
|
|
30
31
|
Tileset2D,
|
|
31
32
|
Tile2DHeader,
|
|
32
33
|
getURLFromTemplate,
|
|
@@ -38,6 +39,7 @@ const WORLD_SIZE = 512;
|
|
|
38
39
|
|
|
39
40
|
const defaultProps: DefaultProps<MVTLayerProps> = {
|
|
40
41
|
...GeoJsonLayer.defaultProps,
|
|
42
|
+
data: urlType,
|
|
41
43
|
onDataLoad: {type: 'function', value: null, optional: true, compare: false},
|
|
42
44
|
uniqueIdProperty: '',
|
|
43
45
|
highlightedFeatureId: null,
|
|
@@ -60,8 +62,8 @@ export type TileJson = {
|
|
|
60
62
|
type ParsedMvtTile = Feature[] | BinaryFeatures;
|
|
61
63
|
|
|
62
64
|
/** All props supported by the MVTLayer */
|
|
63
|
-
export type MVTLayerProps
|
|
64
|
-
GeoJsonLayerProps
|
|
65
|
+
export type MVTLayerProps = _MVTLayerProps &
|
|
66
|
+
Omit<GeoJsonLayerProps, 'data'> &
|
|
65
67
|
TileLayerProps<ParsedMvtTile>;
|
|
66
68
|
|
|
67
69
|
/** Props added by the MVTLayer */
|
|
@@ -93,10 +95,10 @@ export type _MVTLayerProps = {
|
|
|
93
95
|
type ContentWGS84Cache = {_contentWGS84?: Feature[]};
|
|
94
96
|
|
|
95
97
|
/** Render data formatted as [Mapbox Vector Tiles](https://docs.mapbox.com/vector-tiles/specification/). */
|
|
96
|
-
export default class MVTLayer<
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
>
|
|
98
|
+
export default class MVTLayer<ExtraProps extends {} = {}> extends TileLayer<
|
|
99
|
+
ParsedMvtTile,
|
|
100
|
+
Required<_MVTLayerProps> & ExtraProps
|
|
101
|
+
> {
|
|
100
102
|
static layerName = 'MVTLayer';
|
|
101
103
|
static defaultProps = defaultProps;
|
|
102
104
|
|
|
@@ -287,7 +289,9 @@ export default class MVTLayer<
|
|
|
287
289
|
|
|
288
290
|
if (this.state.binary && info.index !== -1) {
|
|
289
291
|
const {data} = params.sourceLayer!.props;
|
|
290
|
-
info.object = binaryToGeojson(data as BinaryFeatures, {
|
|
292
|
+
info.object = binaryToGeojson(data as BinaryFeatures, {
|
|
293
|
+
globalFeatureId: info.index
|
|
294
|
+
}) as Feature;
|
|
291
295
|
}
|
|
292
296
|
if (info.object && !isWGS84) {
|
|
293
297
|
info.object = transformTileCoordsToWGS84(
|
|
@@ -355,21 +359,21 @@ export default class MVTLayer<
|
|
|
355
359
|
}
|
|
356
360
|
|
|
357
361
|
/** Get the rendered features in the current viewport. */
|
|
358
|
-
getRenderedFeatures(maxFeatures: number | null = null):
|
|
362
|
+
getRenderedFeatures(maxFeatures: number | null = null): Feature[] {
|
|
359
363
|
const features = this._pickObjects(maxFeatures);
|
|
360
364
|
const featureCache = new Set();
|
|
361
|
-
const renderedFeatures:
|
|
365
|
+
const renderedFeatures: Feature[] = [];
|
|
362
366
|
|
|
363
367
|
for (const f of features) {
|
|
364
368
|
const featureId = getFeatureUniqueId(f.object, this.props.uniqueIdProperty);
|
|
365
369
|
|
|
366
370
|
if (featureId === undefined) {
|
|
367
371
|
// we have no id for the feature, we just add to the list
|
|
368
|
-
renderedFeatures.push(f.object as
|
|
372
|
+
renderedFeatures.push(f.object as Feature);
|
|
369
373
|
} else if (!featureCache.has(featureId)) {
|
|
370
374
|
// Add removing duplicates
|
|
371
375
|
featureCache.add(featureId);
|
|
372
|
-
renderedFeatures.push(f.object as
|
|
376
|
+
renderedFeatures.push(f.object as Feature);
|
|
373
377
|
}
|
|
374
378
|
}
|
|
375
379
|
|
|
@@ -32,22 +32,23 @@ const defaultProps: DefaultProps<Tile3DLayerProps> = {
|
|
|
32
32
|
getPointColor: {type: 'accessor', value: [0, 0, 0, 255]},
|
|
33
33
|
pointSize: 1.0,
|
|
34
34
|
|
|
35
|
-
//
|
|
36
|
-
data:
|
|
35
|
+
// Disable async data loading (handling it in _loadTileSet)
|
|
36
|
+
data: '',
|
|
37
37
|
loader: Tiles3DLoader,
|
|
38
38
|
|
|
39
|
-
onTilesetLoad: {type: 'function', value: tileset3d => {}
|
|
40
|
-
onTileLoad: {type: 'function', value: tileHeader => {}
|
|
41
|
-
onTileUnload: {type: 'function', value: tileHeader => {}
|
|
42
|
-
onTileError: {type: 'function', value: (tile, message, url) => {}
|
|
43
|
-
_getMeshColor: {type: 'function', value: tileHeader => [255, 255, 255]
|
|
39
|
+
onTilesetLoad: {type: 'function', value: tileset3d => {}},
|
|
40
|
+
onTileLoad: {type: 'function', value: tileHeader => {}},
|
|
41
|
+
onTileUnload: {type: 'function', value: tileHeader => {}},
|
|
42
|
+
onTileError: {type: 'function', value: (tile, message, url) => {}},
|
|
43
|
+
_getMeshColor: {type: 'function', value: tileHeader => [255, 255, 255]}
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
/** All properties supported by Tile3DLayer */
|
|
47
|
-
export type Tile3DLayerProps<DataT = any> = _Tile3DLayerProps<DataT> & CompositeLayerProps
|
|
47
|
+
export type Tile3DLayerProps<DataT = any> = _Tile3DLayerProps<DataT> & CompositeLayerProps;
|
|
48
48
|
|
|
49
49
|
/** Props added by the Tile3DLayer */
|
|
50
50
|
type _Tile3DLayerProps<DataT> = {
|
|
51
|
+
data: string;
|
|
51
52
|
/** Color Accessor for point clouds. **/
|
|
52
53
|
getPointColor?: Accessor<DataT, Color>;
|
|
53
54
|
|
|
@@ -21,20 +21,20 @@ import {
|
|
|
21
21
|
STRATEGY_DEFAULT,
|
|
22
22
|
Tileset2DProps
|
|
23
23
|
} from '../tileset-2d';
|
|
24
|
-
import {urlType, getURLFromTemplate} from '../tileset-2d';
|
|
24
|
+
import {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d';
|
|
25
25
|
|
|
26
26
|
const defaultProps: DefaultProps<TileLayerProps> = {
|
|
27
27
|
TilesetClass: Tileset2D,
|
|
28
28
|
data: {type: 'data', value: []},
|
|
29
29
|
dataComparator: urlType.equal,
|
|
30
|
-
renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)
|
|
31
|
-
getTileData: {type: 'function', optional: true, value: null
|
|
30
|
+
renderSubLayers: {type: 'function', value: props => new GeoJsonLayer(props)},
|
|
31
|
+
getTileData: {type: 'function', optional: true, value: null},
|
|
32
32
|
// TODO - change to onViewportLoad to align with Tile3DLayer
|
|
33
|
-
onViewportLoad: {type: 'function', optional: true, value: null
|
|
34
|
-
onTileLoad: {type: 'function', value: tile => {}
|
|
35
|
-
onTileUnload: {type: 'function', value: tile => {}
|
|
33
|
+
onViewportLoad: {type: 'function', optional: true, value: null},
|
|
34
|
+
onTileLoad: {type: 'function', value: tile => {}},
|
|
35
|
+
onTileUnload: {type: 'function', value: tile => {}},
|
|
36
36
|
// eslint-disable-next-line
|
|
37
|
-
onTileError: {type: 'function', value: err => console.error(err)
|
|
37
|
+
onTileError: {type: 'function', value: err => console.error(err)},
|
|
38
38
|
extent: {type: 'array', optional: true, value: null, compare: true},
|
|
39
39
|
tileSize: 512,
|
|
40
40
|
maxZoom: null,
|
|
@@ -48,14 +48,15 @@ const defaultProps: DefaultProps<TileLayerProps> = {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
/** All props supported by the TileLayer */
|
|
51
|
-
export type TileLayerProps<DataT = any> = CompositeLayerProps
|
|
51
|
+
export type TileLayerProps<DataT = any> = CompositeLayerProps & _TileLayerProps<DataT>;
|
|
52
52
|
|
|
53
53
|
/** Props added by the TileLayer */
|
|
54
54
|
type _TileLayerProps<DataT> = {
|
|
55
|
+
data: URLTemplate;
|
|
55
56
|
/**
|
|
56
57
|
* Optionally implement a custom indexing scheme.
|
|
57
58
|
*/
|
|
58
|
-
TilesetClass
|
|
59
|
+
TilesetClass?: typeof Tileset2D;
|
|
59
60
|
/**
|
|
60
61
|
* Renders one or an array of Layer instances.
|
|
61
62
|
*/
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
// deck.gl, MIT license
|
|
2
|
+
// Attributions:
|
|
3
|
+
// Copyright 2022 Foursquare Labs, Inc.
|
|
4
|
+
|
|
5
|
+
/* eslint-disable camelcase */ // Some WMS parameters are not in camel case
|
|
6
|
+
/* global setTimeout, clearTimeout */
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
Layer,
|
|
10
|
+
CompositeLayer,
|
|
11
|
+
CompositeLayerProps,
|
|
12
|
+
UpdateParameters,
|
|
13
|
+
DefaultProps,
|
|
14
|
+
Viewport,
|
|
15
|
+
COORDINATE_SYSTEM,
|
|
16
|
+
_deepEqual as deepEqual
|
|
17
|
+
} from '@deck.gl/core';
|
|
18
|
+
import {BitmapLayer} from '@deck.gl/layers';
|
|
19
|
+
import type {ImageSourceMetadata, ImageType, ImageServiceType} from '@loaders.gl/wms';
|
|
20
|
+
import {ImageSource, createImageSource} from '@loaders.gl/wms';
|
|
21
|
+
import {Proj4Projection} from '@math.gl/proj4';
|
|
22
|
+
|
|
23
|
+
/** All props supported by the TileLayer */
|
|
24
|
+
export type WMSLayerProps = CompositeLayerProps & _WMSLayerProps;
|
|
25
|
+
|
|
26
|
+
/** Props added by the TileLayer */
|
|
27
|
+
type _WMSLayerProps = {
|
|
28
|
+
data: string | ImageSource;
|
|
29
|
+
serviceType?: ImageServiceType | 'auto';
|
|
30
|
+
layers?: string[];
|
|
31
|
+
srs?: 'EPSG:4326' | 'EPSG:3857' | 'auto';
|
|
32
|
+
onMetadataLoad?: (metadata: ImageSourceMetadata) => void;
|
|
33
|
+
onMetadataLoadError?: (error: Error) => void;
|
|
34
|
+
onImageLoadStart?: (requestId: unknown) => void;
|
|
35
|
+
onImageLoad?: (requestId: unknown) => void;
|
|
36
|
+
onImageLoadError?: (requestId: unknown, error: Error) => void;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const defaultProps: DefaultProps<WMSLayerProps> = {
|
|
40
|
+
id: 'imagery-layer',
|
|
41
|
+
data: '',
|
|
42
|
+
serviceType: 'auto',
|
|
43
|
+
srs: 'auto',
|
|
44
|
+
layers: {type: 'array', compare: true, value: []},
|
|
45
|
+
onMetadataLoad: {type: 'function', value: () => {}},
|
|
46
|
+
// eslint-disable-next-line
|
|
47
|
+
onMetadataLoadError: {type: 'function', value: console.error},
|
|
48
|
+
onImageLoadStart: {type: 'function', value: () => {}},
|
|
49
|
+
onImageLoad: {type: 'function', value: () => {}},
|
|
50
|
+
onImageLoadError: {
|
|
51
|
+
type: 'function',
|
|
52
|
+
compare: false,
|
|
53
|
+
// eslint-disable-next-line
|
|
54
|
+
value: (requestId: unknown, error: Error) => console.error(error, requestId)
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const projConverter = new Proj4Projection({from: 'EPSG:4326', to: 'EPSG:3857'});
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The layer is used in Hex Tile layer in order to properly discard invisible elements during animation
|
|
62
|
+
*/
|
|
63
|
+
export class WMSLayer<ExtraPropsT extends {} = {}> extends CompositeLayer<
|
|
64
|
+
ExtraPropsT & Required<_WMSLayerProps>
|
|
65
|
+
> {
|
|
66
|
+
static layerName = 'WMSLayer';
|
|
67
|
+
static defaultProps: DefaultProps = defaultProps;
|
|
68
|
+
|
|
69
|
+
state!: {
|
|
70
|
+
imageSource: ImageSource;
|
|
71
|
+
image: ImageType;
|
|
72
|
+
bounds: [number, number, number, number];
|
|
73
|
+
lastRequestParameters: {
|
|
74
|
+
bbox: [number, number, number, number];
|
|
75
|
+
layers: string[];
|
|
76
|
+
srs: 'EPSG:4326' | 'EPSG:3857';
|
|
77
|
+
width: number;
|
|
78
|
+
height: number;
|
|
79
|
+
};
|
|
80
|
+
lastRequestId: number;
|
|
81
|
+
|
|
82
|
+
_nextRequestId: number;
|
|
83
|
+
_timeoutId: any;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/** Lets deck.gl know that we want viewport change events */
|
|
87
|
+
override shouldUpdateState(): boolean {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
override initializeState(): void {
|
|
92
|
+
// intentionally empty, initialization is done in updateState
|
|
93
|
+
this.state._nextRequestId = 0;
|
|
94
|
+
this.state.lastRequestId = -1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
override updateState({changeFlags, props, oldProps}: UpdateParameters<this>): void {
|
|
98
|
+
const {viewport} = this.context;
|
|
99
|
+
|
|
100
|
+
// Check if data source has changed
|
|
101
|
+
if (changeFlags.dataChanged || props.serviceType !== oldProps.serviceType) {
|
|
102
|
+
this.state.imageSource = this._createImageSource(props);
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
104
|
+
this._loadMetadata();
|
|
105
|
+
this.debounce(() => this.loadImage(viewport, 'image source changed'), 0);
|
|
106
|
+
} else if (!deepEqual(props.layers, oldProps.layers, 1)) {
|
|
107
|
+
this.debounce(() => this.loadImage(viewport, 'layers changed'), 0);
|
|
108
|
+
} else if (changeFlags.viewportChanged) {
|
|
109
|
+
this.debounce(() => this.loadImage(viewport, 'viewport changed'));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
override finalizeState(): void {
|
|
114
|
+
// TODO - we could cancel outstanding requests
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
override renderLayers(): Layer {
|
|
118
|
+
// TODO - which bitmap layer is rendered should depend on the current viewport
|
|
119
|
+
// Currently Studio only uses one viewport
|
|
120
|
+
const {bounds, image, lastRequestParameters} = this.state;
|
|
121
|
+
|
|
122
|
+
return (
|
|
123
|
+
image &&
|
|
124
|
+
new BitmapLayer({
|
|
125
|
+
...this.getSubLayerProps({id: 'bitmap'}),
|
|
126
|
+
_imageCoordinateSystem:
|
|
127
|
+
lastRequestParameters.srs === 'EPSG:4326'
|
|
128
|
+
? COORDINATE_SYSTEM.LNGLAT
|
|
129
|
+
: COORDINATE_SYSTEM.CARTESIAN,
|
|
130
|
+
bounds,
|
|
131
|
+
image
|
|
132
|
+
})
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
async getFeatureInfoText(x: number, y: number): Promise<string | null> {
|
|
137
|
+
const {lastRequestParameters} = this.state;
|
|
138
|
+
if (lastRequestParameters) {
|
|
139
|
+
// @ts-expect-error Undocumented method
|
|
140
|
+
const featureInfo = await this.state.imageSource.getFeatureInfoText?.({
|
|
141
|
+
...lastRequestParameters,
|
|
142
|
+
query_layers: lastRequestParameters.layers,
|
|
143
|
+
x,
|
|
144
|
+
y,
|
|
145
|
+
info_format: 'application/vnd.ogc.gml'
|
|
146
|
+
});
|
|
147
|
+
return featureInfo;
|
|
148
|
+
}
|
|
149
|
+
return '';
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
_createImageSource(props: WMSLayerProps): ImageSource {
|
|
153
|
+
if (props.data instanceof ImageSource) {
|
|
154
|
+
return props.data;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (typeof props.data === 'string') {
|
|
158
|
+
return createImageSource({
|
|
159
|
+
url: props.data,
|
|
160
|
+
loadOptions: props.loadOptions,
|
|
161
|
+
type: props.serviceType
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
throw new Error('invalid image source in props.data');
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/** Run a getMetadata on the image service */
|
|
169
|
+
async _loadMetadata(): Promise<void> {
|
|
170
|
+
const {imageSource} = this.state;
|
|
171
|
+
try {
|
|
172
|
+
const metadata = await imageSource.getMetadata();
|
|
173
|
+
|
|
174
|
+
// If a request takes a long time, it may no longer be expected
|
|
175
|
+
if (this.state.imageSource === imageSource) {
|
|
176
|
+
this.getCurrentLayer()?.props.onMetadataLoad(metadata);
|
|
177
|
+
}
|
|
178
|
+
} catch (error) {
|
|
179
|
+
this.getCurrentLayer()?.props.onMetadataLoadError(error as Error);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/** Load an image */
|
|
184
|
+
async loadImage(viewport: Viewport, reason: string): Promise<void> {
|
|
185
|
+
const {layers, serviceType} = this.props;
|
|
186
|
+
|
|
187
|
+
// TODO - move to ImageSource?
|
|
188
|
+
if (serviceType === 'wms' && layers.length === 0) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const bounds = viewport.getBounds();
|
|
193
|
+
const {width, height} = viewport;
|
|
194
|
+
const requestId = this.getRequestId();
|
|
195
|
+
let {srs} = this.props;
|
|
196
|
+
if (srs === 'auto') {
|
|
197
|
+
// BitmapLayer only supports LNGLAT or CARTESIAN (Web-Mercator)
|
|
198
|
+
srs = viewport.resolution ? 'EPSG:4326' : 'EPSG:3857';
|
|
199
|
+
}
|
|
200
|
+
const requestParams = {
|
|
201
|
+
width,
|
|
202
|
+
height,
|
|
203
|
+
bbox: bounds,
|
|
204
|
+
layers,
|
|
205
|
+
srs
|
|
206
|
+
};
|
|
207
|
+
if (srs === 'EPSG:3857') {
|
|
208
|
+
const [minX, minY] = projConverter.project([bounds[0], bounds[1]]);
|
|
209
|
+
const [maxX, maxY] = projConverter.project([bounds[2], bounds[3]]);
|
|
210
|
+
requestParams.bbox = [minX, minY, maxX, maxY];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
try {
|
|
214
|
+
this.props.onImageLoadStart(requestId);
|
|
215
|
+
|
|
216
|
+
const image = await this.state.imageSource.getImage(requestParams);
|
|
217
|
+
|
|
218
|
+
// If a request takes a long time, later requests may have already loaded.
|
|
219
|
+
if (this.state.lastRequestId < requestId) {
|
|
220
|
+
this.getCurrentLayer()?.props.onImageLoad(requestId);
|
|
221
|
+
// Not type safe...
|
|
222
|
+
this.setState({
|
|
223
|
+
image,
|
|
224
|
+
bounds,
|
|
225
|
+
lastRequestParameters: requestParams,
|
|
226
|
+
lastRequestId: requestId
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
} catch (error) {
|
|
230
|
+
this.raiseError(error as Error, 'Load image');
|
|
231
|
+
this.getCurrentLayer()?.props.onImageLoadError(requestId, error as Error);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// HELPERS
|
|
236
|
+
|
|
237
|
+
/** Global counter for issuing unique request ids */
|
|
238
|
+
private getRequestId(): number {
|
|
239
|
+
return this.state._nextRequestId++;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/** Runs an action in the future, cancels it if the new action is issued before it executes */
|
|
243
|
+
private debounce(fn: Function, ms = 500): void {
|
|
244
|
+
clearTimeout(this.state._timeoutId);
|
|
245
|
+
this.state._timeoutId = setTimeout(() => fn(), ms);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CompositeLayer,
|
|
1
|
+
import { CompositeLayer, Layer, LayersList, DefaultProps } from '@deck.gl/core/typed';
|
|
2
2
|
import { PolygonLayerProps } from '@deck.gl/layers/typed';
|
|
3
3
|
/** All properties supported by GeoCellLayer. */
|
|
4
|
-
export declare type GeoCellLayerProps<DataT = any> = PolygonLayerProps<DataT
|
|
4
|
+
export declare type GeoCellLayerProps<DataT = any> = PolygonLayerProps<DataT>;
|
|
5
5
|
export default class GeoCellLayer<DataT = any, ExtraProps extends {} = {}> extends CompositeLayer<Required<GeoCellLayerProps<DataT>> & ExtraProps> {
|
|
6
6
|
static layerName: string;
|
|
7
7
|
static defaultProps: DefaultProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoCellLayer.d.ts","sourceRoot":"","sources":["../../src/geo-cell-layer/GeoCellLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"GeoCellLayer.d.ts","sourceRoot":"","sources":["../../src/geo-cell-layer/GeoCellLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAe,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAMhE,gDAAgD;AAChD,oBAAY,iBAAiB,CAAC,KAAK,GAAG,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CAC/F,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAChD;IACC,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAgB;IAEjD,sDAAsD;IACtD,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAItD,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CA+D1C"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { H3Index } from 'h3-js';
|
|
2
|
-
import { AccessorFunction, CompositeLayer,
|
|
2
|
+
import { AccessorFunction, CompositeLayer, Layer, LayersList, UpdateParameters, DefaultProps } from '@deck.gl/core/typed';
|
|
3
3
|
import { PolygonLayerProps } from '@deck.gl/layers/typed';
|
|
4
4
|
export declare function normalizeLongitudes(vertices: number[][], refLng?: number): void;
|
|
5
5
|
export declare function scalePolygon(hexId: H3Index, vertices: number[][], factor: number): void;
|
|
6
6
|
/** All properties supported by H3HexagonLayer */
|
|
7
|
-
export declare type H3HexagonLayerProps<DataT = any> = _H3HexagonLayerProps<DataT> & PolygonLayerProps<DataT
|
|
7
|
+
export declare type H3HexagonLayerProps<DataT = any> = _H3HexagonLayerProps<DataT> & PolygonLayerProps<DataT>;
|
|
8
8
|
/** Props added by the H3HexagonLayer */
|
|
9
9
|
declare type _H3HexagonLayerProps<DataT> = {
|
|
10
10
|
/**
|
|
@@ -36,7 +36,7 @@ declare type _H3HexagonLayerProps<DataT> = {
|
|
|
36
36
|
/**
|
|
37
37
|
* Render hexagons from the [H3](https://h3geo.org/) geospatial indexing system.
|
|
38
38
|
*/
|
|
39
|
-
export default class H3HexagonLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<ExtraPropsT & Required<
|
|
39
|
+
export default class H3HexagonLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<ExtraPropsT & Required<H3HexagonLayerProps<DataT>>> {
|
|
40
40
|
static defaultProps: DefaultProps<H3HexagonLayerProps<any>>;
|
|
41
41
|
static layerName: string;
|
|
42
42
|
static _checkH3Lib: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h3-hexagon-layer.d.ts","sourceRoot":"","sources":["../../src/h3-layers/h3-hexagon-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,gBAAgB,EAChB,cAAc,
|
|
1
|
+
{"version":3,"file":"h3-hexagon-layer.d.ts","sourceRoot":"","sources":["../../src/h3-layers/h3-hexagon-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEd,KAAK,EACL,UAAU,EACV,gBAAgB,EAEhB,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAA4B,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAQ7E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAU/E;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAcvF;AAqDD,iDAAiD;AACjD,oBAAY,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,GACxE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE3B,wCAAwC;AACxC,aAAK,oBAAoB,CAAC,KAAK,IAAI;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CACjC,KAAK,GAAG,GAAG,EACX,WAAW,SAAS,EAAE,GAAG,EAAE,CAC3B,SAAQ,cAAc,CAAC,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,yCAAgB;IACnC,MAAM,CAAC,SAAS,SAAoB;IAGpC,MAAM,CAAC,WAAW,aAAY;IAE9B,eAAe;IAQf,KAAK,EAAG;QACN,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;KACvB,CAAC;IAEF,iBAAiB,CAAC,EAAC,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO;IAMjE,WAAW,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAa/D,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,eAAe;IAuCvB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;IAIzC,OAAO,CAAC,gBAAgB;IAsDxB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,kBAAkB;CAuB3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Layer, CompositeLayer, CompositeLayerProps, UpdateParameters, DefaultProps, Viewport } from '@deck.gl/core/typed';
|
|
2
|
+
import type { ImageSourceMetadata, ImageType, ImageServiceType } from '@loaders.gl/wms';
|
|
3
|
+
import { ImageSource } from '@loaders.gl/wms';
|
|
4
|
+
/** All props supported by the TileLayer */
|
|
5
|
+
export declare type ImageryLayerProps = CompositeLayerProps<any> & _ImageryLayerProps;
|
|
6
|
+
/** Props added by the TileLayer */
|
|
7
|
+
declare type _ImageryLayerProps = {
|
|
8
|
+
serviceType?: ImageServiceType | 'auto';
|
|
9
|
+
layers?: string[];
|
|
10
|
+
srs?: 'EPSG:4326' | 'EPSG:3857' | 'auto';
|
|
11
|
+
onMetadataLoadStart?: () => void;
|
|
12
|
+
onMetadataLoadComplete?: (metadata: ImageSourceMetadata) => void;
|
|
13
|
+
onMetadataLoadError?: (error: Error) => void;
|
|
14
|
+
onImageLoadStart?: (requestId: unknown) => void;
|
|
15
|
+
onImageLoadComplete?: (requestId: unknown) => void;
|
|
16
|
+
onImageLoadError?: (requestId: unknown, error: Error) => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The layer is used in Hex Tile layer in order to properly discard invisible elements during animation
|
|
20
|
+
*/
|
|
21
|
+
export declare class ImageryLayer<ExtraPropsT extends {} = {}> extends CompositeLayer<ExtraPropsT & Required<_ImageryLayerProps>> {
|
|
22
|
+
static layerName: string;
|
|
23
|
+
static defaultProps: DefaultProps;
|
|
24
|
+
state: {
|
|
25
|
+
imageSource: ImageSource;
|
|
26
|
+
image: ImageType;
|
|
27
|
+
srs: 'EPSG:4326' | 'EPSG:3857';
|
|
28
|
+
bounds: [number, number, number, number];
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
lastLoadedId: number;
|
|
32
|
+
_nextRequestId: number;
|
|
33
|
+
_timeoutId: any;
|
|
34
|
+
};
|
|
35
|
+
/** Lets deck.gl know that we want viewport change events */
|
|
36
|
+
shouldUpdateState(): boolean;
|
|
37
|
+
initializeState(): void;
|
|
38
|
+
updateState({ changeFlags, props, oldProps }: UpdateParameters<this>): void;
|
|
39
|
+
finalizeState(): void;
|
|
40
|
+
renderLayers(): Layer;
|
|
41
|
+
getFeatureInfoText(x: number, y: number): Promise<string | null>;
|
|
42
|
+
_createImageSource(props: ImageryLayerProps): ImageSource;
|
|
43
|
+
/** Run a getMetadata on the image service */
|
|
44
|
+
_loadMetadata(): Promise<void>;
|
|
45
|
+
/** Load an image */
|
|
46
|
+
loadImage(viewport: Viewport, reason: string): Promise<void>;
|
|
47
|
+
/** Global counter for issuing unique request ids */
|
|
48
|
+
private getRequestId;
|
|
49
|
+
/** Runs an action in the future, cancels it if the new action is issued before it executes */
|
|
50
|
+
private debounce;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=imagery-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imagery-layer.d.ts","sourceRoot":"","sources":["../../src/imagery-layer/imagery-layer.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAC,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAG/D,2CAA2C;AAC3C,oBAAY,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC;AAE9E,mCAAmC;AACnC,aAAK,kBAAkB,GAAG;IACxB,WAAW,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/D,CAAC;AAwBF;;GAEG;AACH,qBAAa,YAAY,CAAC,WAAW,SAAS,EAAE,GAAG,EAAE,CAAE,SAAQ,cAAc,CAC3E,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAC3C;IACC,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAgB;IAEjD,KAAK,EAAG;QACN,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,SAAS,CAAC;QACjB,GAAG,EAAE,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QAErB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,GAAG,CAAC;KACjB,CAAC;IAEF,4DAA4D;IACnD,iBAAiB,IAAI,OAAO;IAI5B,eAAe,IAAI,IAAI;IAMvB,WAAW,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAgBzE,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,KAAK;IAiBxB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsBtE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW;IAgBzD,6CAA6C;IACvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,oBAAoB;IACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ClE,oDAAoD;IACpD,OAAO,CAAC,YAAY;IAIpB,8FAA8F;IAC9F,OAAO,CAAC,QAAQ;CAIjB"}
|
package/typed/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { WMSLayer as _WMSLayer } from './wms-layer/wms-layer';
|
|
1
2
|
export { default as GreatCircleLayer } from './great-circle-layer/great-circle-layer';
|
|
2
3
|
export { default as S2Layer } from './s2-layer/s2-layer';
|
|
3
4
|
export { default as QuadkeyLayer } from './quadkey-layer/quadkey-layer';
|
|
@@ -10,6 +11,7 @@ export { default as TerrainLayer } from './terrain-layer/terrain-layer';
|
|
|
10
11
|
export { default as MVTLayer } from './mvt-layer/mvt-layer';
|
|
11
12
|
export { default as GeohashLayer } from './geohash-layer/geohash-layer';
|
|
12
13
|
export { default as _GeoCellLayer } from './geo-cell-layer/GeoCellLayer';
|
|
14
|
+
export type { WMSLayerProps } from './wms-layer/wms-layer';
|
|
13
15
|
export type { H3ClusterLayerProps } from './h3-layers/h3-cluster-layer';
|
|
14
16
|
export type { H3HexagonLayerProps } from './h3-layers/h3-hexagon-layer';
|
|
15
17
|
export type { GreatCircleLayerProps } from './great-circle-layer/great-circle-layer';
|