com.esri.arcgis.geodatabase
Class GeometryDef

java.lang.Object
  extended by com.esri.arcgis.geodatabase.GeometryDef
All Implemented Interfaces:
IGeometryDef, IGeometryDefEdit, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, IXMLSerialize, Externalizable, Serializable

public class GeometryDef
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IGeometryDef, IGeometryDefEdit, IPersist, IPersistStream, IClone, IXMLSerialize, Externalizable

ESRI Geometry Definition object.

Remarks

The GeometryDef object defines the spatial qualities of a feature class. The most fundmental spatial quality is the Geometry type, for example, point, line, and polygon. Other information necessary to define the feature class includes the spatial referencing system, whether the vertices have height or measure data, and, for geodatabases, the spatial index parameters.

The GeometryDef can be accessed from a shape field, that is a field of type esriFieldTypeGeometry. The actual geometry type is defined by the esriGeometryType enumeration, though currently only four values are acceptable with respect to GeometryDef objects: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, and esriGeometryPolygon.

Beware of the confusion between the esriGeometryType enumeration and the similarly named esriFeatureType and esriShapeType. The following table shows the different roles of those enumerations.

ArcObjects Enumeration Values Interfaces that use the enumeration
esriGeometryType

Type of geometry in a geodatabase. Those in bold are valid for feature classes, others are component geometry objects.
esriGeometryPoint
esriGeometryMultipoint
esriGeometryPolygon
esriGeometryPolyline
esriGeometryLine

esriGeometryCircularArc
esriGeometryEllipticArc
esriGeometryBezier3Curve
esriGeometryPath
esriGeometryNull
esriGeometryRing
esriGeometryEnvelope
esriGeometryAny
esriGeometryBag
esriGeometryMultiPatch
esriGeometryTriangleStrip
esriGeometryTriangleFan
esriGeometryRay
esriGeometrySphere
esriGeometryTriangles
IFeatureClass::ShapeType
IGeometry::GeometryType
IGeometryDef::GeometryType

also
IGeometryDefEdit,
IGeometryFactory,
IEditSketchExtension,
IGridConversionOp,
IDimensionConstructor
esriFeatureType

Feature types defined by
feature class extensions
esriFTSimple
esriFTSimpleJunction
esriFTSimpleEdge
esriFTComplexJunction
esriFTComplexEdge
esriFTAnnotation
esriFTCoverageAnnotation
esriFTDimension
esriFTRasterCatalogItem
IFeature::FeatureType
IFeatureClass::FeatureType
IFeatureClassDescription::FeatureType
IFeatureWorkspace::CreateFeatureClass
IFeatureDataset::CreateFeatureClass

also, IGeometricNetwork and
INetworkLoader
esriShapeType

Type of geometry in a
shapefile
See the help for esriShapeType
for a full list
IFeature::FeatureType
IFeatureClass::FeatureType
IFeatureClassDescription::FeatureType
IFeatureWorkspace::CreateFeatureClass
IFeatureDataset::CreateFeatureClass

also, IGeometricNetwork and
INetworkLoader

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IField, Serialized Form

Constructor Summary
GeometryDef()
          Constructs a GeometryDef using ArcGIS Engine.
GeometryDef(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeometryDef theGeometryDef = (GeometryDef) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 int getAvgNumPoints()
          The estimated average number of points per feature.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 int getGeometryType()
          The enumerated geometry type.
 int getGridCount()
          The number of spatial index grids.
 double getGridSize(int index)
          The size of a spatial index grid.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The spatial reference for the dataset.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isHasM()
          Indicates if the feature class has measure (M) values.
 boolean isHasZ()
          Indicates if the featureClass has Z values.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setAvgNumPoints(int rhs1)
          The estimated average number of points per feature.
 void setGeometryType(int rhs1)
          The geometry type.
 void setGridCount(int rhs1)
          The number of spatial index grids.
 void setGridSize(int index, double rhs2)
          The size of a spatial index grid.
 void setHasM(boolean rhs1)
          Indicates if the feature class will support M values.
 void setHasZ(boolean rhs1)
          Indicates if the feature class will support Z values.
 void setSpatialReferenceByRef(ISpatialReference rhs1)
          The spatial reference of the dataset.
 void writeExternal(ObjectOutput out)
           
 
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

GeometryDef

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

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

GeometryDef

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

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

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

getClsid

public static String getClsid()
getClsid.


equals

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

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getAvgNumPoints

public int getAvgNumPoints()
                    throws IOException,
                           AutomationException
The estimated average number of points per feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAvgNumPoints in interface IGeometryDef
Returns:
The points
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryType

public int getGeometryType()
                    throws IOException,
                           AutomationException
The enumerated geometry type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGeometryType in interface IGeometryDef
Returns:
A com.esri.arcgis.geometry.esriGeometryType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriGeometryType

getGridSize

public double getGridSize(int index)
                   throws IOException,
                          AutomationException
The size of a spatial index grid.

Product Availability

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

Specified by:
getGridSize in interface IGeometryDef
Parameters:
index - The index (in)
Returns:
The size
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGridCount

public int getGridCount()
                 throws IOException,
                        AutomationException
The number of spatial index grids.

Remarks

Personal geodatabase feature classes only support one spatial index. Any additional indexes will be ignored. File and ArcSDE geodatabase feature classes support up to 3 spatial indexes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGridCount in interface IGeometryDef
Returns:
The grids
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference for the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeometryDef
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasZ

public boolean isHasZ()
               throws IOException,
                      AutomationException
Indicates if the featureClass has Z values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasZ in interface IGeometryDef
Returns:
The hasZ
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasM

public boolean isHasM()
               throws IOException,
                      AutomationException
Indicates if the feature class has measure (M) values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasM in interface IGeometryDef
Returns:
The hasM
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAvgNumPoints

public void setAvgNumPoints(int rhs1)
                     throws IOException,
                            AutomationException
The estimated average number of points per feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setGeometryType

public void setGeometryType(int rhs1)
                     throws IOException,
                            AutomationException
The geometry type.

Remarks

The following are valid Geometry types for a new feature class (from esriGeometryType):

esriGeometryPoint

esriGeometryMultipoint

esriGeometryPolyline

esriGeometryPolygon

esriGeometryMultiPatch

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setGeometryType in interface IGeometryDefEdit
Parameters:
rhs1 - A com.esri.arcgis.geometry.esriGeometryType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriGeometryType

setGridSize

public void setGridSize(int index,
                        double rhs2)
                 throws IOException,
                        AutomationException
The size of a spatial index grid.

Product Availability

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

Specified by:
setGridSize in interface IGeometryDefEdit
Parameters:
index - The index (in)
rhs2 - The rhs2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGridCount

public void setGridCount(int rhs1)
                  throws IOException,
                         AutomationException
The number of spatial index grids.

Remarks

GridCount specifies the number of spatial index grids. Personal Geodatabase feature classes only support one spatial index. Any additional indexes will be ignored. File and ArcSDE Geodatabase feature classes support up to 3 spatial indexes. Each additional index must be larger than the previous index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference rhs1)
                              throws IOException,
                                     AutomationException
The spatial reference of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setHasZ

public void setHasZ(boolean rhs1)
             throws IOException,
                    AutomationException
Indicates if the feature class will support Z values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setHasM

public void setHasM(boolean rhs1)
             throws IOException,
                    AutomationException
Indicates if the feature class will support M values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

Specified by:
esri_clone in interface IClone
Returns:
A reference to a com.esri.arcgis.system.IClone
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
assign in interface IClone
Parameters:
src - A reference to a com.esri.arcgis.system.IClone (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Indicates if the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Indicates if the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
serialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException