|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.FeatureDataset
public class FeatureDataset
ESRI Feature Dataset object.
Feature classes that store simple features can be organized either inside or outside a feature dataset. Those outside a feature dataset are called standalone feature classes. Feature classes which store topological features, for example those participating in geometric networks, must be contained within a feature dataset to ensure a common spatial reference.
A FeatureDataset is a dataset that exists only in a geodatabase workspace and all the datasets contained in the FeatureDataset are also part of the same geodatabase. When programming with feature classes, you need to remember that the feature class may or may not belong to a feature dataset.
Each dataset in a geodatabase must have a unique name. In particular, each feature class in a geodatabase must have a unique name, independent of its containing feature dataset. Note that this is different from a file system model where two folders may contain files with the same local name within the folder.
Constructor Summary | |
---|---|
FeatureDataset(Object obj)
Construct a FeatureDataset using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
void |
addDataset(IDataset datasetToAdd)
Adds a dataset to the dataset collection. |
void |
addRelationshipClass(IRelationshipClass relationshipClass)
Transfers ownership of a relationship class to this container. |
void |
alterSpatialReference(ISpatialReference spatialReference)
Alters the spatial reference of the dataset to match the coordinate system of the input spatial reference, does not reproject the data. |
void |
analyze(int tableComponents)
Analyze the data to update/generate DBMS statistics. |
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. |
IFeatureClass |
createFeatureClass(String name,
IFields fields,
IUID cLSID,
IUID eXTCLSID,
int featureType,
String shapeFieldName,
String configKeyword)
Creates a new FeatureClass in this FeatureDataset. |
IGeometricNetwork |
createGeometricNetwork(String name,
int networkType,
boolean buildNormalizedTables)
Creates a new GeometricNetwork in this FeatureDataset. |
IGeometricNetwork |
createGeometricNetworkEx(String name,
int networkType,
boolean buildNormalizedTables,
String configKeyword,
int formatNum)
Creates a new GeometricNetwork with a configuration keyword in this FeatureDataset. |
IRelationshipClass |
createRelationshipClass(String relClassName,
IObjectClass originClass,
IObjectClass destinationClass,
String forwardLabel,
String backwardLabel,
int cardinality,
int notification,
boolean isComposite,
boolean isAttributed,
IFields relAttrFields,
String originPrimaryKey,
String destPrimaryKey,
String originForeignKey,
String destForeignKey)
Creates a new relationship class in this container. |
ITopology |
createTopology(String name,
double clusterTolerance,
int maxGeneratedErrorCount,
String configurationKeyword)
Creates a new topology. |
ITopology |
createTopologyEx(String name,
double clusterTolerance,
double zClusterTolerance,
int maxGeneratedErrorCount,
String configurationKeyword)
Creates a new topology. |
void |
delete()
Deletes this dataset. |
boolean |
equals(Object o)
Compare this object with another |
IFeatureClass |
esri_getClass(int classIndex)
The FeatureClass associated with the specified index value. |
IFeatureDatasetExtension |
findExtension(int type)
Provides access to the feature dataset extension that supports the specified dataset type. |
int |
getAllowableComponents()
The allowable components to be analyzed. |
String |
getBrowseName()
The browse name of the dataset. |
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. |
void |
getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
The list of current locks. |
double |
getDefaultClusterTolerance()
The default cluster tolerance as per the topology engine. |
double |
getDefaultZClusterTolerance()
The default z cluster tolerance as per the topology engine. |
IFeatureDatasetExtension |
getExtension(int index)
Provides access to a feature dataset extension. |
int |
getExtensionCount()
The number of feature dataset extensions. |
IEnvelope |
getExtent()
The extent of the GeoDataset. |
int |
getFormatNumber(int index)
The specified format number. |
int |
getFormatNumberCount()
The count of valid format numbers. |
IName |
getFullName()
The associated name object. |
IGeometricNetwork |
getGeometricNetwork(int index)
The GeometricNetwork associated with the specified index value. |
IGeometricNetwork |
getGeometricNetworkByName(String name)
The GeometricNetwork with the specified Name. |
int |
getGeometricNetworkCount()
The number of GeometricNetworks in this FeatureDataset. |
double |
getMaximumClusterTolerance()
The maximal cluster tolerance as per the topology engine. |
double |
getMaximumZClusterTolerance()
The maximal z cluster tolerance as per the topology engine. |
int |
getMaxStorableClassID(int formatNum)
Returns the maximum storable feature class ID for the given format number. |
double |
getMinimumClusterTolerance()
The minimal cluster tolerance as per the topology engine. |
double |
getMinimumZClusterTolerance()
The minimal z cluster tolerance as per the topology engine. |
String |
getName()
The name of the Dataset. |
IPropertySet |
getPropertySet()
The set of properties for the dataset. |
IEnumRelationshipClass |
getRelationshipClasses()
An enumerator over the RelationshipClasses in this container. |
ISpatialReference |
getSpatialReference()
The spatial reference of the GeoDataset. |
IEnumDataset |
getSubsets()
Datasets contained within this dataset. |
ITopology |
getTopology(int index)
The topology at the specified index. |
ITopology |
getTopologyByID(int iD)
The topology with the specified ID. |
ITopology |
getTopologyByName(String name)
The topology with the specified name. |
int |
getTopologyCount()
The number of topologies in the container. |
int |
getType()
The type of the Dataset. |
IWorkspace |
getWorkspace()
The workspace containing this dataset. |
int |
hashCode()
the hashcode for this object |
boolean |
isBeingEdited()
True if the dataset is being edited. |
boolean |
isCanAlterSpatialReference()
Indicates if the spatial reference of the dataset can be altered. |
boolean |
isCanEdit()
True if the dataset supports edit sessions with the ability to discard edits on save. |
boolean |
isCanRedo()
True if the dataset supports edit sessions with the ability to redo undone operations. |
boolean |
isCanUndo()
True if the dataset supports edit sessions with the ability to undo individual edit operations. |
void |
rename(String name)
Renames this Dataset. |
void |
setBrowseName(String name)
The browse name of the dataset. |
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 FeatureDataset(Object obj) throws IOException
obj
to FeatureDataset
. *
FeatureDataset o = (FeatureDataset)obj; // will not work
FeatureDataset o = new FeatureDataset(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
FeatureDataset theFeatureDataset = (FeatureDataset) 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 boolean isCanEdit() throws IOException, AutomationException
This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.
isCanEdit
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanUndo() throws IOException, AutomationException
isCanUndo
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanRedo() throws IOException, AutomationException
isCanRedo
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void analyze(int tableComponents) throws IOException, AutomationException
When applied to a feature dataset, Analyze updates the statistics for all of the tables.
analyze
in interface IDatasetAnalyze
tableComponents
- The tableComponents (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getAllowableComponents() throws IOException, AutomationException
The AllowableComponents property indicates which parts of the table or feature class can be analyzed. The returned value is based on the esriTableComponents enumeration. Members from this enumeration can be bitwise or’d together.
getAllowableComponents
in interface IDatasetAnalyze
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 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
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 boolean isCanAlterSpatialReference() throws IOException, AutomationException
isCanAlterSpatialReference
in interface IGeoDatasetSchemaEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterSpatialReference(ISpatialReference spatialReference) throws IOException, AutomationException
alterSpatialReference
in interface IGeoDatasetSchemaEdit
spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass createFeatureClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, int featureType, String shapeFieldName, String configKeyword) throws IOException, AutomationException
Use the CreateFeatureClass method in the IFeatureDataset interface to create a new feature class within a FeatureDataset. The arguments to this method are the same as to the CreateFeatureClass method in IFeatureWorkspace. However, this method requires that the spatial reference specified for the feature class to be created match the spatial reference of the feature dataset. Note that the spatial reference for the feature class to be created is specified in the GeometryDef property of the Field object for the Shape field in the supplied Fields collection. The GeometryDef object must be fully set up with information on both the spatial reference (the projected or geographic coordinate system, vertical coordinate system, the coordinate domains and the coordinate resolution values), and the spatial index for the shape Field before calling CreateFeatureClass.
The following are valid Geometry types for a new feature class (from esriGeometryType) and are set on the GeometryDef object:
esriGeometryPoint
esriGeometryMultipoint
esriGeometryPolyline
esriGeometryPolygon
esriGeometryMultiPatch
If the FeatureWorkspace the FeatureClass is being created in is a Geodatabase workspace then at a minimum the Fields object must contain the the required fields. The required fields can be obtained from the class description for the type of object you wish to create (see the RequiredFields property on IObjectClassDescription).
The Fields object passed to the Fields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.
The optional CLSID parameter is used to specify what GUID to use to instantiate the object representing a feature in that FeatureClass. If "Nothing" is passed in for the CLSID, the GeoDatabase will use the CLSID corresponding to esriGeoDatabase.Feature. This is OK in most instances. If you know the FeatureClass has a custom Feature other than esriGeoDatabase.Feature, you can pass in it's GUID at this time or later call methods on the FeatureClass's IClassSchemaEdit interface.
The optional EXTCLSID parameter specifies the GUID to use to instantiate the object representing the FeatureClassExtension. This object must at least support the IClassExtension interface. If you pass in "Nothing" for the EXTCLSID, the newly created FeatureClass will not have a ClassExtension. Since ClassExtensions are not required, this is generally OK, unless the FeatureClass is for annotation, dimension lines or a custom FeatureClass that requires a ClassExtension. If you know the FeatureClass has a ClassExtension and you know the GUID for the ClassExtension, you can pass it in at this time or later call methods on the FeatureClass's IClassSchemaEdit interface.
The optional configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS—for example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. 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.
Note: Table or feature class names with the following prefixes are not supported:
createFeatureClass
in interface IFeatureDataset
name
- The name (in)fields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)cLSID
- A reference to a com.esri.arcgis.system.IUID (in)eXTCLSID
- A reference to a com.esri.arcgis.system.IUID (in)featureType
- A com.esri.arcgis.geodatabase.esriFeatureType constant (in)shapeFieldName
- The shapeFieldName (in)configKeyword
- The configKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getGeometricNetworkCount() throws IOException, AutomationException
getGeometricNetworkCount
in interface INetworkCollection
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometricNetwork getGeometricNetwork(int index) throws IOException, AutomationException
getGeometricNetwork
in interface INetworkCollection
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometricNetwork getGeometricNetworkByName(String name) throws IOException, AutomationException
getGeometricNetworkByName
in interface INetworkCollection
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometricNetwork createGeometricNetwork(String name, int networkType, boolean buildNormalizedTables) throws IOException, AutomationException
createGeometricNetwork
in interface INetworkCollection
name
- The name (in)networkType
- A com.esri.arcgis.geodatabase.esriNetworkType constant (in)buildNormalizedTables
- The buildNormalizedTables (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFormatNumberCount() throws IOException, AutomationException
The FormatNumberCount will return the count of the currently implemented formats. Use FormatNumberCount - 1 to iterate through FormatNumber.
getFormatNumberCount
in interface INetworkCollection2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFormatNumber(int index) throws IOException, AutomationException
getFormatNumber
in interface INetworkCollection2
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxStorableClassID(int formatNum) throws IOException, AutomationException
getMaxStorableClassID
in interface INetworkCollection2
formatNum
- The formatNum (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometricNetwork createGeometricNetworkEx(String name, int networkType, boolean buildNormalizedTables, String configKeyword, int formatNum) throws IOException, AutomationException
createGeometricNetworkEx
in interface INetworkCollection2
name
- The name (in)networkType
- A com.esri.arcgis.geodatabase.esriNetworkType constant (in)buildNormalizedTables
- The buildNormalizedTables (in)configKeyword
- The configKeyword (in)formatNum
- The formatNum (in)
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
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRelationshipClass getRelationshipClasses() throws IOException, AutomationException
getRelationshipClasses
in interface IRelationshipClassContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRelationshipClass createRelationshipClass(String relClassName, IObjectClass originClass, IObjectClass destinationClass, String forwardLabel, String backwardLabel, int cardinality, int notification, boolean isComposite, boolean isAttributed, IFields relAttrFields, String originPrimaryKey, String destPrimaryKey, String originForeignKey, String destForeignKey) throws IOException, AutomationException
createRelationshipClass
in interface IRelationshipClassContainer
relClassName
- The relClassName (in)originClass
- A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)destinationClass
- A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)forwardLabel
- The forwardLabel (in)backwardLabel
- The backwardLabel (in)cardinality
- A com.esri.arcgis.geodatabase.esriRelCardinality constant (in)notification
- A com.esri.arcgis.geodatabase.esriRelNotification constant (in)isComposite
- The isComposite (in)isAttributed
- The isAttributed (in)relAttrFields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)originPrimaryKey
- The originPrimaryKey (in)destPrimaryKey
- The destPrimaryKey (in)originForeignKey
- The originForeignKey (in)destForeignKey
- The destForeignKey (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addRelationshipClass(IRelationshipClass relationshipClass) throws IOException, AutomationException
addRelationshipClass
in interface IRelationshipClassContainer
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addDataset(IDataset datasetToAdd) throws IOException, AutomationException
When calling this method on feature datasets, both the XY and Z spatial reference systems of the dataset (if applicable) must match those of the feature dataset.
addDataset
in interface IDatasetContainer
datasetToAdd
- A reference to a com.esri.arcgis.geodatabase.IDataset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology createTopologyEx(String name, double clusterTolerance, double zClusterTolerance, int maxGeneratedErrorCount, String configurationKeyword) throws IOException, AutomationException
The CreateTopologyEx method creates a topology with the specified name, cluster tolerance, maximum allowable number of errors to be generated, Z cluster tolerance and for ArcSDE, with the supplied configuration keyword. When a topology is initially created, it is empty with no participating feature classes or rules.
The ITopologyContainer::DefaultClusterTolerance property should be used to return the default or recommended cluster tolerance for a topology. The ITopologyContainer::MaximumClusterTolerance property can be used to return the maximum cluster tolerance for a topology. You cannot specify a cluster tolerance larger than the maximum or smaller than the minimum or default cluster tolerance. As such, if the specified cluster tolerance is less than the DefaultClusterTolerance for the feature dataset, then the Topology will be created with the default cluster tolerance value. If the specified cluster tolerance is larger than the MaximumClusterTolerance, the topology will be created with the maximum cluster tolerance.
The maxGeneratedErrorCount parameter specifies the maximum number of errors validate will generate before stopping. Setting a value of -1 indicates there is no limit to the number of errors that will be generated.
The configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS—for example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. 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. The configurationKeyword parameter is not mandatory when building a topology in an ArcSDE Geodatabase, an empty string can be specified, in which case the topology will be built using the default configuration. For more information on configuration keywords, refer to the ArcSDE documentation.
The ITopologyContainer2::DefaultZClusterTolerance property can be used to return the default Z cluster tolerance. The default Z cluster tolerance for all topologies is 0, indicating that the topology will support the Building model. The ITopologyContainer2::MaximumZClusterTolerance property can be used to return the maximum Z cluster tolerance for a topology. The maximum Z cluster tolerance will be equal to the maximum Z - minimum Z of the spatial domain from the feature dataset. Supplying a Z cluster tolerance value greater than 0 will create a topology that supports the Terrain model.
You cannot specify a Z cluster tolerance larger than the maximum or smaller than the minimum or default Z cluster tolerance. As such, if the specified Z cluster tolerance is less than the DefaultZClusterTolerance for the feature dataset, then the topology will be created with the default Z cluster tolerance value. If the specified Z cluster tolerance is larger than the MaximumZClusterTolerance , the topology will be created with the maximum Z cluster tolerance.
When using the CreateTopologyEx method to create a topology within a geodatabase that does not support Z cluster tolerances (geodatabases created pre-9.0), the ZClusterTolerance should be set to -1.
createTopologyEx
in interface ITopologyContainer2
name
- The name (in)clusterTolerance
- The clusterTolerance (in)zClusterTolerance
- The zClusterTolerance (in)maxGeneratedErrorCount
- The maxGeneratedErrorCount (in)configurationKeyword
- The configurationKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getDefaultZClusterTolerance() throws IOException, AutomationException
Returns the default Z cluster tolerance as generated by the topology engine, which will be 0 signifying that the topology will support the Building cluster tolerance model. Currently this is the same as the MinimumClusterTolerance.
getDefaultZClusterTolerance
in interface ITopologyContainer2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMinimumZClusterTolerance() throws IOException, AutomationException
Returns the minimum Z cluster tolerance for the topology.
getMinimumZClusterTolerance
in interface ITopologyContainer2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMaximumZClusterTolerance() throws IOException, AutomationException
Returns the maximum Z cluster tolerance for the topology. This value will the maximum Z - minimum Z from the spatial domain of the feature dataset containing the topology.
getMaximumZClusterTolerance
in interface ITopologyContainer2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology getTopology(int index) throws IOException, AutomationException
getTopology
in interface ITopologyContainer
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology getTopologyByName(String name) throws IOException, AutomationException
getTopologyByName
in interface ITopologyContainer
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology getTopologyByID(int iD) throws IOException, AutomationException
getTopologyByID
in interface ITopologyContainer
iD
- The iD (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTopologyCount() throws IOException, AutomationException
The number of Topologies in this container (FeatureDataset).
getTopologyCount
in interface ITopologyContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology createTopology(String name, double clusterTolerance, int maxGeneratedErrorCount, String configurationKeyword) throws IOException, AutomationException
The CreateTopology method creates a topology with the specified name, cluster tolerance, maximum allowable number of errors to be generated and for ArcSDE, with the supplied configuation keyword. When a topology is initially created, it is empty with no participating feature classes or rules.
The ITopologyContainer::DefaultClusterTolerance property should be used to return the default or recommended cluster tolerance for a topology. The ITopologyContainer::MaximumClusterTolerance property can be used to return the maximum cluster tolerance for a topology. You cannot specify a cluster tolerance larger than the maximum or smaller than the minimum or default cluster tolerance. As such, if the specified cluster tolerance is less than the DefaultClusterTolerance for the feature dataset, then the Topology will be created with the default cluster tolerance value. If the specified cluster tolerance is larger than the MaximumClusterTolerance, the topology will be created with the maximum cluster tolerance.
Using the CreateTopology method to create a topology within a geodatabase that supports Z cluster tolerances, will result in a topology with a ZClusterTolerance of 0.
Starting at version 9.2, cluster tolerance values should match the feature dataset's tolerance values.
The maxGeneratedErrorCount parameter specifies the maximum number of errors validate will generate before stopping. Setting a value of -1 indicates there is no limit to the number of errors that will be generated.
The configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS—for example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. 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. The configurationKeyword parameter is not mandatory when building a topology in an ArcSDE Geodatabase, an empty string can be specified, in which case the topology will be built using the default configuration.
createTopology
in interface ITopologyContainer
name
- The name (in)clusterTolerance
- The clusterTolerance (in)maxGeneratedErrorCount
- The maxGeneratedErrorCount (in)configurationKeyword
- The configurationKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getDefaultClusterTolerance() throws IOException, AutomationException
Returns the "default" cluster tolerance as generated by the topology engine. Currently this is the same as the MinimumClusterTolerance.
getDefaultClusterTolerance
in interface ITopologyContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMinimumClusterTolerance() throws IOException, AutomationException
Returns the minimum cluster tolerance for the topology.
getMinimumClusterTolerance
in interface ITopologyContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMaximumClusterTolerance() throws IOException, AutomationException
Returns the maximum cluster tolerance for the topology. This value will be six orders of magnitude (10^6) greater than the minimum cluster tolerance. For example, if the minimum cluster tolerance is 0.0000020407, the maximum cluster tolerance will be 0.20407.
getMaximumClusterTolerance
in interface ITopologyContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getExtensionCount() throws IOException, AutomationException
ExtensionCount returns the number of feature dataset extensions associated with the feature dataset.
getExtensionCount
in interface IFeatureDatasetExtensionContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDatasetExtension getExtension(int index) throws IOException, AutomationException
getExtension
in interface IFeatureDatasetExtensionContainer
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDatasetExtension findExtension(int type) throws IOException, AutomationException
The FindExtension method returns the feature dataset extension for the specified dataset type. Use this method to return a reference to the IDatasetContainer2 interface for working with and creating Network Datasets.
findExtension
in interface IFeatureDatasetExtensionContainer
type
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
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 |