@feltmaps/js-sdk 1.10.2-next.0 → 1.11.0-next.0

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.
@@ -4992,12 +4992,28 @@ interface RasterLayerSource {
4992
4992
  bands: Array<RasterBand>;
4993
4993
  }
4994
4994
  /**
4995
- * The RasterBand interface describes the metadata for a raster band, necessary for
4996
- * calculating the encoded raster value from the red, green, and blue values of the pixel.
4995
+ * The RasterBand interface describes one band of a raster: how to identify it when
4996
+ * asking for statistics, what to call it, and the values needed to calculate the
4997
+ * encoded raster value from the red, green, and blue values of a pixel.
4997
4998
  *
4998
4999
  * @group Layer sources
4999
5000
  */
5000
5001
  interface RasterBand {
5002
+ /**
5003
+ * The identifier for this band, such as `"band:1"`.
5004
+ *
5005
+ * Pass this to the raster statistics methods, such as
5006
+ * {@link LayersController.getRasterAggregates}, and use it to refer to the band
5007
+ * inside a filter.
5008
+ */
5009
+ id: string;
5010
+ /**
5011
+ * The name of the band, such as "Red" or "Elevation".
5012
+ *
5013
+ * Felt takes this from the raster itself when the file names its bands, and
5014
+ * falls back to "Band 1", "Band 2" and so on.
5015
+ */
5016
+ displayName: string;
5001
5017
  /**
5002
5018
  * Encoding base value as a floating point number
5003
5019
  */
@@ -7080,6 +7096,633 @@ interface GetLayerPrecomputedCalculationParams extends z.infer<typeof GetLayerPr
7080
7096
  gridConfig: GridConfig;
7081
7097
  }
7082
7098
 
7099
+ /**
7100
+ * The spatial boundary for a raster statistic.
7101
+ *
7102
+ * Raster statistics accept everything a vector statistic accepts, and also accept
7103
+ * a line. A polygon or bounding box selects the pixels whose centres fall inside
7104
+ * it. A line is sampled along its length instead, so its statistics are weighted
7105
+ * by distance rather than by area.
7106
+ *
7107
+ * @group Stats
7108
+ */
7109
+ type RasterGeometryFilter = GeometryFilter | LineStringGeometry | MultiLineStringGeometry;
7110
+ declare const RasterAggregationMethodSchema: z.ZodEnum<["avg", "min", "max", "sum", "median", "stddev", "majority", "area"]>;
7111
+ /**
7112
+ * A statistic that can be calculated for a raster band.
7113
+ *
7114
+ * `area` is the ground area of the selected pixels, in square metres. `majority`
7115
+ * is the most common value, and applies only to a band holding whole numbers.
7116
+ *
7117
+ * Neither `sum` nor `area` is available for a line boundary, because both need a
7118
+ * ground area for each pixel and a line only samples points. A request for a
7119
+ * statistic that the band or the boundary cannot answer throws.
7120
+ *
7121
+ * @group Stats
7122
+ */
7123
+ type RasterAggregationMethod = z.infer<typeof RasterAggregationMethodSchema>;
7124
+ declare const GetRasterAggregatesParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7125
+ layerId: z.ZodString;
7126
+ band: z.ZodString;
7127
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7128
+ type: z.ZodLiteral<"Polygon">;
7129
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7130
+ }, "strip", z.ZodTypeAny, {
7131
+ type: "Polygon";
7132
+ coordinates: [number, number][][];
7133
+ }, {
7134
+ type: "Polygon";
7135
+ coordinates: [number, number][][];
7136
+ }>, z.ZodObject<{
7137
+ type: z.ZodLiteral<"MultiPolygon">;
7138
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7139
+ }, "strip", z.ZodTypeAny, {
7140
+ type: "MultiPolygon";
7141
+ coordinates: [number, number][][][];
7142
+ }, {
7143
+ type: "MultiPolygon";
7144
+ coordinates: [number, number][][][];
7145
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>, z.ZodObject<{
7146
+ type: z.ZodLiteral<"LineString">;
7147
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
7148
+ }, "strip", z.ZodTypeAny, {
7149
+ type: "LineString";
7150
+ coordinates: [number, number][];
7151
+ }, {
7152
+ type: "LineString";
7153
+ coordinates: [number, number][];
7154
+ }>, z.ZodObject<{
7155
+ type: z.ZodLiteral<"MultiLineString">;
7156
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
7157
+ }, "strip", z.ZodTypeAny, {
7158
+ type: "MultiLineString";
7159
+ coordinates: [number, number][][];
7160
+ }, {
7161
+ type: "MultiLineString";
7162
+ coordinates: [number, number][][];
7163
+ }>]>>;
7164
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7165
+ }, {
7166
+ aggregation: z.ZodObject<{
7167
+ methods: z.ZodArray<z.ZodEnum<["avg", "min", "max", "sum", "median", "stddev", "majority", "area"]>, "many">;
7168
+ percentiles: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
7169
+ }, "strip", z.ZodTypeAny, {
7170
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7171
+ percentiles?: number[] | undefined;
7172
+ }, {
7173
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7174
+ percentiles?: number[] | undefined;
7175
+ }>;
7176
+ }>, "strip", z.ZodTypeAny, {
7177
+ layerId: string;
7178
+ aggregation: {
7179
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7180
+ percentiles?: number[] | undefined;
7181
+ };
7182
+ band: string;
7183
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7184
+ boundary?: [number, number, number, number] | [number, number][] | {
7185
+ type: "Polygon";
7186
+ coordinates: [number, number][][];
7187
+ } | {
7188
+ type: "MultiPolygon";
7189
+ coordinates: [number, number][][][];
7190
+ } | {
7191
+ type: "LineString";
7192
+ coordinates: [number, number][];
7193
+ } | {
7194
+ type: "MultiLineString";
7195
+ coordinates: [number, number][][];
7196
+ } | undefined;
7197
+ }, {
7198
+ layerId: string;
7199
+ aggregation: {
7200
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7201
+ percentiles?: number[] | undefined;
7202
+ };
7203
+ band: string;
7204
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7205
+ boundary?: [number, number, number, number] | [number, number][] | {
7206
+ type: "Polygon";
7207
+ coordinates: [number, number][][];
7208
+ } | {
7209
+ type: "MultiPolygon";
7210
+ coordinates: [number, number][][][];
7211
+ } | {
7212
+ type: "LineString";
7213
+ coordinates: [number, number][];
7214
+ } | {
7215
+ type: "MultiLineString";
7216
+ coordinates: [number, number][][];
7217
+ } | undefined;
7218
+ }>;
7219
+ /**
7220
+ * The parameters for calculating statistics for a raster band, passed to the
7221
+ * {@link LayersController.getRasterAggregates} method.
7222
+ *
7223
+ * @group Stats
7224
+ */
7225
+ interface GetRasterAggregatesParams<T extends RasterAggregationMethod> extends zInfer<typeof GetRasterAggregatesParamsSchema> {
7226
+ /**
7227
+ * The ID of the band to calculate statistics for, such as `"band:1"`.
7228
+ *
7229
+ * Read the available band IDs from the `bands` on a raster layer's source.
7230
+ */
7231
+ band: string;
7232
+ /**
7233
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7234
+ * raster.
7235
+ */
7236
+ boundary?: RasterGeometryFilter;
7237
+ /**
7238
+ * Filters on band values for the pixels to include, such as
7239
+ * `["band:1", "gt", 100]`.
7240
+ */
7241
+ filters?: Filters;
7242
+ /**
7243
+ * Which statistics to calculate for the band.
7244
+ */
7245
+ aggregation: {
7246
+ /**
7247
+ * The statistics to calculate for the band.
7248
+ */
7249
+ methods: T[];
7250
+ /**
7251
+ * Percentile ranks between 0 and 100 to calculate, such as `[10, 50, 90]`.
7252
+ */
7253
+ percentiles?: number[];
7254
+ };
7255
+ }
7256
+ declare const RasterPercentileSchema: z.ZodObject<{
7257
+ /**
7258
+ * The percentile rank that was requested.
7259
+ */
7260
+ rank: z.ZodNumber;
7261
+ /**
7262
+ * The band value at this rank.
7263
+ */
7264
+ value: z.ZodNullable<z.ZodNumber>;
7265
+ }, "strip", z.ZodTypeAny, {
7266
+ value: number | null;
7267
+ rank: number;
7268
+ }, {
7269
+ value: number | null;
7270
+ rank: number;
7271
+ }>;
7272
+ /**
7273
+ * One percentile from the response to the
7274
+ * {@link LayersController.getRasterAggregates} method.
7275
+ *
7276
+ * @group Stats
7277
+ */
7278
+ interface RasterPercentile extends zInfer<typeof RasterPercentileSchema> {
7279
+ }
7280
+ /**
7281
+ * The response from the {@link LayersController.getRasterAggregates} method.
7282
+ *
7283
+ * @group Stats
7284
+ */
7285
+ interface GetRasterAggregatesResult<T extends RasterAggregationMethod> {
7286
+ /**
7287
+ * The value calculated for each requested statistic.
7288
+ *
7289
+ * `null` is returned when the boundary and filters selected no pixels, as
7290
+ * opposed to zero, so as not to confuse an empty selection with a real zero.
7291
+ */
7292
+ stats: Record<T, number | null>;
7293
+ /**
7294
+ * The requested percentiles, in the order they were requested. Present only
7295
+ * when percentile ranks were requested.
7296
+ */
7297
+ percentiles?: Array<RasterPercentile>;
7298
+ }
7299
+ declare const GetRasterHistogramParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7300
+ layerId: z.ZodString;
7301
+ band: z.ZodString;
7302
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7303
+ type: z.ZodLiteral<"Polygon">;
7304
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7305
+ }, "strip", z.ZodTypeAny, {
7306
+ type: "Polygon";
7307
+ coordinates: [number, number][][];
7308
+ }, {
7309
+ type: "Polygon";
7310
+ coordinates: [number, number][][];
7311
+ }>, z.ZodObject<{
7312
+ type: z.ZodLiteral<"MultiPolygon">;
7313
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7314
+ }, "strip", z.ZodTypeAny, {
7315
+ type: "MultiPolygon";
7316
+ coordinates: [number, number][][][];
7317
+ }, {
7318
+ type: "MultiPolygon";
7319
+ coordinates: [number, number][][][];
7320
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>, z.ZodObject<{
7321
+ type: z.ZodLiteral<"LineString">;
7322
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
7323
+ }, "strip", z.ZodTypeAny, {
7324
+ type: "LineString";
7325
+ coordinates: [number, number][];
7326
+ }, {
7327
+ type: "LineString";
7328
+ coordinates: [number, number][];
7329
+ }>, z.ZodObject<{
7330
+ type: z.ZodLiteral<"MultiLineString">;
7331
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
7332
+ }, "strip", z.ZodTypeAny, {
7333
+ type: "MultiLineString";
7334
+ coordinates: [number, number][][];
7335
+ }, {
7336
+ type: "MultiLineString";
7337
+ coordinates: [number, number][][];
7338
+ }>]>>;
7339
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7340
+ }, {
7341
+ steps: z.ZodUnion<[z.ZodObject<{
7342
+ type: z.ZodLiteral<"equal-intervals">;
7343
+ count: z.ZodNumber;
7344
+ }, "strip", z.ZodTypeAny, {
7345
+ type: "equal-intervals";
7346
+ count: number;
7347
+ }, {
7348
+ type: "equal-intervals";
7349
+ count: number;
7350
+ }>, z.ZodArray<z.ZodNumber, "many">]>;
7351
+ }>, "strip", z.ZodTypeAny, {
7352
+ layerId: string;
7353
+ steps: number[] | {
7354
+ type: "equal-intervals";
7355
+ count: number;
7356
+ };
7357
+ band: string;
7358
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7359
+ boundary?: [number, number, number, number] | [number, number][] | {
7360
+ type: "Polygon";
7361
+ coordinates: [number, number][][];
7362
+ } | {
7363
+ type: "MultiPolygon";
7364
+ coordinates: [number, number][][][];
7365
+ } | {
7366
+ type: "LineString";
7367
+ coordinates: [number, number][];
7368
+ } | {
7369
+ type: "MultiLineString";
7370
+ coordinates: [number, number][][];
7371
+ } | undefined;
7372
+ }, {
7373
+ layerId: string;
7374
+ steps: number[] | {
7375
+ type: "equal-intervals";
7376
+ count: number;
7377
+ };
7378
+ band: string;
7379
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7380
+ boundary?: [number, number, number, number] | [number, number][] | {
7381
+ type: "Polygon";
7382
+ coordinates: [number, number][][];
7383
+ } | {
7384
+ type: "MultiPolygon";
7385
+ coordinates: [number, number][][][];
7386
+ } | {
7387
+ type: "LineString";
7388
+ coordinates: [number, number][];
7389
+ } | {
7390
+ type: "MultiLineString";
7391
+ coordinates: [number, number][][];
7392
+ } | undefined;
7393
+ }>;
7394
+ /**
7395
+ * The parameters for requesting a histogram of a raster band's values, passed to
7396
+ * the {@link LayersController.getRasterHistogramData} method.
7397
+ *
7398
+ * @group Stats
7399
+ */
7400
+ interface GetRasterHistogramParams extends zInfer<typeof GetRasterHistogramParamsSchema> {
7401
+ /**
7402
+ * The ID of the band to bin, such as `"band:1"`.
7403
+ *
7404
+ * Read the available band IDs from the `bands` on a raster layer's source.
7405
+ */
7406
+ band: string;
7407
+ /**
7408
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7409
+ * raster.
7410
+ */
7411
+ boundary?: RasterGeometryFilter;
7412
+ /**
7413
+ * Filters on band values for the pixels to include.
7414
+ */
7415
+ filters?: Filters;
7416
+ /**
7417
+ * How to divide the band's values into bins, either as a number of equal
7418
+ * intervals or as the bin edges themselves.
7419
+ */
7420
+ steps: {
7421
+ type: "equal-intervals";
7422
+ count: number;
7423
+ } | number[];
7424
+ }
7425
+ declare const RasterHistogramBinSchema: z.ZodObject<{
7426
+ /**
7427
+ * The left edge of the bin.
7428
+ */
7429
+ min: z.ZodNumber;
7430
+ /**
7431
+ * The right edge of the bin.
7432
+ */
7433
+ max: z.ZodNumber;
7434
+ /**
7435
+ * The number of pixels in the bin.
7436
+ */
7437
+ value: z.ZodNumber;
7438
+ }, "strip", z.ZodTypeAny, {
7439
+ value: number;
7440
+ max: number;
7441
+ min: number;
7442
+ }, {
7443
+ value: number;
7444
+ max: number;
7445
+ min: number;
7446
+ }>;
7447
+ /**
7448
+ * One bin from the response to the
7449
+ * {@link LayersController.getRasterHistogramData} method.
7450
+ *
7451
+ * @group Stats
7452
+ */
7453
+ interface RasterHistogramBin extends zInfer<typeof RasterHistogramBinSchema> {
7454
+ }
7455
+ /**
7456
+ * The response from the {@link LayersController.getRasterHistogramData} method.
7457
+ *
7458
+ * @group Stats
7459
+ */
7460
+ interface GetRasterHistogramResult {
7461
+ /**
7462
+ * The bins, in ascending order of value.
7463
+ */
7464
+ bins: Array<RasterHistogramBin>;
7465
+ }
7466
+ declare const GetRasterCategoriesParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7467
+ layerId: z.ZodString;
7468
+ band: z.ZodString;
7469
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7470
+ type: z.ZodLiteral<"Polygon">;
7471
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7472
+ }, "strip", z.ZodTypeAny, {
7473
+ type: "Polygon";
7474
+ coordinates: [number, number][][];
7475
+ }, {
7476
+ type: "Polygon";
7477
+ coordinates: [number, number][][];
7478
+ }>, z.ZodObject<{
7479
+ type: z.ZodLiteral<"MultiPolygon">;
7480
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7481
+ }, "strip", z.ZodTypeAny, {
7482
+ type: "MultiPolygon";
7483
+ coordinates: [number, number][][][];
7484
+ }, {
7485
+ type: "MultiPolygon";
7486
+ coordinates: [number, number][][][];
7487
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>, z.ZodObject<{
7488
+ type: z.ZodLiteral<"LineString">;
7489
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
7490
+ }, "strip", z.ZodTypeAny, {
7491
+ type: "LineString";
7492
+ coordinates: [number, number][];
7493
+ }, {
7494
+ type: "LineString";
7495
+ coordinates: [number, number][];
7496
+ }>, z.ZodObject<{
7497
+ type: z.ZodLiteral<"MultiLineString">;
7498
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
7499
+ }, "strip", z.ZodTypeAny, {
7500
+ type: "MultiLineString";
7501
+ coordinates: [number, number][][];
7502
+ }, {
7503
+ type: "MultiLineString";
7504
+ coordinates: [number, number][][];
7505
+ }>]>>;
7506
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7507
+ }, {
7508
+ limit: z.ZodOptional<z.ZodNumber>;
7509
+ }>, "strip", z.ZodTypeAny, {
7510
+ layerId: string;
7511
+ band: string;
7512
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7513
+ boundary?: [number, number, number, number] | [number, number][] | {
7514
+ type: "Polygon";
7515
+ coordinates: [number, number][][];
7516
+ } | {
7517
+ type: "MultiPolygon";
7518
+ coordinates: [number, number][][][];
7519
+ } | {
7520
+ type: "LineString";
7521
+ coordinates: [number, number][];
7522
+ } | {
7523
+ type: "MultiLineString";
7524
+ coordinates: [number, number][][];
7525
+ } | undefined;
7526
+ limit?: number | undefined;
7527
+ }, {
7528
+ layerId: string;
7529
+ band: string;
7530
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7531
+ boundary?: [number, number, number, number] | [number, number][] | {
7532
+ type: "Polygon";
7533
+ coordinates: [number, number][][];
7534
+ } | {
7535
+ type: "MultiPolygon";
7536
+ coordinates: [number, number][][][];
7537
+ } | {
7538
+ type: "LineString";
7539
+ coordinates: [number, number][];
7540
+ } | {
7541
+ type: "MultiLineString";
7542
+ coordinates: [number, number][][];
7543
+ } | undefined;
7544
+ limit?: number | undefined;
7545
+ }>;
7546
+ /**
7547
+ * The parameters for counting the distinct values of a raster band, passed to the
7548
+ * {@link LayersController.getRasterCategoryData} method.
7549
+ *
7550
+ * @group Stats
7551
+ */
7552
+ interface GetRasterCategoriesParams extends zInfer<typeof GetRasterCategoriesParamsSchema> {
7553
+ /**
7554
+ * The ID of the band to count values for, such as `"band:1"`.
7555
+ *
7556
+ * Read the available band IDs from the `bands` on a raster layer's source.
7557
+ */
7558
+ band: string;
7559
+ /**
7560
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7561
+ * raster.
7562
+ */
7563
+ boundary?: RasterGeometryFilter;
7564
+ /**
7565
+ * Filters on band values for the pixels to include.
7566
+ */
7567
+ filters?: Filters;
7568
+ /**
7569
+ * The maximum number of categories to return. The most frequent categories are
7570
+ * kept.
7571
+ */
7572
+ limit?: number;
7573
+ }
7574
+ declare const RasterCategorySchema: z.ZodObject<{
7575
+ /**
7576
+ * The band value this category counts.
7577
+ */
7578
+ key: z.ZodNumber;
7579
+ /**
7580
+ * The number of pixels holding this value.
7581
+ */
7582
+ value: z.ZodNumber;
7583
+ /**
7584
+ * The ground area of this category's pixels, in square metres. Absent for a
7585
+ * line boundary, which samples points and so has no area.
7586
+ */
7587
+ areaM2: z.ZodOptional<z.ZodNumber>;
7588
+ }, "strip", z.ZodTypeAny, {
7589
+ value: number;
7590
+ key: number;
7591
+ areaM2?: number | undefined;
7592
+ }, {
7593
+ value: number;
7594
+ key: number;
7595
+ areaM2?: number | undefined;
7596
+ }>;
7597
+ /**
7598
+ * One category from the response to the
7599
+ * {@link LayersController.getRasterCategoryData} method.
7600
+ *
7601
+ * @group Stats
7602
+ */
7603
+ interface RasterCategory extends zInfer<typeof RasterCategorySchema> {
7604
+ }
7605
+ /**
7606
+ * The response from the {@link LayersController.getRasterCategoryData} method.
7607
+ *
7608
+ * @group Stats
7609
+ */
7610
+ interface GetRasterCategoriesResult {
7611
+ /**
7612
+ * The categories, most frequent first.
7613
+ */
7614
+ categories: Array<RasterCategory>;
7615
+ /**
7616
+ * How many distinct values the band holds within the scope, which is larger
7617
+ * than the number of categories returned when `limit` drops some.
7618
+ */
7619
+ total: number;
7620
+ }
7621
+ declare const GetRasterProfileParamsSchema: z.ZodObject<{
7622
+ layerId: z.ZodString;
7623
+ band: z.ZodString;
7624
+ boundary: z.ZodUnion<[z.ZodObject<{
7625
+ type: z.ZodLiteral<"LineString">;
7626
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
7627
+ }, "strip", z.ZodTypeAny, {
7628
+ type: "LineString";
7629
+ coordinates: [number, number][];
7630
+ }, {
7631
+ type: "LineString";
7632
+ coordinates: [number, number][];
7633
+ }>, z.ZodObject<{
7634
+ type: z.ZodLiteral<"MultiLineString">;
7635
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
7636
+ }, "strip", z.ZodTypeAny, {
7637
+ type: "MultiLineString";
7638
+ coordinates: [number, number][][];
7639
+ }, {
7640
+ type: "MultiLineString";
7641
+ coordinates: [number, number][][];
7642
+ }>]>;
7643
+ }, "strip", z.ZodTypeAny, {
7644
+ layerId: string;
7645
+ boundary: {
7646
+ type: "LineString";
7647
+ coordinates: [number, number][];
7648
+ } | {
7649
+ type: "MultiLineString";
7650
+ coordinates: [number, number][][];
7651
+ };
7652
+ band: string;
7653
+ }, {
7654
+ layerId: string;
7655
+ boundary: {
7656
+ type: "LineString";
7657
+ coordinates: [number, number][];
7658
+ } | {
7659
+ type: "MultiLineString";
7660
+ coordinates: [number, number][][];
7661
+ };
7662
+ band: string;
7663
+ }>;
7664
+ /**
7665
+ * The parameters for sampling a raster band along a line, passed to the
7666
+ * {@link LayersController.getRasterProfile} method.
7667
+ *
7668
+ * @group Stats
7669
+ */
7670
+ interface GetRasterProfileParams extends zInfer<typeof GetRasterProfileParamsSchema> {
7671
+ /**
7672
+ * The ID of the band to sample, such as `"band:1"`.
7673
+ *
7674
+ * Read the available band IDs from the `bands` on a raster layer's source.
7675
+ */
7676
+ band: string;
7677
+ /**
7678
+ * The line to sample the band along. The band is sampled at roughly one sample
7679
+ * per pixel along the line's length.
7680
+ */
7681
+ boundary: LineStringGeometry | MultiLineStringGeometry;
7682
+ }
7683
+ declare const RasterProfileSampleSchema: z.ZodObject<{
7684
+ /**
7685
+ * How far along the line this sample was taken, in ground metres from the
7686
+ * line's start.
7687
+ */
7688
+ distanceM: z.ZodNumber;
7689
+ /**
7690
+ * The band's value at this sample, or `null` where the raster holds no data or
7691
+ * the line runs outside the raster.
7692
+ */
7693
+ value: z.ZodNullable<z.ZodNumber>;
7694
+ }, "strip", z.ZodTypeAny, {
7695
+ value: number | null;
7696
+ distanceM: number;
7697
+ }, {
7698
+ value: number | null;
7699
+ distanceM: number;
7700
+ }>;
7701
+ /**
7702
+ * One sample from the response to the {@link LayersController.getRasterProfile}
7703
+ * method.
7704
+ *
7705
+ * @group Stats
7706
+ */
7707
+ interface RasterProfileSample extends zInfer<typeof RasterProfileSampleSchema> {
7708
+ }
7709
+ /**
7710
+ * The response from the {@link LayersController.getRasterProfile} method.
7711
+ *
7712
+ * @group Stats
7713
+ */
7714
+ interface GetRasterProfileResult {
7715
+ /**
7716
+ * The samples, ordered from the line's start.
7717
+ */
7718
+ samples: Array<RasterProfileSample>;
7719
+ /**
7720
+ * The mean distance between consecutive samples, in ground metres. Absent when
7721
+ * the line was too short to walk.
7722
+ */
7723
+ spacingM?: number;
7724
+ }
7725
+
7083
7726
  /**
7084
7727
  * The Layers controller allows you to get information about the layers on the
7085
7728
  * map, and make changes to their visibility.
@@ -7899,6 +8542,113 @@ interface LayersController {
7899
8542
  sum: number | null;
7900
8543
  count: number | null;
7901
8544
  }>;
8545
+ /**
8546
+ * Calculates statistics for a raster band.
8547
+ *
8548
+ * @remarks
8549
+ * Summarizes the pixel values of one band of a raster layer. Omit the boundary
8550
+ * to summarize the whole raster, or pass a bounding box, a polygon, or a line to
8551
+ * summarize part of it. Filters restrict the summary to pixels whose band values
8552
+ * match a condition.
8553
+ *
8554
+ * @example
8555
+ * ```typescript
8556
+ * // The elevation range of a whole raster
8557
+ * const elevation = await felt.getRasterAggregates({
8558
+ * layerId: "elevation",
8559
+ * band: "band:1",
8560
+ * aggregation: { methods: ["min", "max", "avg"] },
8561
+ * });
8562
+ *
8563
+ * // How much ground inside a parcel sits above 2,000 metres
8564
+ * const highGround = await felt.getRasterAggregates({
8565
+ * layerId: "elevation",
8566
+ * band: "band:1",
8567
+ * aggregation: { methods: ["area"] },
8568
+ * boundary: parcel,
8569
+ * filters: ["band:1", "gt", 2000],
8570
+ * });
8571
+ *
8572
+ * // The steepest tenth of a slope raster
8573
+ * const steep = await felt.getRasterAggregates({
8574
+ * layerId: "slope",
8575
+ * band: "band:1",
8576
+ * aggregation: { methods: ["avg"], percentiles: [90] },
8577
+ * });
8578
+ * ```
8579
+ */
8580
+ getRasterAggregates<T extends RasterAggregationMethod>(params: GetRasterAggregatesParams<T>): Promise<GetRasterAggregatesResult<T>>;
8581
+ /**
8582
+ * Calculates a histogram of a raster band's values.
8583
+ *
8584
+ * @remarks
8585
+ * Divides a band's values into bins and counts the pixels falling into each one.
8586
+ * You can pass a number of equal intervals, or the bin edges themselves when you
8587
+ * already know how you want the values divided.
8588
+ *
8589
+ * As with the vector histogram, filters apply in two ways. The top-level
8590
+ * boundary and filters decide both where the bins fall and what gets counted in
8591
+ * them. Filters in `values` only change what gets counted, so two histograms can
8592
+ * be compared against identical bins.
8593
+ *
8594
+ * @example
8595
+ * ```typescript
8596
+ * // Elevation distribution in ten equal intervals
8597
+ * const elevation = await felt.getRasterHistogramData({
8598
+ * layerId: "elevation",
8599
+ * band: "band:1",
8600
+ * steps: { type: "equal-intervals", count: 10 },
8601
+ * });
8602
+ *
8603
+ * // The same bins, counting only pixels inside a watershed
8604
+ * const inWatershed = await felt.getRasterHistogramData({
8605
+ * layerId: "elevation",
8606
+ * band: "band:1",
8607
+ * steps: [0, 500, 1000, 1500, 2000, 3000],
8608
+ * values: { boundary: watershed },
8609
+ * });
8610
+ * ```
8611
+ */
8612
+ getRasterHistogramData(params: GetRasterHistogramParams): Promise<GetRasterHistogramResult>;
8613
+ /**
8614
+ * Counts the pixels holding each distinct value of a raster band.
8615
+ *
8616
+ * @remarks
8617
+ * This suits a band whose values are class codes, such as a land cover raster.
8618
+ * Each category reports how many pixels hold the value and how much ground they
8619
+ * cover. A band whose values are not whole numbers cannot be counted this way,
8620
+ * and throws.
8621
+ *
8622
+ * @example
8623
+ * ```typescript
8624
+ * // How much of a county each land cover class covers
8625
+ * const landCover = await felt.getRasterCategoryData({
8626
+ * layerId: "land-cover",
8627
+ * band: "band:1",
8628
+ * boundary: county,
8629
+ * limit: 10,
8630
+ * });
8631
+ * ```
8632
+ */
8633
+ getRasterCategoryData(params: GetRasterCategoriesParams): Promise<GetRasterCategoriesResult>;
8634
+ /**
8635
+ * Samples a raster band's values along a line.
8636
+ *
8637
+ * @remarks
8638
+ * Returns the values themselves rather than a summary of them, each paired with
8639
+ * how far along the line it was taken. This is what an elevation profile along a
8640
+ * route is drawn from.
8641
+ *
8642
+ * @example
8643
+ * ```typescript
8644
+ * const profile = await felt.getRasterProfile({
8645
+ * layerId: "elevation",
8646
+ * band: "band:1",
8647
+ * boundary: route,
8648
+ * });
8649
+ * ```
8650
+ */
8651
+ getRasterProfile(params: GetRasterProfileParams): Promise<GetRasterProfileResult>;
7902
8652
  /**
7903
8653
  * Get the schema for a layer.
7904
8654
  *
@@ -13848,20 +14598,46 @@ declare const UiControlsOptionsSchema: z.ZodObject<{
13848
14598
  * @defaultValue true
13849
14599
  */
13850
14600
  scaleBar: z.ZodOptional<z.ZodBoolean>;
14601
+ /**
14602
+ * Whether or not the map can be rotated.
14603
+ *
14604
+ * @remarks
14605
+ * This affects all rotation interactions — dragging with the right mouse
14606
+ * button or Ctrl held, two-finger touch rotation, and keyboard shortcuts —
14607
+ * as well as the compass control, which is hidden when rotation is
14608
+ * disabled.
14609
+ *
14610
+ * @defaultValue true
14611
+ */
14612
+ rotation: z.ZodOptional<z.ZodBoolean>;
14613
+ /**
14614
+ * Whether or not the right-click context menu is available on the map.
14615
+ *
14616
+ * @remarks
14617
+ * When disabled, right-clicking the map opens neither Felt's context menu
14618
+ * nor the browser's own.
14619
+ *
14620
+ * @defaultValue true
14621
+ */
14622
+ contextMenu: z.ZodOptional<z.ZodBoolean>;
13851
14623
  }, "strip", z.ZodTypeAny, {
14624
+ rotation?: boolean | undefined;
13852
14625
  showLegend?: boolean | undefined;
13853
14626
  cooperativeGestures?: boolean | undefined;
13854
14627
  fullScreenButton?: boolean | undefined;
13855
14628
  geolocation?: boolean | undefined;
13856
14629
  zoomControls?: boolean | undefined;
13857
14630
  scaleBar?: boolean | undefined;
14631
+ contextMenu?: boolean | undefined;
13858
14632
  }, {
14633
+ rotation?: boolean | undefined;
13859
14634
  showLegend?: boolean | undefined;
13860
14635
  cooperativeGestures?: boolean | undefined;
13861
14636
  fullScreenButton?: boolean | undefined;
13862
14637
  geolocation?: boolean | undefined;
13863
14638
  zoomControls?: boolean | undefined;
13864
14639
  scaleBar?: boolean | undefined;
14640
+ contextMenu?: boolean | undefined;
13865
14641
  }>;
13866
14642
  /**
13867
14643
  * The options for which parts of the Felt UI can be shown when interacting with
@@ -14698,4 +15474,4 @@ interface FeltController extends ViewportController, UiController, LayersControl
14698
15474
  iframe: HTMLIFrameElement | null;
14699
15475
  }
14700
15476
 
14701
- export { type GeoJsonDataVectorSource as $, type PlaceElementRead as A, type BasemapsController as B, type ColorBasemap as C, type PlaceElementUpdate as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type PolygonElementCreate as J, type PolygonElementRead as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type PolygonElementUpdate as O, type PathElementCreate as P, type TextElementRead as Q, type TextElementUpdate as R, type ElementsController as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type MapInteractionEvent as W, type InteractionsController as X, type CreateLayersFromGeoJsonParams as Y, type DataOnlyLayer as Z, type FeltTiledVectorSource as _, type Basemap as a, type SelectionController as a$, type GeoJsonFileVectorSource as a0, type GeoJsonUrlVectorSource as a1, type GetLayerGroupsConstraint as a2, type GetLayersConstraint as a3, type GetRenderedFeaturesConstraint as a4, type Layer as a5, type LayerChangeCallbackParams as a6, type LayerCommon as a7, type LayerGroup as a8, type LayerGroupChangeCallbackParams as a9, type LayerBoundaries as aA, type LayerFilters as aB, type AggregatedGridConfig as aC, type AggregationConfig as aD, type AggregationMethod as aE, type CountGridConfig as aF, type GetLayerCalculationParams as aG, type GetLayerCategoriesGroup as aH, type GetLayerCategoriesParams as aI, type GetLayerHistogramBin as aJ, type GetLayerHistogramParams as aK, type GetLayerPrecomputedCalculationParams as aL, type GridConfig as aM, type GridType as aN, type MultiAggregationConfig as aO, type PrecomputedAggregationMethod as aP, type ValueConfiguration as aQ, type LayersController as aR, type MapDetails as aS, type MiscController as aT, type ElementGroupNode as aU, type ElementNode as aV, type EntityNode as aW, type FeatureNode as aX, type FeatureSelection as aY, type LayerGroupNode as aZ, type LayerNode as a_, type LayerProcessingStatus as aa, type LegendDisplay as ab, type LegendItem as ac, type LegendItemChangeCallbackParams as ad, type LegendItemIdentifier as ae, type LegendItemsConstraint as af, type RasterBand as ag, type RasterLayer as ah, type RasterLayerSource as ai, type UpdateLayerParams as aj, type VectorLayer as ak, type LayerFeature as al, type RasterValue as am, type LayerSchema as an, type LayerSchemaAttribute as ao, type LayerSchemaBooleanAttribute as ap, type LayerSchemaCommonAttribute as aq, type LayerSchemaDateAttribute as ar, type LayerSchemaDateTimeAttribute as as, type LayerSchemaNumericAttribute as at, type LayerSchemaTextAttribute as au, type FilterExpression as av, type FilterLogicGate as aw, type FilterTernary as ax, type Filters as ay, type GeometryFilter as az, type ColorBasemapInput as b, type UIPanelElement as b$, type FeltBoundary as b0, type FeltZoom as b1, type GeoJsonFeature as b2, type GeoJsonGeometry as b3, type GeoJsonProperties as b4, type LatLng as b5, type LineStringGeometry as b6, type LngLatTuple as b7, type MultiLineStringGeometry as b8, type MultiPointGeometry as b9, type CreatePanelElementsParams as bA, type DeletePanelElementsParams as bB, type UiOnMapInteractionsOptions as bC, type UpdateActionTriggerParams as bD, type UpdateFeatureActionParams as bE, type UpdatePanelElementsParams as bF, type PlacementForUIElement as bG, type UIPanel as bH, type UIPanelCreateOrUpdate as bI, type UIButtonElement as bJ, type UIButtonElementCreate as bK, type UIButtonElementUpdate as bL, type UITextElement as bM, type UITextElementCreate as bN, type UITextElementUpdate as bO, type UIFlexibleSpaceElement as bP, type UIFlexibleSpaceElementCreate as bQ, type UIFlexibleSpaceElementUpdate as bR, type UIDividerElement as bS, type UIDividerElementCreate as bT, type UIDividerElementUpdate as bU, type UITextInputElement as bV, type UITextInputElementCreate as bW, type UITextInputElementUpdate as bX, type UISelectElement as bY, type UISelectElementCreate as bZ, type UISelectElementUpdate as b_, type MultiPolygonGeometry as ba, type PointGeometry as bb, type PolygonGeometry as bc, type SetVisibilityRequest as bd, type SortConfig as be, type SortDirection as bf, type CircleToolSettings as bg, type ConfigurableToolType as bh, type HighlighterToolSettings as bi, type InputToolSettings as bj, type LineToolSettings as bk, type MarkerToolSettings as bl, type NoteToolSettings as bm, type PinToolSettings as bn, type PlaceFrame as bo, type PlaceSymbol as bp, type PolygonToolSettings as bq, type RouteToolSettings as br, type TextToolSettings as bs, type ToolSettingsChangeEvent as bt, type ToolSettingsMap as bu, type ToolType as bv, type ToolsController as bw, type CreateActionTriggerParams as bx, type CreateFeatureActionParams as by, type CreateOrUpdatePanelParams as bz, type CustomTileBasemap as c, type UIPanelElementCreate as c0, type UIPanelElementUpdate as c1, type UIGridContainerElement as c2, type UIGridContainerElementCreate as c3, type UIGridContainerElementUpdate as c4, type UIButtonRowElement as c5, type UIButtonRowElementCreate as c6, type UIButtonRowElementUpdate as c7, type UICheckboxGroupElement as c8, type UICheckboxGroupElementCreate as c9, type MakeClonableSchema as cA, type UIButtonRowElementCreateClonable as cB, type PromiseOrNot as cC, type UnionToIntersection as cD, type UICheckboxGroupElementUpdate as ca, type UIRadioGroupElement as cb, type UIRadioGroupElementCreate as cc, type UIRadioGroupElementUpdate as cd, type UIToggleGroupElement as ce, type UIToggleGroupElementCreate as cf, type UIToggleGroupElementUpdate as cg, type UIIframeElement as ch, type UIIframeElementCreate as ci, type UIIframeElementUpdate as cj, type UIControlElementOption as ck, type UIActionTriggerCreate as cl, type UIFeatureAction as cm, type UIFeatureActionCreate as cn, type UiController as co, type SetViewportCenterZoomParams as cp, type ViewportConstraints as cq, type ViewportFitBoundsParams as cr, type ViewportState as cs, type ViewportController as ct, type UnwrapPromise as cu, uiActionTriggerSchema as cv, uiFeatureActionSchema as cw, type UIPanelElementCreateClonable as cx, uiPanelCreateSchema as cy, type UIButtonElementCreateClonable as cz, type CustomTileBasemapInput as d, type FeltBasemap as e, type CircleElementCreate as f, type CircleElementRead as g, type CircleElementUpdate as h, type ElementChangeCallbackParams as i, type ElementCreate as j, type ElementGroup as k, type ElementGroupChangeCallbackParams as l, type ElementUpdate as m, type GetElementsConstraint as n, type HighlighterElementRead as o, type HighlighterElementUpdate as p, type ImageElementRead as q, type ImageElementUpdate as r, type MarkerElementRead as s, type MarkerElementUpdate as t, type NoteElementRead as u, type NoteElementUpdate as v, type PathElementRead as w, type PathElementUpdate as x, type PlaceElementCreate as y, type zInfer as z };
15477
+ export { type GeoJsonDataVectorSource as $, type PlaceElementRead as A, type BasemapsController as B, type ColorBasemap as C, type PlaceElementUpdate as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type PolygonElementCreate as J, type PolygonElementRead as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type PolygonElementUpdate as O, type PathElementCreate as P, type TextElementRead as Q, type TextElementUpdate as R, type ElementsController as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type MapInteractionEvent as W, type InteractionsController as X, type CreateLayersFromGeoJsonParams as Y, type DataOnlyLayer as Z, type FeltTiledVectorSource as _, type Basemap as a, type RasterGeometryFilter as a$, type GeoJsonFileVectorSource as a0, type GeoJsonUrlVectorSource as a1, type GetLayerGroupsConstraint as a2, type GetLayersConstraint as a3, type GetRenderedFeaturesConstraint as a4, type Layer as a5, type LayerChangeCallbackParams as a6, type LayerCommon as a7, type LayerGroup as a8, type LayerGroupChangeCallbackParams as a9, type LayerBoundaries as aA, type LayerFilters as aB, type AggregatedGridConfig as aC, type AggregationConfig as aD, type AggregationMethod as aE, type CountGridConfig as aF, type GetLayerCalculationParams as aG, type GetLayerCategoriesGroup as aH, type GetLayerCategoriesParams as aI, type GetLayerHistogramBin as aJ, type GetLayerHistogramParams as aK, type GetLayerPrecomputedCalculationParams as aL, type GridConfig as aM, type GridType as aN, type MultiAggregationConfig as aO, type PrecomputedAggregationMethod as aP, type ValueConfiguration as aQ, type GetRasterAggregatesParams as aR, type GetRasterAggregatesResult as aS, type GetRasterCategoriesParams as aT, type GetRasterCategoriesResult as aU, type GetRasterHistogramParams as aV, type GetRasterHistogramResult as aW, type GetRasterProfileParams as aX, type GetRasterProfileResult as aY, type RasterAggregationMethod as aZ, type RasterCategory as a_, type LayerProcessingStatus as aa, type LegendDisplay as ab, type LegendItem as ac, type LegendItemChangeCallbackParams as ad, type LegendItemIdentifier as ae, type LegendItemsConstraint as af, type RasterBand as ag, type RasterLayer as ah, type RasterLayerSource as ai, type UpdateLayerParams as aj, type VectorLayer as ak, type LayerFeature as al, type RasterValue as am, type LayerSchema as an, type LayerSchemaAttribute as ao, type LayerSchemaBooleanAttribute as ap, type LayerSchemaCommonAttribute as aq, type LayerSchemaDateAttribute as ar, type LayerSchemaDateTimeAttribute as as, type LayerSchemaNumericAttribute as at, type LayerSchemaTextAttribute as au, type FilterExpression as av, type FilterLogicGate as aw, type FilterTernary as ax, type Filters as ay, type GeometryFilter as az, type ColorBasemapInput as b, type UITextElementCreate as b$, type RasterHistogramBin as b0, type RasterPercentile as b1, type RasterProfileSample as b2, type LayersController as b3, type MapDetails as b4, type MiscController as b5, type ElementGroupNode as b6, type ElementNode as b7, type EntityNode as b8, type FeatureNode as b9, type NoteToolSettings as bA, type PinToolSettings as bB, type PlaceFrame as bC, type PlaceSymbol as bD, type PolygonToolSettings as bE, type RouteToolSettings as bF, type TextToolSettings as bG, type ToolSettingsChangeEvent as bH, type ToolSettingsMap as bI, type ToolType as bJ, type ToolsController as bK, type CreateActionTriggerParams as bL, type CreateFeatureActionParams as bM, type CreateOrUpdatePanelParams as bN, type CreatePanelElementsParams as bO, type DeletePanelElementsParams as bP, type UiOnMapInteractionsOptions as bQ, type UpdateActionTriggerParams as bR, type UpdateFeatureActionParams as bS, type UpdatePanelElementsParams as bT, type PlacementForUIElement as bU, type UIPanel as bV, type UIPanelCreateOrUpdate as bW, type UIButtonElement as bX, type UIButtonElementCreate as bY, type UIButtonElementUpdate as bZ, type UITextElement as b_, type FeatureSelection as ba, type LayerGroupNode as bb, type LayerNode as bc, type SelectionController as bd, type FeltBoundary as be, type FeltZoom as bf, type GeoJsonFeature as bg, type GeoJsonGeometry as bh, type GeoJsonProperties as bi, type LatLng as bj, type LineStringGeometry as bk, type LngLatTuple as bl, type MultiLineStringGeometry as bm, type MultiPointGeometry as bn, type MultiPolygonGeometry as bo, type PointGeometry as bp, type PolygonGeometry as bq, type SetVisibilityRequest as br, type SortConfig as bs, type SortDirection as bt, type CircleToolSettings as bu, type ConfigurableToolType as bv, type HighlighterToolSettings as bw, type InputToolSettings as bx, type LineToolSettings as by, type MarkerToolSettings as bz, type CustomTileBasemap as c, type UITextElementUpdate as c0, type UIFlexibleSpaceElement as c1, type UIFlexibleSpaceElementCreate as c2, type UIFlexibleSpaceElementUpdate as c3, type UIDividerElement as c4, type UIDividerElementCreate as c5, type UIDividerElementUpdate as c6, type UITextInputElement as c7, type UITextInputElementCreate as c8, type UITextInputElementUpdate as c9, type UIFeatureAction as cA, type UIFeatureActionCreate as cB, type UiController as cC, type SetViewportCenterZoomParams as cD, type ViewportConstraints as cE, type ViewportFitBoundsParams as cF, type ViewportState as cG, type ViewportController as cH, type UnwrapPromise as cI, uiActionTriggerSchema as cJ, uiFeatureActionSchema as cK, type UIPanelElementCreateClonable as cL, uiPanelCreateSchema as cM, type UIButtonElementCreateClonable as cN, type MakeClonableSchema as cO, type UIButtonRowElementCreateClonable as cP, type PromiseOrNot as cQ, type UnionToIntersection as cR, type UISelectElement as ca, type UISelectElementCreate as cb, type UISelectElementUpdate as cc, type UIPanelElement as cd, type UIPanelElementCreate as ce, type UIPanelElementUpdate as cf, type UIGridContainerElement as cg, type UIGridContainerElementCreate as ch, type UIGridContainerElementUpdate as ci, type UIButtonRowElement as cj, type UIButtonRowElementCreate as ck, type UIButtonRowElementUpdate as cl, type UICheckboxGroupElement as cm, type UICheckboxGroupElementCreate as cn, type UICheckboxGroupElementUpdate as co, type UIRadioGroupElement as cp, type UIRadioGroupElementCreate as cq, type UIRadioGroupElementUpdate as cr, type UIToggleGroupElement as cs, type UIToggleGroupElementCreate as ct, type UIToggleGroupElementUpdate as cu, type UIIframeElement as cv, type UIIframeElementCreate as cw, type UIIframeElementUpdate as cx, type UIControlElementOption as cy, type UIActionTriggerCreate as cz, type CustomTileBasemapInput as d, type FeltBasemap as e, type CircleElementCreate as f, type CircleElementRead as g, type CircleElementUpdate as h, type ElementChangeCallbackParams as i, type ElementCreate as j, type ElementGroup as k, type ElementGroupChangeCallbackParams as l, type ElementUpdate as m, type GetElementsConstraint as n, type HighlighterElementRead as o, type HighlighterElementUpdate as p, type ImageElementRead as q, type ImageElementUpdate as r, type MarkerElementRead as s, type MarkerElementUpdate as t, type NoteElementRead as u, type NoteElementUpdate as v, type PathElementRead as w, type PathElementUpdate as x, type PlaceElementCreate as y, type zInfer as z };