|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IFeature
Provides access to members that return and set properties of a feature.
Features are spatial Objects. They are contained in a feature class in the same way that a row is contained in a table, and an object is contained in an object class. A feature has an associated shape, the type of which is defined by the feature class. The possible shape objects are Point, Multipoint, Multipatch, Polyline, and Polygon - these are all objects in the Geometry library. For more details, see the IGeometryDef interface.
One thing to note is that all features still have the same core geometry types of point, multipoint, polyline, polygon and multipatch; an example of this is the annotation feature, whose geometry type is polygon - this represents the envelope of the text element.
The IFeature interface extends the IObject and IRow interfaces, and as such, the documentation for those interfaces applies to this interface. The additional functionality relates to the features' shapes, accessed and set through the Shape property. This can be much more convenient than the alternative of using the Value property, since you don’t have to determine the index of the shape field. The Shape property is the main link in ArcObjects between the geometry and geodatabase object models.
The ShapeCopy property is a cloned copy of the feature’s Shape. When modifying the geometry of a feature or a set of features, use the ShapeCopy property to obtain a copy of the feature's geometry, perform the modification on the geometries, then apply the modifications by setting the geometry to the Shape property.
There are several Feature subclasses which can also be accessed using the IFeature interface. These include annotation, dimension, and network features.
IFeatureClass.getShapeFieldName()
,
IFeatureClass.getAreaField()
,
IFeatureClass.getLengthField()
,
IFeatureClass.createFeatureBuffer()
,
IFeatureClass.createFeature()
Method Summary | |
---|---|
IEnvelope |
getExtent()
The extent of the feature. |
int |
getFeatureType()
The type of the feature. |
IGeometry |
getShape()
A reference to the default shape for the feature. |
IGeometry |
getShapeCopy()
A cloned copy of the default shape for the feature. |
void |
setShapeByRef(IGeometry shape)
A reference to the default shape for the feature. |
Methods inherited from interface com.esri.arcgis.geodatabase.IObject |
---|
esri_getClass |
Methods inherited from interface com.esri.arcgis.geodatabase.IRow |
---|
delete, getOID, getTable, isHasOID, store |
Methods inherited from interface com.esri.arcgis.geodatabase.IRowBuffer |
---|
getFields, getValue, setValue |
Method Detail |
---|
IGeometry getShapeCopy() throws IOException, AutomationException
The ShapeCopy property is a cloned copy of the feature’s Shape. When modifying the geometry of a feature or a set of features, use the ShapeCopy property to obtain a copy of the feature's geometry, perform the modification on the geometries, then apply the modifications by setting the geometry to the Shape property.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IGeometry getShape() throws IOException, AutomationException
The basic process to change the shape of a feature is:
1) Get the feature's existing geometry through IFeature.ShapeCopy or create a new geometry
2) Modify the geometry
3) Set the feature's geometry using IFeature.Shape
4) Store the feature
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setShapeByRef(IGeometry shape) throws IOException, AutomationException
shape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnvelope getExtent() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getFeatureType() throws IOException, AutomationException
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 |