require(["esri/rest/networks/support/Association"], (Association) => { /* code goes here */ });
import Association from "@arcgis/core/rest/networks/support/Association.js";
esri/rest/networks/support/Association
The utility network associations model connectivity, containment and structure relations between assets.
An Association
connects two network elements, the "From" and "To", and order of the association matter.
This class defines an association and its basic properties.
// Utility network service url
const networkServiceUrl = "https://myserver.esri.com/server/rest/services/NapervilleElectric/UtilityNetworkServer";
// Define the QueryAssociationsParameters
const queryAssociationsParameters = new QueryAssociationsParameters({
associationTypes: ["containment", "attachment", "junction-edge-from-connectivity"],
elements: [
{
networkSourceId: 2,
globalId: "{46B3FA19-2237-4D38-A7CF-AA34C3T40420}",
objectId: 44,
terminalId: 1,
assetGroupCode: 1,
assetTypeCode: 1
},
{
networkSourceId: 9,
globalId: "{321C0089-1165-42D9-K45B-ED91B1A40500}",
objectId: 45,
terminalId: 1,
assetGroupCode: 13,
assetTypeCode: 441
}
]
});
// Query associations, and assign the query result to a variable of type QueryAssociationsResult
const queryAssociationsResult = await queryAssociations(networkServiceUrl, queryAssociationsParameters);
// Print out the first association
console.log(queryAssociationsResult.associations[0]);
Constructors
-
new Association(properties)
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
String | The type of association. more details | Association | |
String | The name of the class. more details | Accessor | |
Number | Error code returned from the server for a failed associations query. more details | Association | |
String | Message returned from the server for a failed associations query. more details | Association | |
NetworkElement | The from side network element of the association. more details | Association | |
String | The globalId (UUID) of the association record, uniquely identifes this association row. more details | Association | |
Boolean | Specifies the content visibility on the map. more details | Association | |
Polyline | The synthesized polyline geometry created between the two network elements. more details | Association | |
Number | This double parameter of value of 0-1 indicates a percentage along the line of where the trace location is placed. more details | Association | |
Number | Indicates the type of association a feature or object participates in, the role the network feature plays in the association relationship, and any properties that are set. more details | Association | |
NetworkElement | The to side network element of the association. more details | Association |
Property Details
-
associationType String
-
The type of association. Associations that could be synthesized are
attachment
,connectivity
orcontainment
. There are also non-spatial associations that were introduced in schema version 4. Those will be added post 4.20Possible Values:"attachment"|"connectivity"|"containment"
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
errorCode Number
-
Error code returned from the server for a failed associations query.
-
errorMessage String
-
Message returned from the server for a failed associations query.
-
fromNetworkElement NetworkElement
-
The from side network element of the association. Contains the globalid, network source, and terminal.
-
globalId String
-
The globalId (UUID) of the association record, uniquely identifes this association row.
-
isContentVisible Boolean
-
Specifies the content visibility on the map.
-
percentAlong Number
-
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.
ExampleLine 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
-
status Number
-
Indicates the type of association a feature or object participates in, the role the network feature plays in the association relationship, and any properties that are set.
-
toNetworkElement NetworkElement
-
The to side network element of the association. Contains the globalid, network source, and terminal.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. more details | Accessor | ||
* | Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. more details | Association | |
Boolean | Returns true if a named group of handles exist. more details | Accessor | |
Removes a group of handles owned by the object. more details | Accessor | ||
Object | Converts an instance of this class to its ArcGIS portal JSON representation. more details | Association |
Method Details
-
addHandles(handleOrHandles, groupKey)inherited
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
fromJSON(json){*}static
-
Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input
json
parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.Parameterjson ObjectA JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.
ReturnsType Description * Returns a new instance of this class.
-
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inherited
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
toJSON(){Object}
-
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
ReturnsType Description Object The ArcGIS portal JSON representation of an instance of this class.