UNPKG

@arcgis/core

Version:

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

999 lines (943 loc) • 6.83 MB
type HashMap<T> = Record<string, T | undefined>; type nullish = null | undefined; type GroupKey<T> = Exclude<T, IHandle>; interface IHandle { remove(): void; } interface __esriImplementsIteration<T> { [Symbol.iterator](): IterableIterator<T>; } declare namespace __esri { export class Accessor { destroyed: boolean; initialized: boolean; declaredClass: string; /** * Accessor is an abstract class that facilitates the access to instance properties as well as a mechanism to watch for property changes. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html Read more...} */ constructor(obj?: any); destroy(): void; set<T>(propertyName: string, value: T): this; set(props: HashMap<any>): this; watch(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle; addHandles<T>(handles: IHandle | IHandle[], groupKey?: GroupKey<T>): void; removeHandles<T>(groupKey?: GroupKey<T>): void; hasHandles<T>(groupKey?: GroupKey<T>): boolean; protected notifyChange(propertyName: string): void; protected _get(propertyName: string): any; protected _get<T>(propertyName: string): T; protected _set<T>(propertyName: string, value: T): this; } export interface AnonymousAccessor { set?<T>(propertyName: string, value: T): this; set?(props: HashMap<any>): this; watch?(path: string | string[], callback: WatchCallback, sync?: boolean): WatchHandle; } export type ReadonlyAccessor = Omit<Accessor, "set">; export type ItemCallback<T> = (item: T, index: number) => void; export type ItemCompareCallback<T> = (firstItem: T, secondItem: T) => number; export type ItemMapCallback<T, R> = (item: T, index: number) => R; export type ItemReduceCallback<T, R> = (previousValue: R, currentValue: T, index: number) => R; export type ItemTestCallback<T> = (item: T, index: number, array: T[]) => boolean; export type CollectionAfterAddEventHandler<T> = (event: CollectionAfterItemEvent<T>) => void; export type CollectionAfterChangesEventHandler = (event: CollectionAfterEvent) => void; export type CollectionAfterRemoveEventHandler<T> = (event: CollectionAfterItemEvent<T>) => void; export type CollectionChangeEventHandler<T> = (event: CollectionChangeEvent<T>) => void; export type CollectionBeforeAddEventHandler<T> = (event: CollectionItemEvent<T>) => void; export type CollectionBeforeChangesEventHandler = (event: CollectionEvent) => void; export type CollectionBeforeRemoveEventHandler<T> = (event: CollectionItemEvent<T>) => void; export interface CollectionEvent { defaultPrevented: boolean; cancellable: boolean; preventDefault(): void; } export interface CollectionItemEvent<T = any> extends CollectionEvent { item: T; } export interface CollectionAfterEvent { } export interface CollectionAfterItemEvent<T = any> { item: T; } export interface CollectionChangeEvent<T = any> { added: T[]; removed: T[]; moved: T[]; } interface Collection<T = any> extends Evented, __esriImplementsIteration<T> { on(type: "after-add", listener: CollectionAfterAddEventHandler<T>): IHandle; on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle; on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<T>): IHandle; on(type: "before-add", listener: CollectionBeforeAddEventHandler<T>): IHandle; on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle; on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<T>): IHandle; on(type: "change", listener: CollectionChangeEventHandler<T>): IHandle; on(type: string, listener: (event: any) => void): IHandle; } type Constructor<T> = new (...params: any[]) => T; interface Types<T extends Base, Base = T> { key: string | ((obj: any) => string); base: Constructor<Base> | Function; typeMap: HashMap<Constructor<T>>; } export interface ReadonlyCollection<T = any> extends ReadonlyAccessor { readonly length: number; at(index: number): T | undefined; clone(): Collection<T>; concat(value: T[] | Collection<T>): Collection<T>; every(callback: ItemTestCallback<T>): boolean; filter<S extends T>(callback: (item: T, index: number, array: T[]) => item is S): Collection<S>; filter(callback: ItemTestCallback<T>): Collection<T>; find(callback: ItemTestCallback<T>): T | undefined; findIndex(callback: ItemTestCallback<T>): number; flatten(callback: (item: T, index: number) => T[] | Collection<T>): Collection<T>; flatten<U>(callback: (item: U, index: number) => U[] | Collection<U>): Collection<U>; forEach(callback: ItemCallback<T>): void; getItemAt(index: number): T | undefined; includes(searchElement: T): boolean; indexOf(searchElement: T, fromIndex?: number): number; join(separator?: string): string; lastIndexOf(searchElement: T, fromIndex?: number): number; map<R = T>(callback: ItemMapCallback<T, R>): Collection<R>; reduce<R = T>(callback: ItemReduceCallback<T, R>, initialValue?: R): R; reduceRight<R = T>(callback: ItemReduceCallback<T, R>, initialValue?: R): R; slice(begin?: number, end?: number): Collection<T>; some(callback: ItemTestCallback<T>): boolean; toArray(): T[]; } export class Collection<T = any> extends Accessor { readonly length: number; /** * Collection stores an array of items of the same type. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html Read more...} */ constructor(values?: any[] | Collection<any>); at(index: number): T | undefined; add(item: T, index?: number): this; addMany(items: T[] | Collection<T>, index?: number): this; clone(): Collection<T>; concat(value: T[] | Collection<T>): Collection<T>; every(callback: ItemTestCallback<T>): boolean; filter<S extends T>(callback: (item: T, index: number, array: T[]) => item is S): Collection<S>; filter(callback: ItemTestCallback<T>): Collection<T>; find(callback: ItemTestCallback<T>): T | undefined; findIndex(callback: ItemTestCallback<T>): number; flatten(callback: (item: T, index: number) => T[] | Collection<T>): Collection<T>; flatten<U>(callback: (item: U, index: number) => U[] | Collection<U>): Collection<U>; forEach(callback: ItemCallback<T>): void; getItemAt(index: number): T | undefined; includes(searchElement: T): boolean; indexOf(searchElement: T, fromIndex?: number): number; join(separator?: string): string; lastIndexOf(searchElement: T, fromIndex?: number): number; map<R = T>(callback: ItemMapCallback<T, R>): Collection<R>; pop(): T | undefined; push(item: T): number; reduce<R = T>(callback: ItemReduceCallback<T, R>, initialValue?: R): R; reduceRight<R = T>(callback: ItemReduceCallback<T, R>, initialValue?: R): R; remove(item: T): T | undefined; removeAll(): T[]; removeAt(index: number): T | undefined; removeMany(items: T[] | Collection<T>): T[]; reorder(item: T, index: number): T | undefined; reverse(): this; shift(): T | undefined; slice(begin?: number, end?: number): Collection<T>; some(callback: ItemTestCallback<T>): boolean; sort(compareFunction?: ItemCompareCallback<T>): this; splice(start: number, deleteCount?: number, ...items: T[]): T[]; toArray(): T[]; unshift(...items: T[]): number; static isCollection<T = any>(value: any | Collection<T>): value is Collection<T>; static ofType<T extends Base, Base = T>(type: Constructor<T> | Types<T, Base>): new (items?: (T[] | Collection<T>) | { items?: T[] | Collection<T> }) => Collection<T>; } type CollectionProperties<T = any> = T[] | Collection<T>; type DateProperties = number | string | Date; type ColorProperties = readonly number[] | string | { r?: number; g?: number; b?: number; a?: number }; interface ReactiveWatchOptions { readonly initial?: boolean; readonly sync?: boolean; readonly once?: boolean; readonly equals?: (newValue: any, oldValue: any) => boolean; } interface ReactiveListenerOptions<Target> { sync?: boolean; once?: boolean; onListenerAdd?: (target: Target) => void; onListenerRemove?: (target: Target) => void; } interface reactiveUtils { watch<T>(getValue: () => T, callback: (newValue: T, oldValue: T | undefined) => void, options?: ReactiveWatchOptions): IHandle; when<T>(getValue: () => T | nullish, callback: (newValue: T, oldValue: T | nullish) => void, options?: ReactiveWatchOptions): IHandle; on<T extends Evented | EventTarget>(getTarget: () => T | nullish, eventName: string, callback: (value: any) => void, options?: ReactiveListenerOptions<T>): IHandle; once<T>(getValue: () => T, signal?: AbortSignal | { signal?: AbortSignal } | nullish): Promise<T>; whenOnce<T>(getValue: () => T | nullish, signal?: AbortSignal | { signal?: AbortSignal } | nullish): Promise<T>; } export const reactiveUtils: reactiveUtils; export interface Signal<T> { value: T; mutate(mutateFn: (value: T) => void): void; } export interface __ReactiveObservable { notify(): void; } export interface __ReactiveTrackingTarget { clear(): void; destroy(): void; } interface ComponentsReactiveUtils { signal<T>(initialValue: T, equalityFunction?: (a: T, b: T) => boolean): Signal<T>; createObservable(): __ReactiveObservable; createTrackingTarget(callback: () => void): __ReactiveTrackingTarget; trackAccess(observable: __ReactiveObservable): void; runTracked<T>(target: __ReactiveTrackingTarget, callback: () => T): T | null; } export const ComponentsReactiveUtils: ComponentsReactiveUtils; export type BaseDynamicLayerLayerviewCreateErrorEventHandler = ( event: BaseDynamicLayerLayerviewCreateErrorEvent, ) => void; export type BaseDynamicLayerLayerviewCreateEventHandler = (event: BaseDynamicLayerLayerviewCreateEvent) => void; export type BaseDynamicLayerLayerviewDestroyEventHandler = (event: BaseDynamicLayerLayerviewDestroyEvent) => void; export type BaseDynamicLayerRefreshEventHandler = (event: BaseDynamicLayerRefreshEvent) => void; export type BasemapLayerListTriggerActionEventHandler = (event: BasemapLayerListTriggerActionEvent) => void; export type BaseTileLayerLayerviewCreateErrorEventHandler = (event: BaseTileLayerLayerviewCreateErrorEvent) => void; export type BaseTileLayerLayerviewCreateEventHandler = (event: BaseTileLayerLayerviewCreateEvent) => void; export type BaseTileLayerLayerviewDestroyEventHandler = (event: BaseTileLayerLayerviewDestroyEvent) => void; export type BaseTileLayerRefreshEventHandler = (event: BaseTileLayerRefreshEvent) => void; export type BatchAttributeFormSubmitEventHandler = (event: BatchAttributeFormSubmitEvent) => void; export type BatchAttributeFormValueChangeEventHandler = (event: BatchAttributeFormValueChangeEvent) => void; export type BatchAttributeFormViewModelSubmitEventHandler = (event: BatchAttributeFormViewModelSubmitEvent) => void; export type BatchAttributeFormViewModelValueChangeEventHandler = ( event: BatchAttributeFormViewModelValueChangeEvent, ) => void; export type BingMapsLayerLayerviewCreateErrorEventHandler = (event: BingMapsLayerLayerviewCreateErrorEvent) => void; export type BingMapsLayerLayerviewCreateEventHandler = (event: BingMapsLayerLayerviewCreateEvent) => void; export type BingMapsLayerLayerviewDestroyEventHandler = (event: BingMapsLayerLayerviewDestroyEvent) => void; export type BingMapsLayerRefreshEventHandler = (event: BingMapsLayerRefreshEvent) => void; export type BookmarksBookmarkEditEventHandler = (event: BookmarksBookmarkEditEvent) => void; export type BookmarksBookmarkSelectEventHandler = (event: BookmarksBookmarkSelectEvent) => void; export type CatalogLayerLayerviewCreateErrorEventHandler = (event: CatalogLayerLayerviewCreateErrorEvent) => void; export type CatalogLayerLayerviewCreateEventHandler = (event: CatalogLayerLayerviewCreateEvent) => void; export type CatalogLayerLayerviewDestroyEventHandler = (event: CatalogLayerLayerviewDestroyEvent) => void; export type CatalogLayerListTriggerActionEventHandler = (event: CatalogLayerListTriggerActionEvent) => void; export type CatalogLayerListViewModelTriggerActionEventHandler = ( event: CatalogLayerListViewModelTriggerActionEvent, ) => void; export type CatalogLayerRefreshEventHandler = (event: CatalogLayerRefreshEvent) => void; export type CredentialDestroyEventHandler = (event: CredentialDestroyEvent) => void; export type CredentialTokenChangeEventHandler = (event: CredentialTokenChangeEvent) => void; export type CSVLayerLayerviewCreateErrorEventHandler = (event: CSVLayerLayerviewCreateErrorEvent) => void; export type CSVLayerLayerviewCreateEventHandler = (event: CSVLayerLayerviewCreateEvent) => void; export type CSVLayerLayerviewDestroyEventHandler = (event: CSVLayerLayerviewDestroyEvent) => void; export type CSVLayerRefreshEventHandler = (event: CSVLayerRefreshEvent) => void; export type DaylightUserDateTimeChangeEventHandler = (event: DaylightUserDateTimeChangeEvent) => void; export type DaylightViewModelUserDateTimeChangeEventHandler = ( event: DaylightViewModelUserDateTimeChangeEvent, ) => void; export type EditorSketchCreateEventHandler = (event: EditorSketchCreateEvent) => void; export type EditorSketchUpdateEventHandler = (event: EditorSketchUpdateEvent) => void; export type EditorViewModelSketchCreateEventHandler = (event: EditorViewModelSketchCreateEvent) => void; export type EditorViewModelSketchUpdateEventHandler = (event: EditorViewModelSketchUpdateEvent) => void; export type ElevationSamplerChangedEventHandler = (event: ElevationSamplerChangedEvent) => void; export type FeatureFormSubmitEventHandler = (event: FeatureFormSubmitEvent) => void; export type FeatureFormValueChangeEventHandler = (event: FeatureFormValueChangeEvent) => void; export type FeatureFormViewModelSubmitEventHandler = (event: FeatureFormViewModelSubmitEvent) => void; export type FeatureFormViewModelValueChangeEventHandler = (event: FeatureFormViewModelValueChangeEvent) => void; export type FeatureLayerEditsEventHandler = (event: FeatureLayerEditsEvent) => void; export type FeatureLayerLayerviewCreateErrorEventHandler = (event: FeatureLayerLayerviewCreateErrorEvent) => void; export type FeatureLayerLayerviewCreateEventHandler = (event: FeatureLayerLayerviewCreateEvent) => void; export type FeatureLayerLayerviewDestroyEventHandler = (event: FeatureLayerLayerviewDestroyEvent) => void; export type FeatureLayerRefreshEventHandler = (event: FeatureLayerRefreshEvent) => void; export type FeaturesTriggerActionEventHandler = (event: FeaturesTriggerActionEvent) => void; export type FeaturesViewModelTriggerActionEventHandler = (event: FeaturesViewModelTriggerActionEvent) => void; export type FeatureTableCellClickEventHandler = (event: FeatureTableCellClickEvent) => void; export type FeatureTableCellDblclickEventHandler = (event: FeatureTableCellDblclickEvent) => void; export type FeatureTableCellKeydownEventHandler = (event: FeatureTableCellKeydownEvent) => void; export type FeatureTableCellPointeroutEventHandler = (event: FeatureTableCellPointeroutEvent) => void; export type FeatureTableCellPointeroverEventHandler = (event: FeatureTableCellPointeroverEvent) => void; export type FeatureTableColumnReorderEventHandler = (event: FeatureTableColumnReorderEvent) => void; export type FeatureTableViewModelCellClickEventHandler = (event: FeatureTableViewModelCellClickEvent) => void; export type FeatureTableViewModelCellDblclickEventHandler = (event: FeatureTableViewModelCellDblclickEvent) => void; export type FeatureTableViewModelCellKeydownEventHandler = (event: FeatureTableViewModelCellKeydownEvent) => void; export type FeatureTableViewModelCellPointeroutEventHandler = ( event: FeatureTableViewModelCellPointeroutEvent, ) => void; export type FeatureTableViewModelCellPointeroverEventHandler = ( event: FeatureTableViewModelCellPointeroverEvent, ) => void; export type FeatureTableViewModelColumnReorderEventHandler = (event: FeatureTableViewModelColumnReorderEvent) => void; export type FeatureTemplatesSelectEventHandler = (event: FeatureTemplatesSelectEvent) => void; export type FeatureTemplatesViewModelSelectEventHandler = (event: FeatureTemplatesViewModelSelectEvent) => void; export type GeoJSONLayerEditsEventHandler = (event: GeoJSONLayerEditsEvent) => void; export type GeoJSONLayerLayerviewCreateErrorEventHandler = (event: GeoJSONLayerLayerviewCreateErrorEvent) => void; export type GeoJSONLayerLayerviewCreateEventHandler = (event: GeoJSONLayerLayerviewCreateEvent) => void; export type GeoJSONLayerLayerviewDestroyEventHandler = (event: GeoJSONLayerLayerviewDestroyEvent) => void; export type GeoJSONLayerRefreshEventHandler = (event: GeoJSONLayerRefreshEvent) => void; export type GeoRSSLayerLayerviewCreateErrorEventHandler = (event: GeoRSSLayerLayerviewCreateErrorEvent) => void; export type GeoRSSLayerLayerviewCreateEventHandler = (event: GeoRSSLayerLayerviewCreateEvent) => void; export type GeoRSSLayerLayerviewDestroyEventHandler = (event: GeoRSSLayerLayerviewDestroyEvent) => void; export type GeoRSSLayerRefreshEventHandler = (event: GeoRSSLayerRefreshEvent) => void; export type HeatmapSliderThumbChangeEventHandler = (event: HeatmapSliderThumbChangeEvent) => void; export type HeatmapSliderThumbDragEventHandler = (event: HeatmapSliderThumbDragEvent) => void; export type HistogramRangeSliderMaxChangeEventHandler = (event: HistogramRangeSliderMaxChangeEvent) => void; export type HistogramRangeSliderMinChangeEventHandler = (event: HistogramRangeSliderMinChangeEvent) => void; export type HistogramRangeSliderSegmentDragEventHandler = (event: HistogramRangeSliderSegmentDragEvent) => void; export type HistogramRangeSliderThumbChangeEventHandler = (event: HistogramRangeSliderThumbChangeEvent) => void; export type HistogramRangeSliderThumbDragEventHandler = (event: HistogramRangeSliderThumbDragEvent) => void; export type HomeGoEventHandler = (event: HomeGoEvent) => void; export type HomeViewModelGoEventHandler = (event: HomeViewModelGoEvent) => void; export type IdentityManagerCredentialCreateEventHandler = (event: IdentityManagerCredentialCreateEvent) => void; export type IdentityManagerDialogCreateEventHandler = (event: IdentityManagerDialogCreateEvent) => void; export type ImageryLayerLayerviewCreateErrorEventHandler = (event: ImageryLayerLayerviewCreateErrorEvent) => void; export type ImageryLayerLayerviewCreateEventHandler = (event: ImageryLayerLayerviewCreateEvent) => void; export type ImageryLayerLayerviewDestroyEventHandler = (event: ImageryLayerLayerviewDestroyEvent) => void; export type ImageryLayerRefreshEventHandler = (event: ImageryLayerRefreshEvent) => void; export type LayerLayerviewCreateErrorEventHandler = (event: LayerLayerviewCreateErrorEvent) => void; export type LayerLayerviewCreateEventHandler = (event: LayerLayerviewCreateEvent) => void; export type LayerLayerviewDestroyEventHandler = (event: LayerLayerviewDestroyEvent) => void; export type LayerListTriggerActionEventHandler = (event: LayerListTriggerActionEvent) => void; export type LayerListViewModelTriggerActionEventHandler = (event: LayerListViewModelTriggerActionEvent) => void; export type LinkChartLayoutSwitcherViewModelSwitchLayoutEventHandler = ( event: LinkChartLayoutSwitcherViewModelSwitchLayoutEvent, ) => void; export type LocateLocateErrorEventHandler = (event: LocateLocateErrorEvent) => void; export type LocateLocateEventHandler = (event: LocateLocateEvent) => void; export type LocateViewModelLocateErrorEventHandler = (event: LocateViewModelLocateErrorEvent) => void; export type LocateViewModelLocateEventHandler = (event: LocateViewModelLocateEvent) => void; export type MapImageLayerLayerviewCreateErrorEventHandler = (event: MapImageLayerLayerviewCreateErrorEvent) => void; export type MapImageLayerLayerviewCreateEventHandler = (event: MapImageLayerLayerviewCreateEvent) => void; export type MapImageLayerLayerviewDestroyEventHandler = (event: MapImageLayerLayerviewDestroyEvent) => void; export type MapImageLayerRefreshEventHandler = (event: MapImageLayerRefreshEvent) => void; export interface Analysis extends Accessor, Clonable, Identifiable { } export class Analysis { /** * A user settable identifier for the analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#id Read more...} */ id: string; /** * An automatically generated unique identifier assigned to the instance. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#uid Read more...} */ declare readonly uid: Identifiable["uid"]; /** * Abstract base class for all analysis objects. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html Read more...} */ constructor(properties?: AnalysisProperties); /** * The origin of the analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#origin Read more...} */ get origin(): AnalysisOriginWebScene | nullish; set origin(value: (AnalysisOriginWebSceneProperties & { type: "web-scene" }) | nullish); /** * Creates a deep clone of this object. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#clone Read more...} */ clone(): this; } interface AnalysisProperties extends IdentifiableProperties { /** * A user settable identifier for the analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#id Read more...} */ id?: string; /** * The origin of the analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Analysis.html#origin Read more...} */ origin?: (AnalysisOriginWebSceneProperties & { type: "web-scene" }) | nullish; } export class AreaMeasurementAnalysis extends Analysis { /** * The type of analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#type Read more...} */ readonly type: "area-measurement"; /** * Unit system (imperial, metric) or specific unit used for displaying the computed area in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#unit Read more...} */ unit: SystemOrAreaUnit | nullish; /** * Indicates whether the analysis is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#valid Read more...} */ readonly valid: boolean; /** * AreaMeasurementAnalysis computes the area of a polygonal region and displays the measurement * in a 3D {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html Read more...} */ constructor(properties?: AreaMeasurementAnalysisProperties); /** * Polygon whose area is to be computed and displayed in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#geometry Read more...} */ get geometry(): Polygon | nullish; set geometry(value: PolygonProperties | nullish); } interface AreaMeasurementAnalysisProperties extends AnalysisProperties { /** * Polygon whose area is to be computed and displayed in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#geometry Read more...} */ geometry?: PolygonProperties | nullish; /** * Unit system (imperial, metric) or specific unit used for displaying the computed area in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#unit Read more...} */ unit?: SystemOrAreaUnit | nullish; } export class DimensionAnalysis extends Analysis { /** * The type of analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#type Read more...} */ readonly type: "dimension"; /** * Indicates whether the analysis is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#valid Read more...} */ readonly valid: boolean; /** * DimensionAnalysis enables the creation and display of measurement annotations for lengths and distances in a 3D * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html Read more...} */ constructor(properties?: DimensionAnalysisProperties); /** * A list of dimensions. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#dimensions Read more...} */ get dimensions(): Collection<LengthDimension>; set dimensions(value: CollectionProperties<LengthDimensionProperties>); /** * The style defines how the dimension objects of this analysis are displayed. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#style Read more...} */ get style(): DimensionSimpleStyle; set style(value: DimensionSimpleStyleProperties & { type: "simple" }); } interface DimensionAnalysisProperties extends AnalysisProperties { /** * A list of dimensions. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#dimensions Read more...} */ dimensions?: CollectionProperties<LengthDimensionProperties>; /** * The style defines how the dimension objects of this analysis are displayed. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#style Read more...} */ style?: DimensionSimpleStyleProperties & { type: "simple" }; } export interface DimensionSimpleStyle extends Accessor, Clonable { } export class DimensionSimpleStyle { readonly type: "simple"; /** * Style that specifies how dimensions and their labels are displayed. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html Read more...} */ constructor(properties?: DimensionSimpleStyleProperties); /** * Color of dimension lines. * * @default "black" * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#color Read more...} */ get color(): Color; set color(value: ColorProperties); /** * Size of text in dimension labels in points. * * @default 10 * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#fontSize Read more...} */ get fontSize(): number; set fontSize(value: number | string); /** * Width of dimension lines in points. * * @default 2 * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#lineSize Read more...} */ get lineSize(): number; set lineSize(value: number | string); /** * Background color of dimension labels. * * @default [255, 255, 255, 0.6] * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#textBackgroundColor Read more...} */ get textBackgroundColor(): Color; set textBackgroundColor(value: ColorProperties); /** * Color of text in dimension labels. * * @default "black" * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#textColor Read more...} */ get textColor(): Color; set textColor(value: ColorProperties); /** * Creates a deep clone of this object. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#clone Read more...} */ clone(): this; } interface DimensionSimpleStyleProperties { /** * Color of dimension lines. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#color Read more...} */ color?: ColorProperties; /** * Size of text in dimension labels in points. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#fontSize Read more...} */ fontSize?: number | string; /** * Width of dimension lines in points. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#lineSize Read more...} */ lineSize?: number | string; /** * Background color of dimension labels. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#textBackgroundColor Read more...} */ textBackgroundColor?: ColorProperties; /** * Color of text in dimension labels. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionSimpleStyle.html#textColor Read more...} */ textColor?: ColorProperties; } export class DirectLineMeasurementAnalysis extends Analysis { /** * The type of analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#type Read more...} */ readonly type: "direct-line-measurement"; /** * Unit system (imperial, metric) or specific unit used for computing the distance. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#unit Read more...} */ unit: SystemOrLengthUnit | nullish; /** * Indicates whether the analysis is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#valid Read more...} */ readonly valid: boolean; /** * DirectLineMeasurementAnalysis computes the distance between two points and displays the measurement * in a 3D {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html Read more...} */ constructor(properties?: DirectLineMeasurementAnalysisProperties); /** * Ending point for the measurement. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#endPoint Read more...} */ get endPoint(): Point | nullish; set endPoint(value: PointProperties | nullish); /** * Starting point for the measurement. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#startPoint Read more...} */ get startPoint(): Point | nullish; set startPoint(value: PointProperties | nullish); } interface DirectLineMeasurementAnalysisProperties extends AnalysisProperties { /** * Ending point for the measurement. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#endPoint Read more...} */ endPoint?: PointProperties | nullish; /** * Starting point for the measurement. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#startPoint Read more...} */ startPoint?: PointProperties | nullish; /** * Unit system (imperial, metric) or specific unit used for computing the distance. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#unit Read more...} */ unit?: SystemOrLengthUnit | nullish; } export interface LengthDimension extends Accessor, Clonable { } export class LengthDimension { /** * The type of length that should be measured between the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint startPoint} and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint endPoint}. * * @default "direct" * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#measureType Read more...} */ measureType: "direct" | "horizontal" | "vertical"; /** * Styling option that controls the shortest distance from the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint startPoint} or {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint endPoint} to the dimension line in meters. * * @default 0 * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#offset Read more...} */ offset: number; /** * The orientation determines the relative direction the dimension line is extended to. * * @default 0 * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#orientation Read more...} */ orientation: number; /** * Indicates whether the dimension is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#valid Read more...} */ readonly valid: boolean; /** * LengthDimension enables the measurement of linear distances between the specified {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint start} and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint end} points. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html Read more...} */ constructor(properties?: LengthDimensionProperties); /** * Ending point for the dimension. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint Read more...} */ get endPoint(): Point | nullish; set endPoint(value: PointProperties | nullish); /** * Starting point for the dimension. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint Read more...} */ get startPoint(): Point | nullish; set startPoint(value: PointProperties | nullish); /** * Creates a deep clone of this object. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#clone Read more...} */ clone(): this; } interface LengthDimensionProperties { /** * Ending point for the dimension. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint Read more...} */ endPoint?: PointProperties | nullish; /** * The type of length that should be measured between the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint startPoint} and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint endPoint}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#measureType Read more...} */ measureType?: "direct" | "horizontal" | "vertical"; /** * Styling option that controls the shortest distance from the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint startPoint} or {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#endPoint endPoint} to the dimension line in meters. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#offset Read more...} */ offset?: number; /** * The orientation determines the relative direction the dimension line is extended to. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#orientation Read more...} */ orientation?: number; /** * Starting point for the dimension. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LengthDimension.html#startPoint Read more...} */ startPoint?: PointProperties | nullish; } export class LineOfSightAnalysis extends Analysis { /** * The type of analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#type Read more...} */ readonly type: "line-of-sight"; /** * Indicates whether the analysis is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#valid Read more...} */ readonly valid: boolean; /** * LineOfSightAnalysis computes the line of sight from a single observer position towards * a set of targets. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html Read more...} */ constructor(properties?: LineOfSightAnalysisProperties); /** * Observer location. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#observer Read more...} */ get observer(): LineOfSightAnalysisObserver | nullish; set observer(value: LineOfSightAnalysisObserverProperties | nullish); /** * Target locations. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#targets Read more...} */ get targets(): Collection<LineOfSightAnalysisTarget>; set targets(value: CollectionProperties<LineOfSightAnalysisTargetProperties>); } interface LineOfSightAnalysisProperties extends AnalysisProperties { /** * Observer location. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#observer Read more...} */ observer?: LineOfSightAnalysisObserverProperties | nullish; /** * Target locations. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#targets Read more...} */ targets?: CollectionProperties<LineOfSightAnalysisTargetProperties>; } export interface LineOfSightAnalysisFeatureReference { layer: LineOfSightAnalysisFeatureReferenceLayer | nullish; attributes: any; } export interface LineOfSightAnalysisFeatureReferenceLayer { id: string | number; objectIdField?: string | nullish; } export interface LineOfSightAnalysisObserver extends Accessor, Clonable { } export class LineOfSightAnalysisObserver { /** * References a feature which is excluded from the intersection testing. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#feature Read more...} */ feature: LineOfSightAnalysisFeatureReference | nullish; /** * The LineOfSightAnalysisObserver represents an observer of a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html LineOfSightAnalysis}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html Read more...} */ constructor(properties?: LineOfSightAnalysisObserverProperties); /** * Specifies how the observer is placed on the vertical axis (z). * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#elevationInfo Read more...} */ get elevationInfo(): LineOfSightAnalysisObserverElevationInfo | nullish; set elevationInfo(value: LineOfSightAnalysisObserverElevationInfoProperties | nullish); /** * A {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html Point} representing the position of the observer. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#position Read more...} */ get position(): Point | nullish; set position(value: PointProperties | nullish); /** * Creates a deep clone of this object. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#clone Read more...} */ clone(): this; } interface LineOfSightAnalysisObserverProperties { /** * Specifies how the observer is placed on the vertical axis (z). * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#elevationInfo Read more...} */ elevationInfo?: LineOfSightAnalysisObserverElevationInfoProperties | nullish; /** * References a feature which is excluded from the intersection testing. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#feature Read more...} */ feature?: LineOfSightAnalysisFeatureReference | nullish; /** * A {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html Point} representing the position of the observer. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html#position Read more...} */ position?: PointProperties | nullish; } export interface LineOfSightAnalysisObserverElevationInfoProperties { mode?: "on-the-ground" | "relative-to-ground" | "absolute-height" | "relative-to-scene"; offset?: number | nullish; } export interface LineOfSightAnalysisObserverElevationInfo extends AnonymousAccessor { mode: "on-the-ground" | "relative-to-ground" | "absolute-height" | "relative-to-scene"; offset: number | nullish; } export interface LineOfSightAnalysisTarget extends Accessor, Clonable { } export class LineOfSightAnalysisTarget { /** * References a feature which is excluded from the intersection testing. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#feature Read more...} */ feature: LineOfSightAnalysisFeatureReference | nullish; /** * The LineOfSightAnalysisTarget represents a target of a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html LineOfSightAnalysis}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html Read more...} */ constructor(properties?: LineOfSightAnalysisTargetProperties); /** * Specifies how the target is placed on the vertical axis (z). * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#elevationInfo Read more...} */ get elevationInfo(): LineOfSightAnalysisTargetElevationInfo | nullish; set elevationInfo(value: LineOfSightAnalysisTargetElevationInfoProperties | nullish); /** * A {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html Point} representing the position of the target. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#position Read more...} */ get position(): Point | nullish; set position(value: PointProperties | nullish); /** * Creates a deep clone of this object. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#clone Read more...} */ clone(): this; } interface LineOfSightAnalysisTargetProperties { /** * Specifies how the target is placed on the vertical axis (z). * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#elevationInfo Read more...} */ elevationInfo?: LineOfSightAnalysisTargetElevationInfoProperties | nullish; /** * References a feature which is excluded from the intersection testing. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#feature Read more...} */ feature?: LineOfSightAnalysisFeatureReference | nullish; /** * A {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html Point} representing the position of the target. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html#position Read more...} */ position?: PointProperties | nullish; } export interface LineOfSightAnalysisTargetElevationInfoProperties { mode?: "on-the-ground" | "relative-to-ground" | "absolute-height" | "relative-to-scene"; offset?: number | nullish; } export interface LineOfSightAnalysisTargetElevationInfo extends AnonymousAccessor { mode: "on-the-ground" | "relative-to-ground" | "absolute-height" | "relative-to-scene"; offset: number | nullish; } export class SliceAnalysis extends Analysis { /** * A flag that indicates whether the ground surface should be excluded from the slice analysis. * * @default false * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#excludeGroundSurface Read more...} */ excludeGroundSurface: boolean; /** * Whether the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#shape shape} supports a tilt angle or not. * * @default false * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#tiltEnabled Read more...} */ tiltEnabled: boolean; /** * The type of analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#type Read more...} */ readonly type: "slice"; /** * Indicates whether the analysis is ready to be computed and interacted with in the view. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#valid Read more...} */ readonly valid: boolean; /** * SliceAnalysis can be used to programmatically create a plane that slices through 3D features in a * 3D {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html Read more...} */ constructor(properties?: SliceAnalysisProperties); /** * A collection of layers that should be excluded from the slice analysis. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#excludedLayers Read more...} */ get excludedLayers(): Collection<Layer | BuildingComponentSublayer>; set excludedLayers(value: CollectionProperties<Layer | BuildingComponentSublayer>); /** * The shape used to slice elements in a 3D scene. * * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#shape Read more...} */ get shape(): SlicePlane | nullish; set shape(value: (SlicePlaneProperties & { type: "plane" }) | nullish); } interface SliceAnalysisProperties extends AnalysisPro