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