This document is archived and information here might be outdated. Recommended version. |
Provides access to memebers that return the default names of fields and domains used by the network loader.
Use the INetworkLoaderProps interface to get the correct names for the fields required by INetworkLoader to build a geometric network.
Name | Description | |
---|---|---|
DefaultAncillaryRoleDomain | Default ancillary role domain name. | |
DefaultAncillaryRoleField | Default ancillary role field name. | |
DefaultEnabledDomain | Default enabled domain name. | |
DefaultEnabledField | Default enabled field name. |
Classes | Description |
---|---|
NetworkLoader | A container for specifying the parameters for building a geometric network. |
When you are building a network, certain fields are required in the feature classes in which you are building your network. For example, each feature class must have an enabled/disabled field. If you specify sources/sinks, a field for the ancillary role is required. The NetworkLoader requires you to tell it what these field names are.
The default field names for these fields are accessible via the INetworkLoaderProps interface. These default field names are reserved words in the Geodatabase. It is strongly recommended that you use these default field names when calling PutAncillaryRole and PutEnabledDisabledFieldName on the INetworkLoaderinterface.
Even if you are using the default field names, if these fields already exist in your feature classes, it is best to check that they are of the correct domain and subtype. Use the CheckAncillaryRoleField and CheckEnabledDisabledField methods on the INetworkLoader2 interface to check these fields before Putting them on the NetworkLoader object.
The following code demonstrates using the default field name for the ancillary role field and checking its validity if it already exists. It assumes the NetworkLoader object is referenced by networkLoader2, the the target feature dataset is referenced by featureDataset, and the name of the feature class to have an ancillary role field is referenced by featureClassName:
INetworkLoaderProps networkLoaderProps = networkLoader2 as INetworkLoaderProps;
string defARField = networkLoaderProps.DefaultAncillaryRoleField;
IFeatureClassContainer featureClassContainer = featureDataset as IFeatureClassContainer;
IFeatureClass featureClass = featureClassContainer.ClassByName(featureClassName);
//if the field already exists, check the field
if (featureClass.FindField(defARField) >= 0)
if (networkLoader2.CheckAncillaryRoleField(featureClassName, fieldName) != esriNLFCValid)
{
Console.WriteLine(fieldName & " is not valid as an ancillary role field.");
return; //field is invalid -- do not call PutAncillaryRole
}
//otherwise, this field is a valid ancillary role field
networkLoader2.PutAncillaryRole(featureClassName, esriNCARSourceSink, fieldName);
The following code demonstrates using the default field name for the ancillary role field and checking its validity if it already exists. It assumes the NetworkLoader object is referenced by networkLoader2, the the target feature dataset is referenced by featureDataset, and the name of the feature class to have an ancillary role field is referenced by featureClassName:
Dim networkLoaderProps As INetworkLoaderProps = CType(networkLoader2, INetworkLoaderProps)INetworkLoaderProps Interface | INetworkLoaderProgress Interface | INetworkLoader Interface | NetworkLoader Class