com.esri.arcgis.geodatabase
Interface INetSchemaEdit

All Superinterfaces:
INetSchema, Serializable
All Known Implementing Classes:
INetSchemaEditProxy, StreetNetwork, UtilityNetwork

public interface INetSchemaEdit
extends INetSchema, Serializable

Provides access to members that modify the schema of the network.

Remarks

Adding Element Classes
The AddElementClass method should only be used for adding element classes to a stand-alone logical network.
Adding Weights
Weights can be added to a network but you do not have the ability to remove weights once they have been added.
See the help for the INetWeightEdit interface to learn how to create a NetWeight object.

When To Use

Use the INetSchemaEdit interface when you want to make changes to your network schema. For example, you can add a new weight and weight association to your network.
This interface is designed specifically for the editing of a stand-alone logical network, which does not have an associated geometric network. It is imperative that if you have a geometric network, the logical network must be edited through its associated geometric network. You risk data corruption if you use the INetSchemaEdit interface on logical networks that have an associated geometric network. For building the schema of a new geometric network, use the Build Geometric Network Wizard or the NetworkLoader object.
Changes in schema must be made when the network has no topology. When you create a new logical network, the schema should be set up first, before any topology is added to the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

Method Summary
 INetElementClass addElementClass(int userClassID)
          Adds a new element class to the network.
 void addWeight(INetWeight networkWeight)
          Adds a new weight to the network.
 void addWeightAssociation(INetWeightAssociation weightSource)
          Adds a new weight association to the network.
 void putAncillaryRole(int userClassID, int ancillaryRole, String ancillaryRoleFieldName)
          Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.
 void putEnabledDisabledFieldName(int userClassID, String enabledDisabledRoleFieldName)
          Sets the name of the field containing the enabled/disabled information for the specified user class.
 
Methods inherited from interface com.esri.arcgis.geodatabase.INetSchema
getAncillaryRole, getElementClass, getElementClassByUserID, getElementClassCount, getEnabledDisabledFieldName, getWeight, getWeightAssociations, getWeightAssociationsByTableName, getWeightByName, getWeightCount
 

Method Detail

addElementClass

INetElementClass addElementClass(int userClassID)
                                 throws IOException,
                                        AutomationException
Adds a new element class to the network.

Remarks

AddElementClass adds a new element class to the network. Use this method only to add a new class to a newly created stand-alone logical network that does not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
userClassID - The userClassID (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.

addWeight

void addWeight(INetWeight networkWeight)
               throws IOException,
                      AutomationException
Adds a new weight to the network.

Remarks

AddWeight will add a new weight to the network. A weight is used to qualify traces through the features in a network. Add a weight to your network when you want tracing to be based on attributes values of the features in the network.

Only use this method to add a weight to a newly created stand-alone logical network that does not have any topology.

See the help for the INetWeightEdit interface to learn how to create a NetWeight object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addWeightAssociation

void addWeightAssociation(INetWeightAssociation weightSource)
                          throws IOException,
                                 AutomationException
Adds a new weight association to the network.

Remarks

AddWeightAssocation is used to add a new weight association to a weight already defined on the network. A weight is defined by its name, type, and set of weight associations. The weight associations define the table name and field name that participate in the weight. Multiple table name and field name combinations (weight associations) can participate within a single weight.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

putAncillaryRole

void putAncillaryRole(int userClassID,
                      int ancillaryRole,
                      String ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.

Remarks

PutAncillaryRole adds a new ancillary role description to the network. An ancillary role is a source of sink for the network. In order to have sources and sinks in your network, you need to define the user class that will contain the features, and the field name that will specify whether the feature is a source, sink, or neither. PutAncillaryRole applies this definition to the network.

Only use this method on newly created stand-alone logical networks that do not have any topology.

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 (in)
ancillaryRoleFieldName - The ancillaryRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putEnabledDisabledFieldName

void putEnabledDisabledFieldName(int userClassID,
                                 String enabledDisabledRoleFieldName)
                                 throws IOException,
                                        AutomationException
Sets the name of the field containing the enabled/disabled information for the specified user class.

Remarks

PutEnabledDisabledFieldName will define the field name within the specified user class to use for tracking whether a feature is enabled or disabled. Enabled or disabled refers to the ability or inability to trace through a feature.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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