|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.Topology
public class Topology
Esri Topology object.
A Topology is a collection of simple feature classes within the same feature dataset that participate in topological relationships with a set of rules that govern those relationships. The Topology object is not cocreateable, topologies must be created through another method call, ITopologyContainer::CreateTopology.
Topologies support the IFeatureClassContainer interface that can be used to return the feature classes participating in the topology. Among other interfaces, Topologies also support IDataset.
Each topology has one inherent rule, esriTRTFeatureLargerThanClusterTolerance, which identified features that are less than the defined cluster tolerance for the topology.
Constructor Summary | |
---|---|
Topology(Object obj)
Construct a Topology using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
void |
addClass(IClass classToAdd,
double weight,
int xYRank,
int zRank,
boolean eventNotificationOnValidate)
Add an object, feature, or attributed relationship class to the topology. |
void |
addRule(ITopologyRule rule)
Adds a topology rule. |
boolean |
canCopy()
True if this dataset can be copied. |
boolean |
canDelete()
True if this dataset can be deleted. |
boolean |
canRename()
True if this dataset can be renamed. |
void |
changeSchemaLock(int schemaLock)
Changes a schema lock. |
IDataset |
copy(String copyName,
IWorkspace copyWorkspace)
Copies this dataset to a new dataset with the specified name. |
void |
delete()
Deletes this dataset. |
void |
deleteRule(ITopologyRule rule)
Deletes a topology rule. |
void |
demoteFromRuleException(ITopologyErrorFeature errorException)
Demotes a topology error from an exception to an error. |
void |
enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
enumConnectionPoints |
boolean |
equals(Object o)
Compare this object with another |
IFeatureClass |
esri_getClass(int classIndex)
The FeatureClass associated with the specified index value. |
void |
findConnectionPoint(GUID riid,
IConnectionPoint[] ppCP)
findConnectionPoint |
String |
getBrowseName()
The browse name of the dataset. |
ITopologyGraph |
getCache()
The topology graph of the topology. |
String |
getCategory()
The category of the dataset. |
IFeatureClass |
getClassByID(int iD)
The FeatureClass with the specified ID. |
IFeatureClass |
getClassByName(String name)
The FeatureClass with the specified name. |
int |
getClassCount()
The number of FeatureClasses in this container. |
IEnumFeatureClass |
getClasses()
An enumerator over the FeatureClasses. |
double |
getClusterTolerance()
The cluster tolerance of the topology. |
void |
getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
The list of current locks. |
IPolygon |
getDirtyArea(IPolygon location)
The dirty area polygon of the topology. |
ITopologyErrorFeature |
getErrorFeature(ISpatialReference spatialReference,
int errorType,
int geometryType,
int originClassID,
int originOID,
int destinationClassID,
int destinationOID)
An error feature with that matches the passed in parameters. |
IEnumTopologyErrorFeature |
getErrorFeatures(ISpatialReference spatialReference,
ITopologyRule rule,
IEnvelope extent,
boolean errors,
boolean exceptions)
An enumeration of error features that match the passed in parameters. |
IEnumTopologyErrorFeature |
getErrorFeaturesByGeometryType(ISpatialReference spatialReference,
int geometryType,
boolean exceptions)
An enumeration of error features that match the passed in parameters. |
IEnumTopologyErrorFeature |
getErrorFeaturesByRuleType(ISpatialReference spatialReference,
int topologyRuleType,
IEnvelope extent,
boolean errors,
boolean exceptions)
An enumeration of error features that match the passed in parameters. |
IEnvelope |
getExtent()
The extent of the GeoDataset. |
IFeatureDataset |
getFeatureDataset()
The feature dataset that contains the topology. |
IName |
getFullName()
The associated name object. |
int |
getMaximumGeneratedErrorCount()
The maximum number of errors to generate when validating a topology. |
IPropertySet |
getMetadata()
The PropertySet containing metadata. |
String |
getName()
The name of the Dataset. |
IPropertySet |
getPropertySet()
The set of properties for the dataset. |
IRule |
getRule(int ruleID)
The topology rule with the corresponding ID. |
IRule |
getRuleByGUID(String gUID)
The rule with the globally unique ID. |
IEnumRule |
getRules()
An enumeration of all the topology rules. |
IEnumRule |
getRulesByClass(int classID)
An enumeration of all the rules for a given class. |
IEnumRule |
getRulesByClassAndSubtype(int classID,
int subType)
An enumeration of all the rules for a given class and subtype. |
ISpatialReference |
getSpatialReference()
The spatial reference of the GeoDataset. |
int |
getState()
Indicates whether the topology is clean or not. |
IEnumDataset |
getSubsets()
Datasets contained within this dataset. |
int |
getTopologyID()
The ID of the topology. |
int |
getType()
The type of the Dataset. |
IWorkspace |
getWorkspace()
The workspace containing this dataset. |
double |
getZClusterTolerance()
The z cluster tolerance of the topology. |
int |
hashCode()
the hashcode for this object |
boolean |
isBeingEdited()
True if the dataset is being edited. |
boolean |
isCanAddRule(ITopologyRule rule)
Indicates if the topology rule can be added to the topology. |
boolean |
isCanEditMetadata()
Indicates if metadata can be edited. |
void |
promoteToRuleException(ITopologyErrorFeature errorException)
Promotes a topology error to an exception. |
void |
removeClass(IClass classToRemove)
Remove an object, feature, or attributed relationship class to the topology. |
void |
rename(String name)
Renames this Dataset. |
void |
setBrowseName(String name)
The browse name of the dataset. |
void |
setMetadata(IPropertySet ppPropertySet)
The PropertySet containing metadata. |
void |
synchronize(int action,
int interval)
Updates metadata with the current properties; may create metadata if it doesn't already exist. |
IEnvelope |
validateTopology(IEnvelope areaToValidate)
Validate the specified area in the topology. |
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 |
---|
public Topology(Object obj) throws IOException
obj
to Topology
. *
Topology o = (Topology)obj; // will not work
Topology o = new Topology(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
Topology theTopology = (Topology) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String getName() throws IOException, AutomationException
getName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IName getFullName() throws IOException, AutomationException
getFullName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getBrowseName() throws IOException, AutomationException
getBrowseName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setBrowseName(String name) throws IOException, AutomationException
setBrowseName
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getType() throws IOException, AutomationException
// Assume we have a reference to an IfeatureClass (pFeatureClass) IDataset pDataset = null;
pDataset = new IDatasetProxy(pFeatureClass);
System.out.println(pDataset.getName() + " " + pDataset.getType());
if(pFeatureClass != null){
pDataset = pFeatureClass.getFeatureDataset();
System.out.println(pDataset.getName() + " " + pDataset.getType());
}
pDataset = new IDatasetProxy(pDataset.getWorkspace());
System.out.println(pDataset.getName() + " " +
pDataset.getType());
getType
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getCategory() throws IOException, AutomationException
IDataset::Category returns a description of the category of the dataset. The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog. The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".
The description returned from IDataset::Category may change between releases of ArcGIS. In addition to this, returned strings are localized, meaning that code relying on a specific string being provided may fail when deployed with a different version of ArcGIS than it was developed with, or when deployed to a client using a different language than it was developed with.
getCategory
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDataset getSubsets() throws IOException, AutomationException
The Subsets property returns other Dataset objects contained in this dataset.
IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.
getSubsets
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspace getWorkspace() throws IOException, AutomationException
The Workspace property returns the containing workspace for this dataset.
getWorkspace
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getPropertySet() throws IOException, AutomationException
The PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.
Most datasets do not implement this property and will either raise an error or return a null value if it's called. There are a handful of exceptions that will return property sets; these include the datasets from file geodatabases (as mentioned above) and coverages.
Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.
IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.
getPropertySet
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canCopy() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
The CanCopy method is supported by:
canCopy
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDataset copy(String copyName, IWorkspace copyWorkspace) throws IOException, AutomationException
IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.
copy
in interface IDataset
copyName
- The copyName (in)copyWorkspace
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canDelete() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canDelete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete() throws IOException, AutomationException
Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.
delete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canRename() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canRename
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rename(String name) throws IOException, AutomationException
IDataset::Rename does not support the renaming of Graph objects such as a Geometric Network. In addition, certain feature classes, such as network feature classes, cannot be renamed.
rename
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isBeingEdited() throws IOException, AutomationException
Once an edit session has been started on a workspace, the IsBeingEdited method on the IDatasetEdit interface can be used to determine if a particular dataset is participating in the edit session.
The reasons why a dataset may not participate include the connected user has no privileges or permission to edit the dataset, the connected user is not licensed to edit this type of dataset, or the dataset is not versioned but a versioned edit session has been started (or vice versa).
isBeingEdited
in interface IDatasetEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISpatialReference getSpatialReference() throws IOException, AutomationException
This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.
Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.
Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.
getSpatialReference
in interface IGeoDataset
getSpatialReference
in interface ITopologyProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.
Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.
If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.
If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.
ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.
getExtent
in interface IGeoDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void changeSchemaLock(int schemaLock) throws IOException, AutomationException
changeSchemaLock
in interface ISchemaLock
schemaLock
- A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo) throws IOException, AutomationException
The ISchemaLockInfo interface is used in concert with ISchemaLock to provide information about a schema lock, for example, whether it is shared or exclusive and for ArcSDE geodatabases, the name of the user who has the lock. Note that there will always be at least one schema lock on the dataset. Also note that by checking the schema locks on a dataset a shared schema lock is applied to the data.
getCurrentSchemaLocks
in interface ISchemaLock
schemaLockInfo
- A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
enumConnectionPoints
in interface IConnectionPointContainer
ppEnum
- A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
findConnectionPoint
in interface IConnectionPointContainer
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)ppCP
- A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass esri_getClass(int classIndex) throws IOException, AutomationException
esri_getClass
in interface IFeatureClassContainer
classIndex
- The classIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass getClassByID(int iD) throws IOException, AutomationException
getClassByID
in interface IFeatureClassContainer
iD
- The iD (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass getClassByName(String name) throws IOException, AutomationException
getClassByName
in interface IFeatureClassContainer
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getClassCount() throws IOException, AutomationException
getClassCount
in interface IFeatureClassContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumFeatureClass getClasses() throws IOException, AutomationException
There is no guarentee on the order that the feature classes will be returned.
getClasses
in interface IFeatureClassContainer
getClasses
in interface ITopologyProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getZClusterTolerance() throws IOException, AutomationException
The ZClusterTolerance property returns the Z cluster tolerance that was specified when the topology was built. As with the cluster tolerance, the Z cluster tolerance of the topology cannot be changed. In order to modify the Z cluster tolerance, the topology must be deleted and rebuilt with the new ZClusterTolerance value.
Unlike the cluster tolerance property, the ZClusterTolerance value indicates cluster tolerance distance as well as the Z clustering model that applies to the topology. A ZClusterTolerance value of 0 signifies the Building model, Z values of coincident vertices are not changed. A ZClusterTolerance value greater than 0 signifies the Terrain model, Z values of coincident vertices that are within the Z clsuter tolerance will be averaged together, based on the ZRank assigned to the features. (see ITopologyClass::ZRank )
ZClusterTolerance will return a value of -1 for any topology:
getZClusterTolerance
in interface ITopology2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getState() throws IOException, AutomationException
The State property indicates the current status of the Topology; whether the topology has been validated and if so, whether any topology errors have been discovered.
getState
in interface ITopology
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope validateTopology(IEnvelope areaToValidate) throws IOException, AutomationException
ValidateTopology validates the topology in the area specified by the areaToValidate envelope and returns the envelope of the validated area . If an empty envelope is supplied, ValidateTopology will return an empty validated area. If an envelope is supplied which does not intersect or contain a dirty area, an empty envelope is returned.
Before validating a given area, use a polygon object to verify a Dirty Area is present at the given location. This can be done using the ITopology::DirtyArea property. The envelope of the polygon can then be passed into ValidateTopology.
ValidateTopology can be performed outside of an edit session on Topologies within Personal or File Geodatabases or on Topologies within ArcSDE Geodatabases which have not been registered as versioned. Once the Topology is registered as versioned, ValidateTopology must be performed within an edit session. When performed within an edit session, ValidateTopology must also be bracketed within an edit operation.
It is not necessary to validate the entire dirty area of the topology. Subsets of the dirty area can be specified, resulting in a partial validation. When a partial validation occurs, the original dirty area is clipped by the envelope that was supplied for the validation.
ValidateTopology validates the dirty area of the topology in the area specified by the areaToValidate envelope. The validate process evaluates all the rules and produces any topology errors corresponding to areas in which a rule has been violated. The ValidateTopology function returns the envelope of the validated area. If an empty envelope is supplied, ValidateTopology will return an empty validated area. ValidateTopology can be performed outside of an edit session on topologies within Personal Geodatabases or on topologies within ArcSDE Geodatabases that have not been registered as versioned. Once a topology is registered as versioned, ValidateTopology must be performed within an edit session and bracketed within an edit operation. The IWorkspaceEdit or IEditor interfaces can be used to manage edit sessions and edit operations.
An entire topology can be validated by supplying the envelope of the extent of the topology.
By supplying a polygon object to the ITopology::DirtyArea property, the dirty area at a particular location can be returned. The envelope of the returned dirty area polygon can then be passed into ValidateTopology.
The OnCreate, OnDelete or OnChange events are not fired during a Topology Validation. The OnCreate and OnDelete events are not applicable since a Validate does not create or delete features. The OnChange event is not fired for performance reasons as a large number of features may be changed during a Validate. In addition, features may be changed many times.
validateTopology
in interface ITopology
areaToValidate
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getClusterTolerance() throws IOException, AutomationException
The ClusterTolerance property will return the cluster tolerance of the Topology. It will be the same value as is returned from the ITopology::ClusterTolerance property.
getClusterTolerance
in interface ITopology
getClusterTolerance
in interface ITopologyProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopologyGraph getCache() throws IOException, AutomationException
The Cache property returns a reference to the topology graph of the Topology. The topology graph can be used for working with topological primitives such as edges and nodes. For more information, see the TopologyGraph object for additional help.
getCache
in interface ITopology
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDataset getFeatureDataset() throws IOException, AutomationException
getFeatureDataset
in interface ITopology
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addClass(IClass classToAdd, double weight, int xYRank, int zRank, boolean eventNotificationOnValidate) throws IOException, AutomationException
The AddClass method is used to add a feature class to the topology, with the specified weight and ranks. The Weight must be an integer between 1 and 10. Although it is not used in ArcGIS, it must still be specified. The XY and Z Rank must each be an integer between 1 and 63 (Ranks higher than 51 are will result in errors when specified in either the New Topology wizard or Topology property page). Even if the feature class being added to the topology is not Z aware, it must have a Z rank specified. The XY and Z ranks represent the accuracies of the feature class, relative to other feature classes participating in the topology. Feature classes with a higher rank, such as 1 are more accurate than feature classes with a lower rank, such as 2. Ranks are a relative measure of accuracy; the difference between two features classes of ranks 1 and 2 is the same as two feature classes with ranks of 1 and 50. Multiple feature classes in topology can have the same rank.
The EventNotificationOnValidate parameter indicates if an event is broadcast when the Topology that the feature class participates in, is validated. The EventNotificationOnValidate property can only be set if the Topology is created programmatically. Feature classes added to a topology using the New Topology wizard in ArcCatalog, will have a value of False for EventNotificationOnValidate.
Non-simple feature classes, such as annotation, dimension, geometric network feature classes and feature classes already in a topology cannot be added to a Topology. Object classes or tables and versioned simple feature classes, cannot be added to a Topology. After a populated feature class is added to a topology that has been validated, in whole or in part, the state of the topology will be changed and a dirty area corresponding to the extent of the feature class will be created. If an unpopulated feature class is added to a topology, the topology's state will not change and no dirty area will be created. The AddClass method cannot be called on versioned topologies in SDE, but can be called on non-versioned topologies in SDE and topologies in a file or personal geodatabase.
addClass
in interface ITopology
classToAdd
- A reference to a com.esri.arcgis.geodatabase.IClass (in)weight
- The weight (in)xYRank
- The xYRank (in)zRank
- The zRank (in)eventNotificationOnValidate
- The eventNotificationOnValidate (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void removeClass(IClass classToRemove) throws IOException, AutomationException
Removes the specified class from the topology. RemoveClass will remove any topology rules and errors associated with the class and will not result in the creation of a dirty area, nor will the state of the topology change.
removeClass
in interface ITopology
classToRemove
- A reference to a com.esri.arcgis.geodatabase.IClass (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaximumGeneratedErrorCount() throws IOException, AutomationException
Each topology has a maximum number of errors that can be generated on Validate, which can be determined through the MaximumGeneratedErrorCount property. MaximumGeneratedErrorCount can only be specified when a Topology is created programmatically. All topologies created with the New Topology wizard in ArcCatalog have a MaximumGeneratedErrorCount of –1, indicating no limit to the number of errors that can be generated. As with the ClusterTolerance, the MaximumGeneratedErrorCount property cannot be changed, a topology must be deleted and rebuilt in order to specify a new value.
getMaximumGeneratedErrorCount
in interface ITopology
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTopologyID() throws IOException, AutomationException
Each topology in a Geodatabase is identified by a unique value, the TopologyID property. The TopologyID can be used to get a reference to the corresponding topology through the ITopologyContainer::TopologyByID property.
getTopologyID
in interface ITopology
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPolygon getDirtyArea(IPolygon location) throws IOException, AutomationException
getDirtyArea
in interface ITopology
location
- A reference to a com.esri.arcgis.geometry.IPolygon (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRule getRule(int ruleID) throws IOException, AutomationException
getRule
in interface ITopologyRuleContainer
ruleID
- The ruleID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRules() throws IOException, AutomationException
Returns an enumerator of the topology rules associated with the topology. The enumerator will contain all rules defined for the Topology, but will not contain the one rule that is inherent to each Topology, the esriTRTFeatureLargerThanClusterTolerance rule.
getRules
in interface ITopologyRuleContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRule getRuleByGUID(String gUID) throws IOException, AutomationException
getRuleByGUID
in interface ITopologyRuleContainer
gUID
- The gUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRulesByClass(int classID) throws IOException, AutomationException
getRulesByClass
in interface ITopologyRuleContainer
classID
- The classID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRulesByClassAndSubtype(int classID, int subType) throws IOException, AutomationException
getRulesByClassAndSubtype
in interface ITopologyRuleContainer
classID
- The classID (in)subType
- The subType (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanAddRule(ITopologyRule rule) throws IOException, AutomationException
isCanAddRule
in interface ITopologyRuleContainer
rule
- A reference to a com.esri.arcgis.geodatabase.ITopologyRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addRule(ITopologyRule rule) throws IOException, AutomationException
Adds the specified rule to the topology. Before adding the topology rule use CanAddRule to determine if the rule is inconsistent with any existing topology rules. Topology rules of the same type cannot be specified at the class level and subtype level for the same feature class.
Using AddRule on a topology which has already been validated, in whole or in part, will result in a dirty area created for the extent of the feature classes participating in the rule and a change to the state of the topology to esriTSUnanalyzed.
addRule
in interface ITopologyRuleContainer
rule
- A reference to a com.esri.arcgis.geodatabase.ITopologyRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteRule(ITopologyRule rule) throws IOException, AutomationException
Removes the specified rule from the topology. DeleteRule will remove any associated topology errors and will not result in the creation of a dirty area, nor will the state of the topology change.
deleteRule
in interface ITopologyRuleContainer
rule
- A reference to a com.esri.arcgis.geodatabase.ITopologyRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void promoteToRuleException(ITopologyErrorFeature errorException) throws IOException, AutomationException
The PromoteToRuleException method will promote the specified error to an exception feature. On a topology in an ArcSDE geodatabase, PromoteToRuleException, must be called from within an edit session and edit operation. Topology Exceptions arise when a topology rule is purposefully violated. Marking purposeful topology errors as exceptions allows other clients of the topology to handle them in an appropriate or specific manner, e.g., in reporting or symbolization.
Note that it is also possible to demote an exception or mark the exception as an error with the ITopologyRuleContainer::DemoteFromRuleException method.
promoteToRuleException
in interface ITopologyRuleContainer
errorException
- A reference to a com.esri.arcgis.geodatabase.ITopologyErrorFeature (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void demoteFromRuleException(ITopologyErrorFeature errorException) throws IOException, AutomationException
The DemoteFromRuleException method will demote an exception feature from an exception to an error. On a topology in an ArcSDE geodatabase, DemoteFromRuleException, must be called from within an edit session and edit operation. Topology Exceptions arise when a topology rule is purposefully violated. Marking purposeful topology errors as exceptions allows other clients of the topology to handle them in an appropriate or specific manner, e.g., in reporting or symbolization.
Note that it is also possible to promote an error or mark the error as an exception with the ITopologyRuleContainer::PromoteToRuleException method.
demoteFromRuleException
in interface ITopologyRuleContainer
errorException
- A reference to a com.esri.arcgis.geodatabase.ITopologyErrorFeature (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopologyErrorFeature getErrorFeature(ISpatialReference spatialReference, int errorType, int geometryType, int originClassID, int originOID, int destinationClassID, int destinationOID) throws IOException, AutomationException
getErrorFeature
in interface IErrorFeatureContainer
spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)errorType
- A com.esri.arcgis.geodatabase.esriTopologyRuleType constant (in)geometryType
- A com.esri.arcgis.geometry.esriGeometryType constant (in)originClassID
- The originClassID (in)originOID
- The originOID (in)destinationClassID
- The destinationClassID (in)destinationOID
- The destinationOID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumTopologyErrorFeature getErrorFeatures(ISpatialReference spatialReference, ITopologyRule rule, IEnvelope extent, boolean errors, boolean exceptions) throws IOException, AutomationException
getErrorFeatures
in interface IErrorFeatureContainer
spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)rule
- A reference to a com.esri.arcgis.geodatabase.ITopologyRule (in)extent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)errors
- The errors (in)exceptions
- The exceptions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumTopologyErrorFeature getErrorFeaturesByGeometryType(ISpatialReference spatialReference, int geometryType, boolean exceptions) throws IOException, AutomationException
getErrorFeaturesByGeometryType
in interface IErrorFeatureContainer
spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)geometryType
- A com.esri.arcgis.geometry.esriGeometryType constant (in)exceptions
- The exceptions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumTopologyErrorFeature getErrorFeaturesByRuleType(ISpatialReference spatialReference, int topologyRuleType, IEnvelope extent, boolean errors, boolean exceptions) throws IOException, AutomationException
getErrorFeaturesByRuleType
in interface IErrorFeatureContainer
spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)topologyRuleType
- A com.esri.arcgis.geodatabase.esriTopologyRuleType constant (in)extent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)errors
- The errors (in)exceptions
- The exceptions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getMetadata() throws IOException, AutomationException
The variable to hold the data must be of IPropertySet data type.
The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/or IXmlPropertySet2 interfaces.
getMetadata
in interface IMetadata
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMetadata(IPropertySet ppPropertySet) throws IOException, AutomationException
setMetadata
in interface IMetadata
ppPropertySet
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void synchronize(int action, int interval) throws IOException, AutomationException
The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.
The following actions will result in synchronization given each of the listed conditions:
Action | Metadata status | Esri/Sync element | Interval parameter |
---|---|---|---|
esriMSAAccessed | Doesn't matter | Must not be FALSE | Must be less than actual interval |
esriMSAAlways | Doesn't matter | Doesn't matter | Doesn't matter |
esriMSACreated | Must not exist | Must not be FALSE | Must be less than actual interval |
esriMSANotCreated | Must exist | Must not be FALSE | Must be less than actual interval |
esriMSAOverwrite | Doesn't matter | Doesn't matter | Doesn't matter |
The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.
synchronize
in interface IMetadata
action
- A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)interval
- The interval (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanEditMetadata() throws IOException, AutomationException
This property is available to those objects that support metadata.
isCanEditMetadata
in interface IMetadataEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |