UNPKG

@arcgis/core

Version:

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

157 lines (155 loc) 9.19 kB
import type TraceConfiguration from "./TraceConfiguration.js"; import type { ClonableMixin } from "../../core/Clonable.js"; import type { AssetJSON, BarrierJSON, FunctionBarrierJSON, NearestNeighborJSON, PropagatorJSON } from "./jsonTypes.js"; import type { TraceConfigurationProperties } from "./TraceConfiguration.js"; export interface UNTraceConfigurationProperties extends TraceConfigurationProperties, Partial<Pick<UNTraceConfiguration, "allowIndeterminateFlow" | "arcadeExpressionBarrier" | "circuitName" | "diagramTemplateName" | "domainNetworkName" | "filterBarriers" | "filterBitsetNetworkAttributeName" | "filterFunctionBarriers" | "filterScope" | "includeContainers" | "includeContent" | "includeIsolated" | "includeStructures" | "includeUpToFirstSpatialContainer" | "inferConnectivity" | "maxHops" | "nearestNeighbor" | "numPaths" | "outputFilterCategories" | "outputFilters" | "propagators" | "subnetworkName" | "targetTierName" | "tierName" | "validateLocatability">> {} /** * The UNTraceConfiguration class contains properties required to define objects than can be used to run custom traces on utility networks. * A UNTraceConfiguration differs from a [TraceConfiguration](https://developers.arcgis.com/javascript/latest/references/core/networks/support/TraceConfiguration/) slightly because a UNTraceConfiguration contains parameters that * are only applicable or relevant to utility networks. * * @since 4.23 * @see [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/) * @see [NamedTraceConfiguration](https://developers.arcgis.com/javascript/latest/references/core/networks/support/NamedTraceConfiguration/) * @see [TraceConfiguration](https://developers.arcgis.com/javascript/latest/references/core/networks/support/TraceConfiguration/) * @see [TraceParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/networks/support/TraceParameters/) * @see [Trace utility networks](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/about-tracing-utility-networks.htm) * @see [Configure a trace](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/configure-a-trace.htm) * @see [Add Trace Configuration (Utility Network)](https://pro.arcgis.com/en/pro-app/latest/tool-reference/utility-networks/add-trace-configuration.htm) * @see [Trace - ArcGIS REST API](https://developers.arcgis.com/rest/services-reference/enterprise/trace-utility-network-server-.htm) * @example * // create a new instance of UNTraceConfiguration * // and configure some parameters * const unTraceConfiguration = new UNTraceConfiguration({ * domainNetworkName: "Electric", * tierName: "Electric Distribution", * subnetworkName: "RMT003", * includeContainers: true, * validateConsistency: true, * // Traversability * conditionBarriers: [ * { * name: "E:Device Status", * type: "networkAttribute", * operator: "equal", * value: 1, * combineUsingOr: false, * isSpecificValue: true * } * ], * traversabilityScope: "junctionsAndEdges", * }); */ export default class UNTraceConfiguration extends UNTraceConfigurationSuperclass { constructor(properties?: UNTraceConfigurationProperties); /** Specifies whether to allow IndeterminateFlow. */ accessor allowIndeterminateFlow: boolean | null | undefined; /** Allows users to input arcade expressions. */ accessor arcadeExpressionBarrier: string | null | undefined; /** * Specifies the name of the circuit that will be traced. * When a value is provided for this option, the starting location for the circuit is used as the starting point for the trace, and `traceLocations` is not required. * * This option is only honored for circuit traces. * * @beta * @since 4.34 */ accessor circuitName: string | null | undefined; /** Specifies the diagram Template Name. */ accessor diagramTemplateName: string | null | undefined; /** * Specifies the name of the domain network where the trace will be run. * * @see [Domain networks - ArcGIS Pro](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/domain-network.htm) */ accessor domainNetworkName: string | null | undefined; /** An array of objects representing specific categories or network attributes where the trace will stop. */ accessor filterBarriers: BarrierJSON[]; /** Ensures the trace results include any bit that is set in the starting points for the network attribute. */ accessor filterBitsetNetworkAttributeName: string | null | undefined; /** An array of objects representing filter function barriers. */ accessor filterFunctionBarriers: FunctionBarrierJSON[]; /** * Specifies where the filter will be applied. * * Value | Description * ------|------------ * junctions | Filter will be applied to junctions only. * edges | Filter will be applied to edges only. * junctionsAndEdges | Filter will be applied to both junctions and edges. */ accessor filterScope: "junctions" | "edges" | "junctionsAndEdges" | null | undefined; /** Specifies if the container features will be included in the trace results. */ accessor includeContainers: boolean | null | undefined; /** Specifies if the content in containers will be included in the results. */ accessor includeContent: boolean | null | undefined; /** Specifies whether to include isolated features for an isolation trace. */ accessor includeIsolated: boolean | null | undefined; /** Specifies if structure features and objects will be included in the trace results. */ accessor includeStructures: boolean | null | undefined; /** Specifies whether to limit the containers returned to include only those encountered up to, and including, the first spatial container for each network element in the trace results. */ accessor includeUpToFirstSpatialContainer: boolean | null | undefined; /** * Specifies whether the path trace will use connectivity inference * to traverse containment associations to find a path between the * specified starting and stopping location. * * This option is only honored for path traces. * * @beta * @since 4.34 */ accessor inferConnectivity: boolean | null | undefined; /** * Specifies the maximum number of hops between edges allowed in the valid path, excluding the starting point. * All edges and junction-junction connectivity associations are evaluated as having a fixed unit length of 1 on traversal. * Terminal devices are evaluated as having a fixed unit length of 2. * * This option is only honored for path or circuit traces. * * @beta * @since 4.34 */ accessor maxHops: number | null | undefined; /** Specifies the parameters needed for calculating nearest neighbors. Nearest neighbor is used to return a number of features of a certain type within a given distance. */ accessor nearestNeighbor: NearestNeighborJSON | null | undefined; /** * Specifies the maximum number of paths that will be returned between * a given set of starting points and stopping points for a valid path. * * This option is only honored for path traces. * * @beta * @since 4.34 */ accessor numPaths: number | null | undefined; /** An array of objects representing the output filter categories. */ accessor outputFilterCategories: Object[]; /** An array of objects used to control what is returned in the results of a trace. */ accessor outputFilters: AssetJSON[]; /** * A propagator defines the propagation of a network attribute along a traversal and provides a filter to stop traversal. Propagators are only applicable to subnetwork-based traces (subnetwork, subnetworksource, upstream, or downstream). * * @see [Attribute propagation - ArcGIS Pro](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/attribute-propagation.htm) */ accessor propagators: PropagatorJSON[]; /** Specifies the name of the [subnetwork](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/subnetworks.htm) where the trace will be run. */ accessor subnetworkName: string | null | undefined; /** * Specifies the name of the tier where an upstream or downstream trace ends. * * @see [Tiers - ArcGIS Pro](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/tiers.htm) */ accessor targetTierName: string | null | undefined; /** * Specifies the name of the tier where the trace will be run. * * @see [Tiers - ArcGIS Pro](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/tiers.htm) * @see [Trace - ArcGIS REST API](https://developers.arcgis.com/rest/services-reference/enterprise/trace-utility-network-server-.htm) */ accessor tierName: string | null | undefined; /** Specifies if its necessary to validate whether traversed junction or edge objects have the necessary containment, attachment, or connectivity association in their association hierarchy. */ accessor validateLocatability: boolean | null | undefined; } declare const UNTraceConfigurationSuperclass: typeof TraceConfiguration & typeof ClonableMixin