UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

50 lines (48 loc) 3.57 kB
import type BinParametersBase from "./BinParametersBase.js"; import type { BinParametersBaseProperties } from "./BinParametersBase.js"; import type { NormalizationBinParametersMixinProperties, NormalizationBinParametersMixin } from "./NormalizationBinParametersMixin.js"; export interface FixedIntervalBinParametersProperties extends BinParametersBaseProperties, NormalizationBinParametersMixinProperties, Partial<Pick<FixedIntervalBinParameters, "end" | "interval" | "start">> {} /** * FixedIntervalBinParameters specifies [AttributeBinsQuery.binParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/AttributeBinsQuery/#binParameters) on [AttributeBinsQuery](https://developers.arcgis.com/javascript/latest/references/core/rest/support/AttributeBinsQuery/) object. * For the [FixedIntervalBinParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FixedIntervalBinParameters/), the number of bins is not important but the [interval](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FixedIntervalBinParameters/#interval) * size must match with the input data. This means that each bin will cover a range that exactly fits the specified interval. The fixed interval binning works with numeric * fields and fields of the `date` type only. It does not support `timestamp-offset`, `date-only`, or `time-only` field types. * * For example, if you want to visualize the distribution temperature data in a specific area using fixed intervals of 5 degrees, you can use fixed interval bins to categorize * the data effectively: * * ```js * // Query bins with fixed interval bin parameters based on field "temp" with 5 degrees interval. * const binQuery = new AttributeBinsQuery({ * binParameters: new FixedIntervalBinParameters({ * interval: 5, // the interval size for each bin. In this case, 5 degrees celsius * field: "temp", // the field to bin, containing the temperature data * start: 0, // the lower boundary of the first bin. 0 degrees celsius * end: 30 // the upper boundary of the last bin. 30 degrees celsius * }) * }); * ``` * * <figure> * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/rest/binQuery/fixed-interval-bin.png" alt="fixed-interval" style="width:400px;"/> * <figcaption>Temperature ranges at sea level for each Ecological Marine Units (EMU) in 2018 are depicted, with each bin representing a 5-degree Celsius interval. The chart is based on the results of the binQuery illustrated above.</figcaption> * </figure> * * @since 4.32 * @see [AttributeBinsQuery](https://developers.arcgis.com/javascript/latest/references/core/rest/support/AttributeBinsQuery/) */ export default class FixedIntervalBinParameters extends FixedIntervalBinParametersSuperclass { constructor(properties?: FixedIntervalBinParametersProperties); /** The end value of bins to generate. */ accessor end: number | Date | null | undefined; /** * Represents the interval of values to be included in each bin. * For example, if you want to visualize the distribution temperature data in a specific area using fixed intervals of 5 degrees, you can set the interval to 5. */ accessor interval: number; /** The start value of bins to generate. */ accessor start: number | Date | null | undefined; /** The type of bin parameters. */ readonly type: "fixed-interval"; } declare const FixedIntervalBinParametersSuperclass: typeof BinParametersBase & typeof NormalizationBinParametersMixin