@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1,025 lines (964 loc) • 7.02 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 = Color | readonly number[] | string;
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;
}
interface ComponentsReactiveUtils {
signal<T>(initialValue: T, equalityFunction?: (a: T, b: T) => boolean): Signal<T>;
}
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 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 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 AreaMeasurementAnalysis extends Accessor, Clonable {
}
export class AreaMeasurementAnalysis {
/**
* 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;
/**
* 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);
/**
* Creates a deep clone of this object.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#clone Read more...}
*/
clone(): this;
}
interface 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...}
*/
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 interface DimensionAnalysis extends Accessor, Clonable {
}
export class DimensionAnalysis {
/**
* 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" });
/**
* Creates a deep clone of this object.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DimensionAnalysis.html#clone Read more...}
*/
clone(): this;
}
interface DimensionAnalysisProperties {
/**
* 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 interface DirectLineMeasurementAnalysis extends Accessor, Clonable {
}
export class DirectLineMeasurementAnalysis {
/**
* 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;
/**
* 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);
/**
* Creates a deep clone of this object.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html#clone Read more...}
*/
clone(): this;
}
interface DirectLineMeasurementAnalysisProperties {
/**
* 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;
/**
* 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 interface LineOfSightAnalysis extends Accessor, Clonable {
}
export class LineOfSightAnalysis {
/**
* 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>);
/**
* Creates a deep clone of this object.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html#clone Read more...}
*/
clone(): this;
}
interface LineOfSightAnalysisProperties {
/**
* 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 FeatureReference {
layer: FeatureReferenceLayer | nullish;
attributes: any;
}
export interface FeatureReferenceLayer {
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: FeatureReference | 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?: FeatureReference | 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: FeatureReference | 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?: FeatureReference | 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 interface SliceAnalysis extends Accessor, Clonable {
}
export class SliceAnalysis {
/**
* Whether the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#shape shape} supports a tilt angle or not.
*
* @default true
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#tiltEnabled Read more...}
*/
tiltEnabled: boolean;
readonly type: "slice";
/**
* 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);
/**
* 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);
/**
* Creates a deep clone of this object.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#clone Read more...}
*/
clone(): this;
}
interface SliceAnalysisProperties {
/**
* 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...}
*/
shape?: (SlicePlaneProperties & { type: "plane" }) | nullish;
/**
* Whether the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#shape shape} supports a tilt angle or not.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html#tiltEnabled Read more...}
*/
tiltEnabled?: boolean;
}
export interface SlicePlane extends Accessor, JSONSupport, Clonable {
}
export class SlicePlane {
/**
* The heading angle (in degrees) of the slice plane.
*
* @default 0
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#heading Read more...}
*/
heading: number;
/**
* The height of the slice plane.
*
* @default 10
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#height Read more...}
*/
height: number;
/**
* The tilt angle (in degrees) of the slice plane.
*
* @default 0
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#tilt Read more...}
*/
tilt: number;
/**
* The string value representing the type of the slice shape.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#type Read more...}
*/
readonly type: "plane";
/**
* The width of the slice plane.
*
* @default 10
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#width Read more...}
*/
width: number;
/**
* Provides the shape definition of a slice plane for a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slice.html Slice} widget
* or {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html SliceAnalysis}.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html Read more...}
*/
constructor(properties?: SlicePlaneProperties);
/**
* A point specifying the position of the center of the plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.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-SlicePlane.html#clone Read more...}
*/
clone(): this;
/**
* Converts an instance of this class to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#toJSON Read more...}
*/
toJSON(): any;
/**
* Creates a new instance of this class and initializes it with values from a JSON object
* generated from an ArcGIS product.
*
* @param json A JSON representation of the instance in the ArcGIS format. See the [ArcGIS REST API documentation](https://developers.arcgis.com/documentation/common-data-types/overview-of-common-data-types.htm) for examples of the structure of various input JSON objects.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#fromJSON Read more...}
*/
static fromJSON(json: any): any | nullish;
static fromJSON(json: any): SlicePlane;
}
interface SlicePlaneProperties {
/**
* The heading angle (in degrees) of the slice plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#heading Read more...}
*/
heading?: number;
/**
* The height of the slice plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#height Read more...}
*/
height?: number;
/**
* A point specifying the position of the center of the plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#position Read more...}
*/
position?: PointProperties | nullish;
/**
* The tilt angle (in degrees) of the slice plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#tilt Read more...}
*/
tilt?: number;
/**
* The width of the slice plane.
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html#width Read more...}
*/
width?: number;
}
export interface Viewshed extends Accessor, Clonable {
}
export class Viewshed {
/**
* The maximum distance from the observer in which to perform the viewshed analysis (in meters).
*
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-Viewshed.html#farDistance Read more...}
*/