@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
90 lines (88 loc) • 4.38 kB
TypeScript
import type { ClonableMixin } from "../../../core/Clonable.js";
import type { JSONSupport } from "../../../core/JSONSupport.js";
import type { TraceLocationType } from "../../../networks/support/typeUtils.js";
export interface TraceLocationProperties extends Partial<Pick<TraceLocation, "firstUnit" | "globalId" | "isFilterBarrier" | "lastUnit" | "networkSourceId" | "percentAlong" | "terminalId" | "type">> {}
/**
* To perform the trace analytic, users can optionally supply a list of locations in forms of globalIds (UUID) and terminals. These locations indicate where should the trace start (also known as starting points) and where should it end (barriers)
* Starting locations can be applied to all network sources.
*
* @since 4.20
* @see [trace](https://developers.arcgis.com/javascript/latest/references/core/rest/networks/trace/)
*/
export default class TraceLocation extends TraceLocationSuperclass {
constructor(properties?: TraceLocationProperties);
/**
* The first unit in a grouped object for the trace location.
* Used in Telecom domain networks.
*
* @beta
* @since 4.34
*/
accessor firstUnit: number | null | undefined;
/** The globalId (UUID) of the feature to start or stop the trace. */
accessor globalId: string;
/**
* This indicates whether this barrier starting location should be skipped (filtered) when a trace attempts to find upstream controllers. Setting this to `false` will stop the trace if it encounters this barrier. When to set to `true`, the trace will momenterily skip the barrier to find any upstream controllers and will filter out the output accordingly. Applicable subnetwork-based trace types only.
*
* @default false
*/
accessor isFilterBarrier: boolean;
/**
* The last unit in a grouped object for the trace location.
* Used in Telecom domain networks.
*
* @beta
* @since 4.34
*/
accessor lastUnit: number | null | undefined;
/**
* The ID of the network source the trace location belongs to.
* This is returned when a circuit trace returns a path with start and stop locations.
*
* @beta
*/
accessor networkSourceId: number | null | undefined;
/**
* This double parameter of value of 0-1 indicates a percentage along the line of where the trace location is placed. Applicable to line features only.
*
* @example
* Line feature with objectId 100 with 2 midspan junctions (j1,j2). The line feature has 3 edge network elements
* F-j1, j1-j2 and j2-T.
*
* OID=100
* F------j1------j2------T
*
* F-j1 (objectId=100, positionFrom=0, positionTo=0.33)
* j1-j2 (objectId=100, positionFrom=0.33, positionTo=0.66)
* j2-T (objectId=100, positionFrom=0.66, positionTo=1)
*
* When percentAlong is 0.5 (50%) the starting location will be placed on the middle edge (j1-j2)
*
* OID=100
* F------j1---x--j2------T
*
* When percentAlong is 0.1 (10%) the starting location will be placed on the first edge (F-j1)
*
* OID=100
* F-x----j1------j2------T
*/
accessor percentAlong: number;
/**
* The terminal Id to place the starting location at. Applicable for junction/device sources only. Users can use `getTerminalConfiguration()` in [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/) to get the terminal.
* > [!NOTE]
* >
* > The telecom domain network no longer uses terminal IDs as of beta 2. However, as of beta 2, point features and junction objects used as a `TraceLocation` in a telecom domain network must specify `terminalId: 1`, else the trace location cannot be found.
*
* @see [Terminal](https://developers.arcgis.com/javascript/latest/references/core/networks/support/Terminal/)
*/
accessor terminalId: number | null | undefined;
/**
* The type of the trace location; `starting-point` defines where the trace should start and `barrier` defines where the trace should stop.
*
* > [!WARNING]
* >
* > The `stopping-point` type is reserved for future use.
*/
accessor type: TraceLocationType;
}
declare const TraceLocationSuperclass: typeof JSONSupport & typeof ClonableMixin