com.esri.arcgis.geodatabase
Interface INetSchema

All Superinterfaces:
Serializable
All Known Subinterfaces:
INetSchemaEdit
All Known Implementing Classes:
INetSchemaEditProxy, INetSchemaProxy, StreetNetwork, UtilityNetwork

public interface INetSchema
extends Serializable

Provides access to members that get information about the schema of the network.

Remarks

A logical network can be constructed from one or more feature classes. For instance, you may have a transmission lines feature class and a transformers feature class. Together, these two feature classes comprise the basis for the entire logical network. Each element in a network can be found based on its Element ID (EID) and its element type. Each element must also remember which feature it belongs to. Each element maintains which feature class it was created from in a UserClassID. The UserID stores the ID of the feature within the feature class. The logical network also maintains the UserSubID for each element within the feature. The relationship between the feature class, features, and the logical network elements comprises the schema for a network.

When To Use

Use the INetSchema interface when you want to obtain information about element classes in your network as well as weights, weight associations and ancillary roles.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
INetWeightEdit, INetWeightAssociation, INetWeightAssociationEdit, INetSchemaEdit, INetSchema, INetWeight

Method Summary
 void getAncillaryRole(int userClassID, int[] ancillaryRole, String[] ancillaryRoleFieldName)
          Returns the ancillary role type and the name of the field containing the ancillary role information.
 INetElementClass getElementClass(int index)
          Element class by index.
 INetElementClass getElementClassByUserID(int elementclassUserID)
          Element class corresponding to the specified user class ID.
 int getElementClassCount()
          Number of element classes in the network.
 String getEnabledDisabledFieldName(int userClassID)
          Returns the name of the filed containing the enabled/disabled information for the specified user class.
 INetWeight getWeight(int weightInternalID)
          Network weight corresponding to the specified weight internal ID.
 IEnumNetWeightAssociation getWeightAssociations(int weightInternalID)
          Network weight associations corresponding to the specified weight internal ID.
 IEnumNetWeightAssociation getWeightAssociationsByTableName(String tableName)
          Network weight associations corresponding to the specified table name.
 INetWeight getWeightByName(String weightName)
          Network weight corresponding to the specified name.
 int getWeightCount()
          Number of weights in the network.
 

Method Detail

getElementClassCount

int getElementClassCount()
                         throws IOException,
                                AutomationException
Number of element classes in the network.

Remarks

ElementClassCount returns a count of all the NetElementClasses represented in the network. Each NetElementClass corresponds to a single object class.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The elementClassCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementClass

INetElementClass getElementClass(int index)
                                 throws IOException,
                                        AutomationException
Element class by index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetElementClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementClassByUserID

INetElementClass getElementClassByUserID(int elementclassUserID)
                                         throws IOException,
                                                AutomationException
Element class corresponding to the specified user class ID.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
elementclassUserID - The elementclassUserID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetElementClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeightCount

int getWeightCount()
                   throws IOException,
                          AutomationException
Number of weights in the network.

Remarks

WeightCount returns a count of all of the weights defined for the network.

The weight being a NetWeight object consisting of a name and type of weight. Multiple NetWeightAssociation objects (consisting of field name and table name) are then associated with a particular weight.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The weightCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeight

INetWeight getWeight(int weightInternalID)
                     throws IOException,
                            AutomationException
Network weight corresponding to the specified weight internal ID.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
weightInternalID - The weightInternalID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetWeight
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeightByName

INetWeight getWeightByName(String weightName)
                           throws IOException,
                                  AutomationException
Network weight corresponding to the specified name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
weightName - The weightName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetWeight
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeightAssociations

IEnumNetWeightAssociation getWeightAssociations(int weightInternalID)
                                                throws IOException,
                                                       AutomationException
Network weight associations corresponding to the specified weight internal ID.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
weightInternalID - The weightInternalID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumNetWeightAssociation
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeightAssociationsByTableName

IEnumNetWeightAssociation getWeightAssociationsByTableName(String tableName)
                                                           throws IOException,
                                                                  AutomationException
Network weight associations corresponding to the specified table name.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
tableName - The tableName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumNetWeightAssociation
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAncillaryRole

void getAncillaryRole(int userClassID,
                      int[] ancillaryRole,
                      String[] ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Returns the ancillary role type and the name of the field containing the ancillary role information.

Remarks

GetAncillaryRole returns the AncillaryRole (0 - no role, 1 - source or sink) and field name for the specified object class. The returned field name is an empty string ("") when the anciallyRole is 0 (no role).

Initialize the output parameters as an esriNetworkClassAncillaryRole (ancillaryRole) and a string (ancillaryRoleFieldName).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
userClassID - The userClassID (in)
ancillaryRole - A com.esri.arcgis.geodatabase.esriNetworkClassAncillaryRole constant (out: use single element array)
ancillaryRoleFieldName - The ancillaryRoleFieldName (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnabledDisabledFieldName

String getEnabledDisabledFieldName(int userClassID)
                                   throws IOException,
                                          AutomationException
Returns the name of the filed containing the enabled/disabled information for the specified user class.

Remarks

GetEnabledDisabledFieldName returns the field name in the specified table used to hold the enabled/disabled value for each feature. The enabled/disabled property indicates whether the feature can be traced through or not. A True value (enabled) means you can trace through the feature, while a False value (disabled) means you cannot.

If the specified UserClassID cannot be found, an empty string is returned.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
userClassID - The userClassID (in)
Returns:
The enabledDisabledFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.