@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
TypeScript
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