com.esri.arcgis.networkanalysis
Class NetworkLoader

java.lang.Object
  extended by com.esri.arcgis.networkanalysis.NetworkLoader
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, INetworkLoader, INetworkLoader2, INetworkLoader3, INetworkLoaderProps, ISupportErrorInfo, Serializable

public class NetworkLoader
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INetworkLoader, INetworkLoader2, INetworkLoader3, INetworkLoaderProps, ISupportErrorInfo

A container for specifying the parameters for building a geometric network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Feature Dataset Name
A geometric network is built within a feature dataset. The NetworkLoader needs a reference to the FeatureDatasetName object in which you want to build the geometric network.

Network Name
You need to give your geometric network a name. The name of the geometric network must be unique within the geodatabase. If you only have one geometric network in your feature dataset you might choose to give it the same name as that of the feature dataset.

Type of Network
A network can be on of two types: utility or street. To build a utility network you would specify the following:

Snapping
When a geometric network is built, how the features are connected is determined by their spatial relationship. As of the 10.0 release; snapping is specified at the geometric network level; whichs that if used; all feature classes in your geometric network will be snapped during creation.

Snap Tolerance
The snap tolerance controls the search distance used for establishing connectivity during the network building process. The snap tolerance is specified in map units.

Adding Feature Classes
A geometric network is built from feature classes. These feature classes must be contained within the feature dataset you specify. There are a few restrictions on which feature classes you can use. They must be either lines or points. They must not already be participating in a geometric network. In the case of SDE, they must not be registered as versioned. You can check for any of these violations by calling the CanUseFeatureClass method.

The NetworkLoader object can only build geometric networks with simple junction features, simple edge features, and complex edge features. You can look at the help for the INetworkFeature interface for more information on these types of features.

Please note that as of release 10.0, the CanChangeGeometry parameter is ignored; snapping is not specified at the feature class leve; but at the geometric network level with the INetworkLoader3.CanUseXYForSnapping.

Adding Weights
You can also specify weights to be added to your network. To learn more about weights see the NetWeight object help.

For weights other than type esriWTBitGate, the BitGateSize parameter should be set to zero.

Adding Weight Associations
The weights you specified for your network need to have values. These values are taken from attributes of your feature classes. Adding weight associations tells the network which attributes belong to which weights. A weight can be associated with multiple feature classes. These associations are dependent on the type of field and the type of weight you created. For example, a weight of type esriWTDouble can only be associated with a field of type esriFieldTypeDouble. For weights of type esriWTBitGate, the type of the field can be either esriFieldTypeInteger or esriFieldTypeSmallInteger.

Ancillary Roles
You also need to specify which feature classes will have an ancillary role. A feature class that you specify as having an ancillary role means its features can either be sources or sinks and it will determine flow in your network. The feature classes you want to be built as having an ancillary role must be point feature classes. Multiple feature classes in the network can have ancillary roles. To do this, simply call the PutAncillaryRole method for each feature class to have ancillary roles.

The field name you specify will contain the ancillary role attribute for this feature class. It is strongly recommended to use the default name for the ancillary role field. The default name for the ancillary role field can be obtained from the DefaultAncillaryRoleField property on the INetworkLoaderProps interface. If you specify an existing field to use as the ancillary role field, it is best to check that this field is of the correct type and domain can become an ancillary role field. You can check this by calling the CheckAncillaryRoleField method. If the field specified does not exist, then the NetworkLoader will automatically add it to the feature class when it builds the network, populating all values in this field with the value 0.

Enabled/Disabled Field
Every feature class in your network must have a field that determines whether a feature is enabled or disabled. Enabled and disabled features affect how flow and the trace results are determined.

It is strongly recommended to use the default name for the enabled/disabled field. If you do not make a call to PutEnabledDisabledFieldName for a feature class, then the NetworkLoader assumes that you wish to use the default name for the enabled/disabled field. The default name for the enabled/disabled field can be obtained from the DefaultEnabledField property on the INetworkLoaderProps interface.

If you specify an existing field to use as the enabled/disabled field, it is best to check that this field is of the correct type and domain to be used as an enabled/disabled field. You can check this by calling the CheckEnabledDisabledField method. You also have the option of resetting all values in the existing field to True, or preserving the existing values. See the help for the PreserveEnabledValues property for more details.

If the field specified does not exist, then the NetworkLoader will automatically add it to the feature class when it builds the network, populating all values in this field with the value True.

Configuration Keyword
If you specified a feature dataset that is a member of an SDE geodatabase, then you may specify a configuration keyword for building your geometric network. A configuration keyword is used to specify storage and location parameters for optimal space and disk location efficiency. The configuration keyword is provided by your database administrator.

Build Your Network
Finally, after specifying all of the parameters for your network you need to tell the NetworkLoader object to build it. You can do this by calling the LoadNetwork method.

See Also:
Serialized Form

Constructor Summary
NetworkLoader()
          Constructs a NetworkLoader using ArcGIS Engine.
NetworkLoader(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NetworkLoader theNetworkLoader = (NetworkLoader) obj;
 
Method Summary
 void addFeatureClass(String featureClassName, int newFeatureType, IUID newClsID, boolean canChangeGeometry)
          Adds a feature class to the new geometric network.
 void addINetworkLoaderProgressListener(INetworkLoaderProgress theListener)
          addINetworkLoaderProgressListener.
 void addWeight(String networkWeightName, int weightType, int bitGateSize)
          Adds a weight to the new geometric network.
 void addWeightAssociation(String networkWeightName, String featureClassName, String fieldName)
          Adds an association between a network weight and a feature class attribute.
 int canUseFeatureClass(String featureClassName)
          Determines if the given feature class can participate in a network.
 int checkAncillaryRoleField(String featureClassName, String fieldName)
          Determines whether the given AncillaryRole field is valid.
 int checkEnabledDisabledField(String featureClassName, String fieldName)
          Determines whether the given Enabled field is valid.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 String getDefaultAncillaryRoleDomain()
          Default ancillary role domain name.
 String getDefaultAncillaryRoleField()
          Default ancillary role field name.
 String getDefaultEnabledDomain()
          Default enabled domain name.
 String getDefaultEnabledField()
          Default enabled field name.
 double getDefaultSnapTolerance()
          Default nonzero XY cluster tolerance.
 double getDefaultZSnapTolerance()
          Default nonzero Z cluster tolerance.
 String getErrorTableName()
          Name of the table containing errors encountered while building the new geometric network.
 double getMaxSnapTolerance()
          Maximum nonzero XY cluster tolerance.
 double getMaxZSnapTolerance()
          Maximum nonzero Z cluster tolerance.
 double getMinSnapTolerance()
          Minimum nonzero snap tolerance for creating a new geometric network.
 double getMinZSnapTolerance()
          Minimum nonzero Z cluster tolerance.
 int getNumInvalidFeatures(String featureClassName)
          Number of features with invalid geometry in the given feature class.
 int getTotalNumInvalidFeatures()
          Total number of features with invalid geometry.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isCanUseZs()
          Indicates if Z coordinates are used for snapping and connectivity.
 void loadNetwork()
          Creates the new geometric network inside the feature dataset.
 void putAncillaryRole(String featureClassName, int ancillaryRole, String ancillaryRoleFieldName)
          Specifies the ancillary role attribute field for the specified feature class.
 void putEnabledDisabledFieldName(String featureClassName, String enabledDisabledFieldName)
          Specifies the enabled/disabled field for the specified feature class.
 void removeINetworkLoaderProgressListener(INetworkLoaderProgress theListener)
          removeINetworkLoaderProgressListener.
 void setConfigurationKeyword(String rhs1)
          Configuration keyword for the new geometric network.
 void setFeatureDatasetNameByRef(IDatasetName rhs1)
          Feature dataset name to where the new geometric network is to be created.
 void setNetworkName(String rhs1)
          Name of the new geometric network.
 void setNetworkType(int rhs1)
          Network type of the new geometric network.
 void setPreserveEnabledValues(boolean rhs1)
          Indicates if the Network Loader should preserve the values in the existing Enabled fields.
 void setSnapTolerance(double rhs1)
          Snap tolerance to be used in creating the new geometric network.
 void setUseXYsForSnapping(boolean rhs1)
          Indicates if the feature classes are snapped on XY plane.
 void setUseZs(boolean rhs1)
          Indicates if Z coordinates are used for snapping and connectivity.
 void setZSnapTolerance(double rhs1)
          Snap tolerance for Z coordinates.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

NetworkLoader

public NetworkLoader()
              throws IOException,
                     UnknownHostException
Constructs a NetworkLoader using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

NetworkLoader

public NetworkLoader(Object obj)
              throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NetworkLoader theNetworkLoader = (NetworkLoader) obj;

Construct a NetworkLoader using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to NetworkLoader.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

addINetworkLoaderProgressListener

public void addINetworkLoaderProgressListener(INetworkLoaderProgress theListener)
                                       throws IOException
addINetworkLoaderProgressListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.networkanalysis.INetworkLoaderProgress interface.
Throws:
IOException - If there are communications problems.

removeINetworkLoaderProgressListener

public void removeINetworkLoaderProgressListener(INetworkLoaderProgress theListener)
                                          throws IOException
removeINetworkLoaderProgressListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.networkanalysis.INetworkLoaderProgress interface.
Throws:
IOException - If there are communications problems.

setNetworkType

public void setNetworkType(int rhs1)
                    throws IOException,
                           AutomationException
Network type of the new geometric network.

Remarks

Currently, the only supported network type for the NetworkLoader is esriNTUtilityNetwork.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNetworkType in interface INetworkLoader
Parameters:
rhs1 - A com.esri.arcgis.geodatabase.esriNetworkType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSnapTolerance

public void setSnapTolerance(double rhs1)
                      throws IOException,
                             AutomationException
Snap tolerance to be used in creating the new geometric network.

Remarks

The SnapTolerance controls the search distance used for establishing connectivity during the network building process. The snap tolerance is specified in map units.

It is best to check to make sure that the snap tolerance you propose is not less than the minimum snap tolerance in the INetworkLoader2::MinSnapTolerance parameter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSnapTolerance in interface INetworkLoader
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNetworkName

public void setNetworkName(String rhs1)
                    throws IOException,
                           AutomationException
Name of the new geometric network.

Remarks

You need to give your geometric network a name. The name of the geometric network must be unique within the geodatabase. If you only have one geometric network in your feature dataset you might choose to give it the same name as that of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNetworkName in interface INetworkLoader
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureDatasetNameByRef

public void setFeatureDatasetNameByRef(IDatasetName rhs1)
                                throws IOException,
                                       AutomationException
Feature dataset name to where the new geometric network is to be created.

Remarks

A geometric network is built within a feature dataset. The NetworkLoader needs a reference to the FeatureDatasetName object in which you want to build the geometric network.

The FeatureDatasetName property must be set before calling any of the methods on the INetworkLoader or INetworkLoader2 interfaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFeatureDatasetNameByRef in interface INetworkLoader
Parameters:
rhs1 - A reference to a com.esri.arcgis.geodatabase.IDatasetName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addFeatureClass

public void addFeatureClass(String featureClassName,
                            int newFeatureType,
                            IUID newClsID,
                            boolean canChangeGeometry)
                     throws IOException,
                            AutomationException
Adds a feature class to the new geometric network.

Remarks

A geometric network is built from feature classes. These feature classes must be contained within the feature dataset you specify. There are a few restrictions on which feature classes you can use. They must be either lines or points. They must not already be participating in a geometric network. In the case of SDE, they must not be registered as versioned. You can check for any of these violations by calling the INetworkLoader2::CanUseFeatureClass method.

The NetworkLoader object can only build geometric networks with simple junction features, simple edge features, and complex edge features. You can look at the help for the NetworkFeature object for more information on these types of features.

The canChangeGeometry parameter indicates whether or not the feature's geometry can be modified during snapping. If set to True, then the feature may be moved to snap to other features within the specified SnapTolerance. If set to False, then the feature will not be moved to snap to other features. This property can only be used when creating geometric networks in pre-10.0 geodatabases. Starting with the 10.0 release; the parameter is ignored as the ability to allow snapping on a per feature class basis is no longer supported. Snapping is now supported on all or nothing option, either all feature classes are snapped or none of the feature classes are snapped. Use the INetworkLoader3::UseXYsForSnapping property to sepcify that all feature classes will be snapped during geometric network creation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addFeatureClass in interface INetworkLoader
Parameters:
featureClassName - The featureClassName (in)
newFeatureType - A com.esri.arcgis.geodatabase.esriFeatureType constant (in)
newClsID - A reference to a com.esri.arcgis.system.IUID (in)
canChangeGeometry - The canChangeGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addWeight

public void addWeight(String networkWeightName,
                      int weightType,
                      int bitGateSize)
               throws IOException,
                      AutomationException
Adds a weight to the new geometric network.

Remarks

Weights must be created when the geometric network is created. To add a weight later on, the geometric network must be deleted and rebuilt.

The WeightType parameter determines which feature attributes can be associated to the weight. See the help on AddWeightAssociation for a list of types of feature attribute types that can be associated with each WeightType.

When specifying a WeightType not of type esriWTBitGate, set the BitGateSize parameter to 0.

For more information on Weights, please see the help for the NetWeight object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addWeight in interface INetworkLoader
Parameters:
networkWeightName - The networkWeightName (in)
weightType - A com.esri.arcgis.geodatabase.esriWeightType constant (in)
bitGateSize - The bitGateSize (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetWeightEdit, INetWeightAssociation, INetWeightAssociationEdit, INetWeight

addWeightAssociation

public void addWeightAssociation(String networkWeightName,
                                 String featureClassName,
                                 String fieldName)
                          throws IOException,
                                 AutomationException
Adds an association between a network weight and a feature class attribute.

Remarks

The weights you specified for your network using the AddWeight method need to have values. These values are taken from attributes of your feature classes. Adding weight associations tells the network which attributes belong to which weights. A weight can be associated with multiple feature classes. These associations are dependent on the type of field and the type of weight you created. The following table shows which types of weight can be associated to which types of feature attributes:

Weight Type Valid Feature Attribute Types
esriWTNull None
esriWTBitgate esriFieldTypeSmallInteger, esriFieldTypeInteger
esriWTInteger esriFieldTypeSmallInteger, esriFieldTypeInteger
esriWTSingle esriFieldTypeSingle
esriWTDouble esriFieldTypeSingle, esriFieldTypeDouble

You can only add a weight association to the network if both the feature class and the weight have already been added to the NetworkLoader object using the AddFeatureClass and AddWeight methods respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addWeightAssociation in interface INetworkLoader
Parameters:
networkWeightName - The networkWeightName (in)
featureClassName - The featureClassName (in)
fieldName - The fieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetWeightAssociation, INetWeightAssociationEdit

putAncillaryRole

public void putAncillaryRole(String featureClassName,
                             int ancillaryRole,
                             String ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Specifies the ancillary role attribute field for the specified feature class.

Remarks

A feature class that you specify as having an ancillary role means its features can either be sources or sinks and it will determine flow in your network. The feature classes you want to be built as having an ancillary role must be point feature classes. Multiple feature classes in the network can have ancillary roles. To do this, simply call the PutAncillaryRole method for each feature class to have ancillary roles.
The field name you specify will contain the ancillary role attribute for this feature class. It is strongly recommended to use the default name for the ancillary role field. The default name for the ancillary role field can be obtained from the DefaultAncillaryRoleField property on the INetworkLoaderProps interface. If you specify an existing field to use as the ancillary role field, it is best to check that this field is of the correct type and domain can become an ancillary role field. You can check this by calling the CheckAncillaryRoleField method. If the field specified does not exist, then the NetworkLoader will automatically add it to the feature class when it builds the network, populating all values in this field with the value 0.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putAncillaryRole in interface INetworkLoader
Parameters:
featureClassName - The featureClassName (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

public void putEnabledDisabledFieldName(String featureClassName,
                                        String enabledDisabledFieldName)
                                 throws IOException,
                                        AutomationException
Specifies the enabled/disabled field for the specified feature class.

Remarks

Every feature class in your network must have a field that determines whether a feature is enabled or disabled. Enabled and disabled features affect how flow and the trace results are determined.

It is strongly recommended to use the default name for the enabled/disabled field. If you do not make a call to PutEnabledDisabledFieldName for a feature class, then the NetworkLoader assumes that you wish to use the default name for the enabled/disabled field. The default name for the enabled/disabled field can be obtained from the DefaultEnabledField property on the INetworkLoaderProps interface.

If you specify an existing field to use as the enabled/disabled field, it is best to check that this field is of the correct type and domain to be used as an enabled/disabled field. You can check this by calling the CheckEnabledDisabledField method. You also have the option of resetting all values in the existing field to True, or preserving the existing values. See the help for the PreserveEnabledValues property for more details.

If the field specified does not exist, then the NetworkLoader will automatically add it to the feature class when it builds the network, populating all values in this field with the value True.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putEnabledDisabledFieldName in interface INetworkLoader
Parameters:
featureClassName - The featureClassName (in)
enabledDisabledFieldName - The enabledDisabledFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

loadNetwork

public void loadNetwork()
                 throws IOException,
                        AutomationException
Creates the new geometric network inside the feature dataset.

Description

Once you have populated the NetworkLoader object with all of the parameters for your network you can call the LoadNetwork method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
loadNetwork in interface INetworkLoader
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setConfigurationKeyword

public void setConfigurationKeyword(String rhs1)
                             throws IOException,
                                    AutomationException
Configuration keyword for the new geometric network.

Remarks

If the feature dataset set at INetworkLoader::FeatureDatasetName is a member of an SDE geodatabase, then you may specify a configuration keyword for building your geometric network. A configuration keyword is used to specify storage and location parameters for optimal space and disk location efficiency.

The configurationKeywords for an ArcSDE instance are set up by the ArcSDE data administrator, the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfiguration interface at ArcGIS release 8.1 or later. For more information on configuration keywords, refer to the ArcSDE documentation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setConfigurationKeyword in interface INetworkLoader2
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinSnapTolerance

public double getMinSnapTolerance()
                           throws IOException,
                                  AutomationException
Minimum nonzero snap tolerance for creating a new geometric network.

Remarks

MinSnapTolerance is the minimum snap tolerance allowed for creating a geometric network in this feature dataset. To set the snap tolerance for building the network, see INetworkLoader::SnapTolerance.

MinSnapTolerance can only be called after the INetworkLoader::FeatureDatasetName property has been set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinSnapTolerance in interface INetworkLoader2
Returns:
The pMinSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canUseFeatureClass

public int canUseFeatureClass(String featureClassName)
                       throws IOException,
                              AutomationException
Determines if the given feature class can participate in a network.

Remarks

CanUseFeatureClass can only be called after the INetworkLoader::FeatureDatasetName property has been set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canUseFeatureClass in interface INetworkLoader2
Parameters:
featureClassName - The featureClassName (in)
Returns:
A com.esri.arcgis.networkanalysis.esriNetworkLoaderFeatureClassCheck constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkEnabledDisabledField

public int checkEnabledDisabledField(String featureClassName,
                                     String fieldName)
                              throws IOException,
                                     AutomationException
Determines whether the given Enabled field is valid.

Remarks

CheckEnabledDisabledField can only be called after the INetworkLoader::FeatureDatasetName property has been set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
checkEnabledDisabledField in interface INetworkLoader2
Parameters:
featureClassName - The featureClassName (in)
fieldName - The fieldName (in)
Returns:
A com.esri.arcgis.networkanalysis.esriNetworkLoaderFieldCheck constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkAncillaryRoleField

public int checkAncillaryRoleField(String featureClassName,
                                   String fieldName)
                            throws IOException,
                                   AutomationException
Determines whether the given AncillaryRole field is valid.

Remarks

CheckAncillaryRoleField can only be called after the INetworkLoader::FeatureDatasetName property has been set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
checkAncillaryRoleField in interface INetworkLoader2
Parameters:
featureClassName - The featureClassName (in)
fieldName - The fieldName (in)
Returns:
A com.esri.arcgis.networkanalysis.esriNetworkLoaderFieldCheck constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPreserveEnabledValues

public void setPreserveEnabledValues(boolean rhs1)
                              throws IOException,
                                     AutomationException
Indicates if the Network Loader should preserve the values in the existing Enabled fields.

Remarks

If an existing field is specified as the enabled/disabled field for any feature class (see PutEnabledDisabledFieldName), then the PreserveEnabledValues property will determine which features are enabled and which are disabled when the network is built.

If PreserveEnabledValues is set to False, then the current values in the enabled/disabled fields will be disregarded and overwritten with the value of True. The geometric network will be built with all its elements initially enabled.

If PreserveEnabledValues is set to True, then the valid values in the enabled/disabled fields will be preserved. Values in the enabled/disabled fields are valid if they have a value of either 0 (False) or 1 (True). Other values are invalid and will be overwritten with the value of 1 (True). After the network is built, each network feature will be either enabled or disabled, based on the value in the enabled/disabled field.

The default value of the PreserveEnabledValues property is false. If the value is not explicitely set as True, all values in the enabled field will be overwritten with True.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPreserveEnabledValues in interface INetworkLoader2
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getErrorTableName

public String getErrorTableName()
                         throws IOException,
                                AutomationException
Name of the table containing errors encountered while building the new geometric network.

Remarks

ErrorTableName can only be called after the INetworkLoader::LoadNetwork method has been called.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getErrorTableName in interface INetworkLoader2
Returns:
The pErrorTableName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTotalNumInvalidFeatures

public int getTotalNumInvalidFeatures()
                               throws IOException,
                                      AutomationException
Total number of features with invalid geometry.

Remarks

TotalNumInvalidFeatures can only be called after the INetworkLoader::LoadNetwork method has been called.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTotalNumInvalidFeatures in interface INetworkLoader2
Returns:
The pTotalNumInvalidFeatures
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumInvalidFeatures

public int getNumInvalidFeatures(String featureClassName)
                          throws IOException,
                                 AutomationException
Number of features with invalid geometry in the given feature class.

Product Availability

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

Specified by:
getNumInvalidFeatures in interface INetworkLoader2
Parameters:
featureClassName - The featureClassName (in)
Returns:
The pNumInvalidFeatures
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseXYsForSnapping

public void setUseXYsForSnapping(boolean rhs1)
                          throws IOException,
                                 AutomationException
Indicates if the feature classes are snapped on XY plane.

Description

UseXYsForSnapping specifies whether the feature classes will be snapped in the x,y during creation. This property replaces the CanChangeGeometry paramerter on the AddFeatureClass method as of 10.0.

Product Availability

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

Specified by:
setUseXYsForSnapping in interface INetworkLoader3
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUseZs

public boolean isCanUseZs()
                   throws IOException,
                          AutomationException
Indicates if Z coordinates are used for snapping and connectivity.

Description

Indicates whether the geometric network will support z values. In order to be true, all feature classes in the geometric network must be z-aware.

Product Availability

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

Specified by:
isCanUseZs in interface INetworkLoader3
Returns:
The canUseZs
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseZs

public void setUseZs(boolean rhs1)
              throws IOException,
                     AutomationException
Indicates if Z coordinates are used for snapping and connectivity.

Product Availability

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

Specified by:
setUseZs in interface INetworkLoader3
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZSnapTolerance

public void setZSnapTolerance(double rhs1)
                       throws IOException,
                              AutomationException
Snap tolerance for Z coordinates.

Description

The z snap tolerance; it must be at least equal to the MinZSnapTolerance.

Product Availability

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

Specified by:
setZSnapTolerance in interface INetworkLoader3
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxSnapTolerance

public double getMaxSnapTolerance()
                           throws IOException,
                                  AutomationException
Maximum nonzero XY cluster tolerance.

Description

The maximum x,y snap tolerance.

Product Availability

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

Specified by:
getMaxSnapTolerance in interface INetworkLoader3
Returns:
The maxSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultSnapTolerance

public double getDefaultSnapTolerance()
                               throws IOException,
                                      AutomationException
Default nonzero XY cluster tolerance.

Description

The default snapping tolerance for the geometric network; this is equal to the resolution of the feature dataset.

Product Availability

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

Specified by:
getDefaultSnapTolerance in interface INetworkLoader3
Returns:
The defaultSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinZSnapTolerance

public double getMinZSnapTolerance()
                            throws IOException,
                                   AutomationException
Minimum nonzero Z cluster tolerance.

Description

The minimum z snap tolerance.

Product Availability

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

Specified by:
getMinZSnapTolerance in interface INetworkLoader3
Returns:
The minZSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxZSnapTolerance

public double getMaxZSnapTolerance()
                            throws IOException,
                                   AutomationException
Maximum nonzero Z cluster tolerance.

Description

The maximum z snap tolerance.

Product Availability

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

Specified by:
getMaxZSnapTolerance in interface INetworkLoader3
Returns:
The maxZSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultZSnapTolerance

public double getDefaultZSnapTolerance()
                                throws IOException,
                                       AutomationException
Default nonzero Z cluster tolerance.

Description

The default z snap tolerance, which is equal to the default resolution of the feature dataset.

Product Availability

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

Specified by:
getDefaultZSnapTolerance in interface INetworkLoader3
Returns:
The defaultZSnapTolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultEnabledDomain

public String getDefaultEnabledDomain()
                               throws IOException,
                                      AutomationException
Default enabled domain name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultEnabledDomain in interface INetworkLoaderProps
Returns:
The defaultEnabledDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultEnabledField

public String getDefaultEnabledField()
                              throws IOException,
                                     AutomationException
Default enabled field name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultEnabledField in interface INetworkLoaderProps
Returns:
The defaultEnabledField
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultAncillaryRoleDomain

public String getDefaultAncillaryRoleDomain()
                                     throws IOException,
                                            AutomationException
Default ancillary role domain name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultAncillaryRoleDomain in interface INetworkLoaderProps
Returns:
The defaultAncillaryRoleDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultAncillaryRoleField

public String getDefaultAncillaryRoleField()
                                    throws IOException,
                                           AutomationException
Default ancillary role field name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultAncillaryRoleField in interface INetworkLoaderProps
Returns:
The defaultAncillaryRoleField
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.