This document is archived and information here might be outdated. Recommended version. |
ArcObjects namespaces > Geodatabase > ESRI.ArcGIS.GeoDatabase > Interfaces > IN > INetworkClass Interface > INetworkClass.FieldToWeightMapping Property (ArcObjects .NET 10.4 SDK) |
The specified field to Weight mapping for the logical network.
[Visual Basic .NET] Public Function get_FieldToWeightMapping ( _ ByVal FieldIndex As Integer _ ) As Integer
[C#] public int get_FieldToWeightMapping ( int FieldIndex );
[C++]
HRESULT get_FieldToWeightMapping(
long FieldIndex,
long* WeightID
);
[C++]
Parameters FieldIndex [in] FieldIndex is a parameter of type long WeightID [out, retval] WeightID is a parameter of type long
The FieldToWeightMapping property will return the index of the network weight to which a field in the network class is mapped in the logical network. You can then use the INetSchema::Weight property to return the INetWeight interface on that particular network weight. If the field has no weight associated with it, FieldToWeightMapping returns a -1.
The following code prints the name of the weight assoiated with each field in a network class.
// Use the INetSchema interface to get network weights.
IGeometricNetwork geometricNetwork=networkClass.GeometricNetwork;
INetwork network=(INetwork)geometricNetwork.Network;
INetSchema netSchema=(INetSchema)network;
// For each field in the network class, print its weight associations.
IFields fields=networkClass.Fields;
for (int i=0; i < fields.FieldCount; i++)
{
IField field=fields.get_Field(i);
int weightIndex=networkClass.get_FieldToWeightMapping(i);
if (weightIndex != -1)
{
INetWeight weight=netSchema.get_Weight(weightIndex);
Console.WriteLine("{0} maps to {1}", field.Name, weight.WeightName);
}
else
{
Console.WriteLine("{0} maps to nothing", field.Name);
}
}
The following code prints the name of the weight assoiated with each field in a network class.
' Use the INetSchema interface to get network weights.
Dim geometricNetwork As IGeometricNetwork=networkClass.GeometricNetwork
Dim network As INetwork=CType(geometricNetwork.Network, INetwork)
Dim netSchema As INetSchema=CType(network, INetSchema)
' For each field in the network class, print its weight associations.
Dim fields As IFields=networkClass.Fields
Dim i As Integer
For i=0 To fields.FieldCount - 1
Dim field As IField=fields.Field(i)
Dim weightIndex As Integer=networkClass.FieldToWeightMapping(i)
If weightIndex <> -1 Then
Dim weight As INetWeight=netSchema.Weight(weightIndex)
Console.WriteLine("{0} maps to {1}", field.Name, weight.WeightName)
Else
Console.WriteLine("{0} maps to nothing", field.Name)
End If
Next
INetworkClass Interface | IGeometricNetwork Interface | INetwork Interface | INetWeight Interface