com.esri.arcgis.geometry
Class Envelope

java.lang.Object
  extended by com.esri.arcgis.geometry.Envelope
All Implemented Interfaces:
IArea, IArea3D, IEnvelope, IEnvelope2, IEnvelope3D, IEnvelope4, IEnvelopeGEN, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, IHitTest, IHitTest3D, IMAware, IProximityOperator, IProximityOperator3D, IRelationalOperator, IRelationalOperator2, IRelationalOperator3D, IRelationalOperator3D2, ITransform2D, IVolume, IZAware, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, ISupportErrorInfo, IXMLSerialize, Externalizable, Serializable

public class Envelope
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IEnvelopeGEN, IEnvelope, IEnvelope2, IEnvelope4, IMAware, IZAware, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, IArea, IArea3D, IVolume, IProximityOperator, ITransform2D, IRelationalOperator, IRelationalOperator2, IHitTest, IHitTest3D, ISupportErrorInfo, IPersist, IPersistStream, IClone, IXMLSerialize, IProximityOperator3D, IRelationalOperator3D, IRelationalOperator3D2, IEnvelope3D, Externalizable

A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.

Description

The Envelope coclass defines a rectangular shape by its minimum and maximum x,y coordinates. Therefore, an Envelope is always orthogonal to its SpatialReference. An Envelope may also define minimum and maximum z- and m-values, depending on the implemented IZAware and IMAware interfaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
Envelope()
          Constructs a Envelope using ArcGIS Engine.
Envelope(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Envelope theEnvelope = (Envelope) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void centerAt(IPoint p)
          Moves this envelope so it is centered at p.
 boolean contains(IGeometry other)
          Indicates if this geometry contains the other geometry.
 boolean containsEx(IGeometry pOther, int relation)
          Indicates if this geometry contains the other geometry, optionally using Celementini's definition.
 boolean crosses(IGeometry other)
          Indicates if the two geometries intersect in a geometry of lesser dimension.
 void defineFromPoints(int count, IPoint points)
          Defines the envelope to cover all the points.
 void defineFromPoints(IPoint[] points)
          Defines the envelope to cover all the points.
 void defineFromWKSPoints(_WKSPoint[] wksPoints)
          Defines the envelope to cover all the points.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean disjoint(IGeometry other)
          Indicates if the two geometries share no points in common.
 boolean disjoint3D(IGeometry pOther)
          Indicates if the two geometries share no points in common.
 void dropMs()
          Sets all the M values to a non-valid number (NaN).
 void dropZs()
          Sets all the Z values to a non-valid number (NaN).
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 boolean esri_equals(IGeometry other)
          Indicates if the two geometries are of the same type and define the same set of points in the plane.
 void expand(double dx, double dy, boolean asRatio)
          Moves the X and Y coordinates of the sides toward or away from each other.
 void expandM(double dm, boolean asRatio)
          Moves the measure of the sides toward or away from each other.
 void expandZ(double dz, boolean asRatio)
          Moves the Z attribute of the sides toward or away from each other.
 void geoNormalize()
          Shifts longitudes, if need be, into a continuous range of 360 degrees.
 void geoNormalizeFromLongitude(double longitude)
          Normalizes longitudes into a continuous range containing the longitude.
 double getArea()
          The area.
 double getArea3D()
          The 3D surface area.
 IPoint getCentroid()
          The center of gravity (centroid).
 IPoint getCentroid3D()
          A 3D point whose XY coordinates are set to the center of gravity of the shape’s 2D footprint and Z set to the shape’s ZMax.
 IPoint getCentroidEx()
          The center of gravity (centroid).
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 double getDepth()
          The depth of the envelope.
 int getDimension()
          The topological dimension of this geometry.
 IEnvelope getEnvelope()
          Creates a copy of this geometry's envelope and returns it.
 int getGeometryType()
          The type of this geometry.
 double getHeight()
          The height of the envelope.
 IPoint getLabelPoint()
          A point guaranteed to be inside this area.
 IPoint getLabelPoint3D()
          A point guaranteed to be on this 3D surface area.
 IPoint getLowerLeft()
          The lower left corner.
 IPoint getLowerRight()
          The lower right corner.
 double getMMax()
          The maximum measure value in the area of the envelope.
 double getMMin()
          The minimum measure value in the area of the envelope.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The spatial reference associated with this geometry.
 IPoint getUpperLeft()
          The upper left corner.
 IPoint getUpperRight()
          The upper right corner.
 double getVolume()
          The enclosed 3D volume.
 double getWidth()
          The width of the envelope.
 double getXMax()
          The position of the right side.
 double getXMin()
          The position of the left side.
 double getYMax()
          The position of the top.
 double getYMin()
          The position of the bottom.
 double getZMax()
          The maximum Z value in the area of the envelope.
 double getZMin()
          The minimum Z value in the area of the envelope.
 int hashCode()
          the hashcode for this object
 boolean hitTest(IPoint queryPoint, double searchRadius, int geometryPart, IPoint hitPoint, double[] hitDistance, int[] hitPartIndex, int[] hitSegmentIndex, boolean[] bRightSide)
          Locates a part of a geometry closest to a query point.
 boolean hitTest3D(IPoint queryPoint, double searchRadius, int geometryPart, IPoint hitPoint, double[] hitDistance, int[] hitPartIndex, int[] hitSegmentIndex)
          Locates a part of a geometry closest to a query point.
 boolean hitTestCone(IRay pQueryRay, double minAngle, int geometryPart, IPoint pHitPoint, double[] pHitDistance, int[] pHitPartIndex, int[] pHitSegmentIndex)
          Locates a part of a geometry closest to a query ray.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void intersect(IEnvelope inEnvelope)
          Adjusts to include only the area also included by inEnvelope.
 void intersect3D(IEnvelope inEnvelope)
          Adjusts to include only the volume also included by inEnvelope.
 boolean isChanged()
          Indicates if a geometry has been changed (edited, projected, etc).
 void isDirty()
          isDirty
 boolean isEmpty()
          Indicates whether this geometry contains any points.
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isMAware()
          Indicates whether or not the geometry is aware of and capable of handling Ms.
 boolean isMSimple()
          Indicates if all the Ms are valid numbers.
 boolean isNear(IGeometry pOther, double distance)
          Indicates if this geometry is within distance from the other geometry.
 boolean isNear3D(IGeometry pOther, double distance)
          Indicates if this geometry is within distance from the other geometry; both geometries must have Zs.
 boolean isZAware()
          Indicates whether or not the geometry is aware of and capable of handling Zs.
 boolean isZSimple()
          Indicates if all the Zs are valid numbers.
 void load(IStream pstm)
          load
 void move(double dx, double dy)
          Moves dx units horizontally and dy units vertically.
 void moveVector(ILine v)
          Moves a direction and distance v.
 void offset(double x, double y)
          Moves the sides x units horizontally and y units vertically.
 void offsetM(double m)
          Moves the sides m units.
 void offsetZ(double z)
          Moves the sides z units.
 boolean overlaps(IGeometry other)
          Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.
 void project(ISpatialReference newReferenceSystem)
          Projects this geometry into a new spatial reference.
 void project5(ISpatialReference newSpatialReference, int projectionHint)
          Same as Project, but with additional parameter projectionHint.
 void projectEx(ISpatialReference newReferenceSystem, int direction, IGeoTransformation geoTransformation, boolean bAngularDensify, double maxSegmentLength, double maxDeviation)
          Projects a geometry, optionally applies a GeoTransformation, and optionally densifies the geometry.
 void projectEx5(ISpatialReference newReferenceSystem, int direction, ITransformation transformation, boolean bAngularDensify, double maxSegmentLength, double maxDeviation, int projectionHint)
          Same as ProjectEx, but with additional parameter projectionHint.
 void putCoords(double xMin, double yMin, double xMax, double yMax)
          Constructs an envelope from the coordinate values of lower, left and upper, right corners.
 void putMCoords(double mMin, double mMax)
          Sets the minimum and maximum M values simultaneously.
 void putWKSCoordsZ(_WKSEnvelopeZ e)
          Copies e's 3D dimensions into this envelope.
 void putZCoords(double zMin, double zMax)
          Sets the minimum and maximum Z values simultaneously.
 void queryCentroid(IPoint center)
          Copies the centroid of this area to the specified point.
 void queryCentroid3D(IPoint center)
          Copies the centroid of this 3D surface area to the specified point.
 void queryCoords(double[] xMin, double[] yMin, double[] xMax, double[] yMax)
          Returns the coordinates of lower, left and upper, right corners.
 void queryEnvelope(IEnvelope outEnvelope)
          Copies this geometry's envelope properties into the specified envelope.
 void queryLabelPoint(IPoint labelPoint)
          Copies to the input point a point guaranteed to be inside this area.
 void queryLabelPoint3D(IPoint labelPoint)
          Copies to the input point a point guaranteed to be on this 3D surface area.
 void queryMCoords(double[] mMin, double[] mMax)
          Queries the minimum and maximum M values simultaneously.
 void queryNearestPoint(IPoint p, int extension, IPoint nearest)
          Copies into 'nearest' a point on this geometry nearest to the input point.
 void queryNearestPoint3D(IPoint pInP, int extension, IPoint pNearest)
          Copies into 'nearest' a point on this geometry nearest to the input point.
 void queryWKSCoordsZ(_WKSEnvelopeZ[] e)
          Defines the specified 3D wksenvelope to be the current extent of this geometry in 3 dimension.
 void queryWKSEnvelope(_WKSEnvelope[] e)
          Defines the specified wksenvelope to be the current extent of this geometry in the x-y plane.
 void queryZCoords(double[] zMin, double[] zMax)
          Queries the minimum and maximum Z values simultaneously.
 void readExternal(ObjectInput in)
           
 boolean relation(IGeometry other, String relationDescription)
          Indicates if the defined relationship exists.
 double returnDistance(IGeometry other)
          Returns the minimum distance between two geometries.
 double returnDistance3D(IGeometry pOther)
          Returns the minimal distance between two geometries.
 IPoint returnNearestPoint(IPoint p, int extension)
          Creates and returns a point on this geometry nearest to the input point.
 IPoint returnNearestPoint3D(IPoint pInP, int extension)
          Creates and returns a point on this geometry nearest to the input point.
 void rotate(IPoint origin, double rotationAngle)
          Rotates about the specified origin point.
 void save(IStream pstm, int fClearDirty)
          save
 void scale(IPoint origin, double sx, double sy)
          Scales about the specified origin using seperate horizonal and vertical scales.
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setChanged(boolean isChanged)
          Indicates if a geometry has been changed (edited, projected, etc).
 void setDepth(double depth)
          The depth of the envelope.
 void setEmpty()
          Removes all points from this geometry.
 void setHeight(double height)
          The height of the envelope.
 void setLowerLeft(IPoint lowerLeft)
          The lower left corner.
 void setLowerRight(IPoint lowerRight)
          The lower right corner.
 void setMAware(boolean mAware)
          Indicates whether or not the geometry is aware of and capable of handling Ms.
 void setMMax(double mMax)
          The maximum measure value in the area of the envelope.
 void setMMin(double mMin)
          The minimum measure value in the area of the envelope.
 void setSpatialReferenceByRef(ISpatialReference spatialRef)
          The spatial reference associated with this geometry.
 void setUpperLeft(IPoint upperLeft)
          The upper left corner.
 void setUpperRight(IPoint upperRight)
          The upper right corner.
 void setWidth(double width)
          The width of the envelope.
 void setXMax(double xMax)
          The position of the right side.
 void setXMin(double xMin)
          The position of the left side.
 void setYMax(double yMax)
          The position of the top.
 void setYMin(double yMin)
          The position of the bottom.
 void setZAware(boolean zAware)
          Indicates whether or not the geometry is aware of and capable of handling Zs.
 void setZMax(double zMax)
          The maximum Z value in the area of the envelope.
 void setZMin(double zMin)
          The minimum Z value in the area of the envelope.
 void snapToSpatialReference()
          Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.
 boolean touches(IGeometry other)
          Indicates if the boundaries of the geometries intersect.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 void union(IEnvelope inEnvelope)
          Adjusts to overlap inEnvelope.
 void union3D(IEnvelope inEnvelope)
          Adjusts to encapsulate inEnvelope.
 boolean within(IGeometry other)
          Indicates if this geometry is contained (is within) another geometry.
 boolean withinEx(IGeometry pOther, int relation)
          Indicates if this geometry contains the other geometry, optionally using Celementini's definition.
 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

Envelope

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

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

Envelope

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

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

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

defineFromWKSPoints

public void defineFromWKSPoints(_WKSPoint[] wksPoints)
                         throws IOException,
                                AutomationException
Defines the envelope to cover all the points.

Description

Please see the DefineFromWKSPoints method of IEnvelope for more details

Product Availability

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

Specified by:
defineFromWKSPoints in interface IEnvelopeGEN
Parameters:
wksPoints - A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineFromPoints

public void defineFromPoints(IPoint[] points)
                      throws IOException,
                             AutomationException
Defines the envelope to cover all the points.

Description

Please see the DefineFromPoints method of IEnvelope for more details

Product Availability

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

Specified by:
defineFromPoints in interface IEnvelopeGEN
Parameters:
points - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWidth

public double getWidth()
                throws IOException,
                       AutomationException
The width of the envelope.

Description

refer to the Width property of IEnvelope

Product Availability

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

Specified by:
getWidth in interface IEnvelope
Specified by:
getWidth in interface IEnvelopeGEN
Returns:
The width
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getUpperLeft(), IEnvelope.getHeight(), IEnvelope.getLowerLeft(), IEnvelope.getLowerRight()

setWidth

public void setWidth(double width)
              throws IOException,
                     AutomationException
The width of the envelope.

Description

refer to the Width property of IEnvelope

Product Availability

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

Specified by:
setWidth in interface IEnvelope
Specified by:
setWidth in interface IEnvelopeGEN
Parameters:
width - The width (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeight

public double getHeight()
                 throws IOException,
                        AutomationException
The height of the envelope.

Description

refer to the Height property of IEnvelope

Product Availability

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

Specified by:
getHeight in interface IEnvelope
Specified by:
getHeight in interface IEnvelopeGEN
Returns:
The height
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getWidth(), IEnvelope.getUpperLeft(), IEnvelope.getLowerLeft(), IEnvelope.getLowerRight(), IEnvelope.getUpperRight()

setDepth

public void setDepth(double depth)
              throws IOException,
                     AutomationException
The depth of the envelope.

Description

refer to the Depth property of IEnvelope

Product Availability

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

Specified by:
setDepth in interface IEnvelope
Specified by:
setDepth in interface IEnvelopeGEN
Parameters:
depth - The depth (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDepth

public double getDepth()
                throws IOException,
                       AutomationException
The depth of the envelope.

Description

refer to the Depth property of IEnvelope

Product Availability

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

Specified by:
getDepth in interface IEnvelope
Specified by:
getDepth in interface IEnvelopeGEN
Returns:
The depth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeight

public void setHeight(double height)
               throws IOException,
                      AutomationException
The height of the envelope.

Description

refer to the Height property of IEnvelope

Product Availability

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

Specified by:
setHeight in interface IEnvelope
Specified by:
setHeight in interface IEnvelopeGEN
Parameters:
height - The height (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLowerLeft

public IPoint getLowerLeft()
                    throws IOException,
                           AutomationException
The lower left corner.

Description

refer to the LowerLeft property of IEnvelope

Product Availability

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

Specified by:
getLowerLeft in interface IEnvelope
Specified by:
getLowerLeft in interface IEnvelopeGEN
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getWidth(), IEnvelope.getUpperLeft(), IEnvelope.getHeight(), IEnvelope.getLowerRight(), IEnvelope.getUpperRight()

setLowerLeft

public void setLowerLeft(IPoint lowerLeft)
                  throws IOException,
                         AutomationException
The lower left corner.

Description

refer to the LowerLeft property of IEnvelope

Product Availability

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

Specified by:
setLowerLeft in interface IEnvelope
Specified by:
setLowerLeft in interface IEnvelopeGEN
Parameters:
lowerLeft - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUpperLeft

public IPoint getUpperLeft()
                    throws IOException,
                           AutomationException
The upper left corner.

Description

refer to the UpperLeft property of IEnvelope

Product Availability

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

Specified by:
getUpperLeft in interface IEnvelope
Specified by:
getUpperLeft in interface IEnvelopeGEN
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getWidth(), IEnvelope.getHeight(), IEnvelope.getLowerLeft(), IEnvelope.getLowerRight(), IEnvelope.getUpperRight()

setUpperLeft

public void setUpperLeft(IPoint upperLeft)
                  throws IOException,
                         AutomationException
The upper left corner.

Description

refer to the UpperLeft property of IEnvelope

Product Availability

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

Specified by:
setUpperLeft in interface IEnvelope
Specified by:
setUpperLeft in interface IEnvelopeGEN
Parameters:
upperLeft - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUpperRight

public IPoint getUpperRight()
                     throws IOException,
                            AutomationException
The upper right corner.

Description

refer to the UpperRight property of IEnvelope

Product Availability

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

Specified by:
getUpperRight in interface IEnvelope
Specified by:
getUpperRight in interface IEnvelopeGEN
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getWidth(), IEnvelope.getUpperLeft(), IEnvelope.getHeight(), IEnvelope.getLowerLeft(), IEnvelope.getLowerRight()

setUpperRight

public void setUpperRight(IPoint upperRight)
                   throws IOException,
                          AutomationException
The upper right corner.

Description

refer to the UpperRight property of IEnvelope

Product Availability

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

Specified by:
setUpperRight in interface IEnvelope
Specified by:
setUpperRight in interface IEnvelopeGEN
Parameters:
upperRight - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLowerRight

public IPoint getLowerRight()
                     throws IOException,
                            AutomationException
The lower right corner.

Description

refer to the LowerRight property of IEnvelope

Product Availability

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

Specified by:
getLowerRight in interface IEnvelope
Specified by:
getLowerRight in interface IEnvelopeGEN
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getWidth(), IEnvelope.getUpperLeft(), IEnvelope.getHeight(), IEnvelope.getLowerLeft(), IEnvelope.getUpperRight()

setLowerRight

public void setLowerRight(IPoint lowerRight)
                   throws IOException,
                          AutomationException
The lower right corner.

Description

refer to the LowerRight property of IEnvelope

Product Availability

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

Specified by:
setLowerRight in interface IEnvelope
Specified by:
setLowerRight in interface IEnvelopeGEN
Parameters:
lowerRight - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getXMin

public double getXMin()
               throws IOException,
                      AutomationException
The position of the left side.

Description

refer to the XMin property of IEnvelope

Product Availability

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

Specified by:
getXMin in interface IEnvelope
Specified by:
getXMin in interface IEnvelopeGEN
Returns:
The xMin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getYMin(), IEnvelope.getXMax()

setXMin

public void setXMin(double xMin)
             throws IOException,
                    AutomationException
The position of the left side.

Description

refer to the XMin property of IEnvelope

Product Availability

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

Specified by:
setXMin in interface IEnvelope
Specified by:
setXMin in interface IEnvelopeGEN
Parameters:
xMin - The xMin (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getYMin

public double getYMin()
               throws IOException,
                      AutomationException
The position of the bottom.

Description

refer to the YMin property of IEnvelope

Product Availability

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

Specified by:
getYMin in interface IEnvelope
Specified by:
getYMin in interface IEnvelopeGEN
Returns:
The yMin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getXMin(), IEnvelope.getXMax()

setYMin

public void setYMin(double yMin)
             throws IOException,
                    AutomationException
The position of the bottom.

Description

refer to the YMin property of IEnvelope

Product Availability

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

Specified by:
setYMin in interface IEnvelope
Specified by:
setYMin in interface IEnvelopeGEN
Parameters:
yMin - The yMin (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getXMax

public double getXMax()
               throws IOException,
                      AutomationException
The position of the right side.

Description

refer to the XMax property of IEnvelope

Product Availability

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

Specified by:
getXMax in interface IEnvelope
Specified by:
getXMax in interface IEnvelopeGEN
Returns:
The xMax
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getYMin(), IEnvelope.getXMin()

setXMax

public void setXMax(double xMax)
             throws IOException,
                    AutomationException
The position of the right side.

Description

refer to the XMax property of IEnvelope

Product Availability

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

Specified by:
setXMax in interface IEnvelope
Specified by:
setXMax in interface IEnvelopeGEN
Parameters:
xMax - The xMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getYMax

public double getYMax()
               throws IOException,
                      AutomationException
The position of the top.

Description

refer to the YMax property of IEnvelope

Product Availability

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

Specified by:
getYMax in interface IEnvelope
Specified by:
getYMax in interface IEnvelopeGEN
Returns:
The yMax
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.getYMin(), IEnvelope.getXMin(), IEnvelope.getXMax()

setYMax

public void setYMax(double yMax)
             throws IOException,
                    AutomationException
The position of the top.

Description

refer to the YMax property of IEnvelope

Product Availability

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

Specified by:
setYMax in interface IEnvelope
Specified by:
setYMax in interface IEnvelopeGEN
Parameters:
yMax - The yMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMMin

public double getMMin()
               throws IOException,
                      AutomationException
The minimum measure value in the area of the envelope.

Description

refer to the MMin property of IEnvelope

Product Availability

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

Specified by:
getMMin in interface IEnvelope
Specified by:
getMMin in interface IEnvelopeGEN
Returns:
The mMin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMMin

public void setMMin(double mMin)
             throws IOException,
                    AutomationException
The minimum measure value in the area of the envelope.

Description

refer to the MMin property of IEnvelope

Product Availability

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

Specified by:
setMMin in interface IEnvelope
Specified by:
setMMin in interface IEnvelopeGEN
Parameters:
mMin - The mMin (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMMax

public double getMMax()
               throws IOException,
                      AutomationException
The maximum measure value in the area of the envelope.

Description

refer to the MMax property of IEnvelope

Product Availability

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

Specified by:
getMMax in interface IEnvelope
Specified by:
getMMax in interface IEnvelopeGEN
Returns:
The mMax
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMMax

public void setMMax(double mMax)
             throws IOException,
                    AutomationException
The maximum measure value in the area of the envelope.

Description

refer to the MMax property of IEnvelope

Product Availability

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

Specified by:
setMMax in interface IEnvelope
Specified by:
setMMax in interface IEnvelopeGEN
Parameters:
mMax - The mMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getZMin

public double getZMin()
               throws IOException,
                      AutomationException
The minimum Z value in the area of the envelope.

Description

refer to the ZMin property of IEnvelope

Product Availability

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

Specified by:
getZMin in interface IEnvelope
Specified by:
getZMin in interface IEnvelopeGEN
Returns:
The zMin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZMin

public void setZMin(double zMin)
             throws IOException,
                    AutomationException
The minimum Z value in the area of the envelope.

Description

refer to the ZMin property of IEnvelope

Product Availability

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

Specified by:
setZMin in interface IEnvelope
Specified by:
setZMin in interface IEnvelopeGEN
Parameters:
zMin - The zMin (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getZMax

public double getZMax()
               throws IOException,
                      AutomationException
The maximum Z value in the area of the envelope.

Description

refer to the ZMax property of IEnvelope

Product Availability

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

Specified by:
getZMax in interface IEnvelope
Specified by:
getZMax in interface IEnvelopeGEN
Returns:
The zMax
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZMax

public void setZMax(double zMax)
             throws IOException,
                    AutomationException
The maximum Z value in the area of the envelope.

Description

refer to the ZMax property of IEnvelope

Product Availability

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

Specified by:
setZMax in interface IEnvelope
Specified by:
setZMax in interface IEnvelopeGEN
Parameters:
zMax - The zMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

union

public void union(IEnvelope inEnvelope)
           throws IOException,
                  AutomationException
Adjusts to overlap inEnvelope.

Description

refer to the Union method of IEnvelope

Product Availability

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

Specified by:
union in interface IEnvelope
Specified by:
union in interface IEnvelopeGEN
Parameters:
inEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.offset(double, double), IEnvelope.centerAt(com.esri.arcgis.geometry.IPoint), IEnvelope.expand(double, double, boolean), IEnvelope.intersect(com.esri.arcgis.geometry.IEnvelope)

intersect

public void intersect(IEnvelope inEnvelope)
               throws IOException,
                      AutomationException
Adjusts to include only the area also included by inEnvelope.

Description

refer to the Intersect method of IEnvelope

Product Availability

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

Specified by:
intersect in interface IEnvelope
Specified by:
intersect in interface IEnvelopeGEN
Parameters:
inEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.offset(double, double), IEnvelope.centerAt(com.esri.arcgis.geometry.IPoint), IEnvelope.expand(double, double, boolean), IEnvelope.union(com.esri.arcgis.geometry.IEnvelope)

offset

public void offset(double x,
                   double y)
            throws IOException,
                   AutomationException
Moves the sides x units horizontally and y units vertically.

Description

refer to the Offset method of IEnvelope

Product Availability

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

Specified by:
offset in interface IEnvelope
Specified by:
offset in interface IEnvelopeGEN
Parameters:
x - The x (in)
y - The y (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.centerAt(com.esri.arcgis.geometry.IPoint), IEnvelope.expand(double, double, boolean), IEnvelope.intersect(com.esri.arcgis.geometry.IEnvelope), IEnvelope.union(com.esri.arcgis.geometry.IEnvelope)

offsetZ

public void offsetZ(double z)
             throws IOException,
                    AutomationException
Moves the sides z units.

Description

refer to the OffsetZ method of IEnvelope

Product Availability

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

Specified by:
offsetZ in interface IEnvelope
Specified by:
offsetZ in interface IEnvelopeGEN
Parameters:
z - The z (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

offsetM

public void offsetM(double m)
             throws IOException,
                    AutomationException
Moves the sides m units.

Description

refer to the OffsetM method of IEnvelope

Product Availability

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

Specified by:
offsetM in interface IEnvelope
Specified by:
offsetM in interface IEnvelopeGEN
Parameters:
m - The m (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

expand

public void expand(double dx,
                   double dy,
                   boolean asRatio)
            throws IOException,
                   AutomationException
Moves the X and Y coordinates of the sides toward or away from each other.

Description

refer to the Expand method of IEnvelope

Product Availability

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

Specified by:
expand in interface IEnvelope
Specified by:
expand in interface IEnvelopeGEN
Parameters:
dx - The dx (in)
dy - The dy (in)
asRatio - The asRatio (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.offset(double, double), IEnvelope.centerAt(com.esri.arcgis.geometry.IPoint), IEnvelope.intersect(com.esri.arcgis.geometry.IEnvelope), IEnvelope.union(com.esri.arcgis.geometry.IEnvelope)

expandZ

public void expandZ(double dz,
                    boolean asRatio)
             throws IOException,
                    AutomationException
Moves the Z attribute of the sides toward or away from each other.

Description

refer to the ExpandZ method of IEnvelope

Product Availability

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

Specified by:
expandZ in interface IEnvelope
Specified by:
expandZ in interface IEnvelopeGEN
Parameters:
dz - The dz (in)
asRatio - The asRatio (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

expandM

public void expandM(double dm,
                    boolean asRatio)
             throws IOException,
                    AutomationException
Moves the measure of the sides toward or away from each other.

Description

refer to the ExpandM method of IEnvelope

Product Availability

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

Specified by:
expandM in interface IEnvelope
Specified by:
expandM in interface IEnvelopeGEN
Parameters:
dm - The dm (in)
asRatio - The asRatio (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putCoords

public void putCoords(double xMin,
                      double yMin,
                      double xMax,
                      double yMax)
               throws IOException,
                      AutomationException
Constructs an envelope from the coordinate values of lower, left and upper, right corners.

Description

refer to the PutCoords method of IEnvelope

Product Availability

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

Specified by:
putCoords in interface IEnvelope
Specified by:
putCoords in interface IEnvelopeGEN
Parameters:
xMin - The xMin (in)
yMin - The yMin (in)
xMax - The xMax (in)
yMax - The yMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.queryCoords(double[], double[], double[], double[])

queryCoords

public void queryCoords(double[] xMin,
                        double[] yMin,
                        double[] xMax,
                        double[] yMax)
                 throws IOException,
                        AutomationException
Returns the coordinates of lower, left and upper, right corners.

Description

refer to the QueryCoords method of IEnvelope

Product Availability

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

Specified by:
queryCoords in interface IEnvelope
Specified by:
queryCoords in interface IEnvelopeGEN
Parameters:
xMin - The xMin (out: use single element array)
yMin - The yMin (out: use single element array)
xMax - The xMax (out: use single element array)
yMax - The yMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.putCoords(double, double, double, double)

centerAt

public void centerAt(IPoint p)
              throws IOException,
                     AutomationException
Moves this envelope so it is centered at p.

Description

refer to the CenterAt method of IEnvelope

Product Availability

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

Specified by:
centerAt in interface IEnvelope
Specified by:
centerAt in interface IEnvelopeGEN
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope.offset(double, double), IEnvelope.expand(double, double, boolean), IEnvelope.intersect(com.esri.arcgis.geometry.IEnvelope), IEnvelope.union(com.esri.arcgis.geometry.IEnvelope)

defineFromPoints

public void defineFromPoints(int count,
                             IPoint points)
                      throws IOException,
                             AutomationException
Defines the envelope to cover all the points.

Description

Defines this Envelope from an array of Points. The XMin, YMin, XMax, and YMax correspond to the minimum X value, minimum Y value, maximum X value, and maximum Y value respectively of the the Points in the array.

Remarks

This is similar to getting the Envelope of a Multipoint.

Note: It is also possible to define a degenerate point Envelope by passing a single Point as an argument. The IPoint parameter accepts both a single IPoint object and an array of IPoints. To use an array, pass the desired starting element of the array as the input argument.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
defineFromPoints in interface IEnvelope
Parameters:
count - The count (in)
points - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryType

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

Remarks

esriGeometryNull          = 0
esriGeometryPoint = 1
esriGeometryMultipoint = 2
esriGeometryPolyline = 3
esriGeometryPolygon = 4
esriGeometryEnvelope = 5
esriGeometryPath = 6
esriGeometryAny = 7
esriGeometryMultiPatch = 9
esriGeometryRing = 11
esriGeometryLine = 13
esriGeometryCircularArc = 14
esriGeometryBezier3Curve = 15
esriGeometryEllipticArc = 16
esriGeometryBag = 17
esriGeometryTriangleStrip = 18
esriGeometryTriangleFan = 19
esriGeometryRay = 20
esriGeometrySphere = 21
Geometry Type Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDimension

public int getDimension()
                 throws IOException,
                        AutomationException
The topological dimension of this geometry.

Description

Returns the dimension of the geometry object based on the geometry's type.

Remarks


Note: At 9.0, Multipatches are now considered as two dimensional geometry. esriGeometry3Dimension will be used for an upcoming new geometry type.
Supported esriGeometryDimensions:

-1 esriGeometryNoDimension
1 esriGeometry0Dimension
2 esriGeometry1Dimension
4 esriGeometry2Dimension
5 esriGeometry25Dimension
6 esriGeometry3Dimension

Dimension Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDimension in interface IGeometry
Returns:
A com.esri.arcgis.geometry.esriGeometryDimension constant
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 associated with this geometry.

Description

Returns and sets the Spatial Reference in which the geometry exists. If the spatial reference has not been set the property will return an empty ISpatialReference instance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeometry
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.

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialRef)
                              throws IOException,
                                     AutomationException
The spatial reference associated with this geometry.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSpatialReferenceByRef in interface IGeometry
Parameters:
spatialRef - 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.

isEmpty

public boolean isEmpty()
                throws IOException,
                       AutomationException
Indicates whether this geometry contains any points.

Description

IsEmpty returns TRUE when the Geometry object does not contain geometric information beyond its original initialization state. An object may be returned to its original initialization (IsEmpty = TRUE) state using SetEmpty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setEmpty

public void setEmpty()
              throws IOException,
                     AutomationException
Removes all points from this geometry.

Description

SetEmpty returns the Geometry to its original initialization state by releasing all data referenced by the Geometry.

Remarks


Use the SetEmpty method to clear geometries and release memory. For example, a polygon with 100 rings will have an internal array of 100 pointers to ring objects. That array will go away and Release will be called on each ring. If that polygon had the only reference on those rings, then they'll go away, which releases all their segments, which may also then go away.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryEnvelope

public void queryEnvelope(IEnvelope outEnvelope)
                   throws IOException,
                          AutomationException
Copies this geometry's envelope properties into the specified envelope.

Description

Returns the unique Envelope that binds the Geometry object. This is the smallest Envelope that Contains the object.

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

QueryEnvelope Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEnvelope

public IEnvelope getEnvelope()
                      throws IOException,
                             AutomationException
Creates a copy of this geometry's envelope and returns it.

Description

Returns the unique Envelope that binds the Geometry object. This is the smallest Envelope that Contains the object.

Remarks

Envelope Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

project

public void project(ISpatialReference newReferenceSystem)
             throws IOException,
                    AutomationException
Projects this geometry into a new spatial reference.

Description

To Project, the geometry needs to have a Spatial Reference set, and not have an UnknownCoordinateSystem. The new spatial reference system passed to the method defines the output coordinate system. If either spatial reference is Unknown, the coordinates are not changed. The Z and measure values are not changed by the Project method.

A geometry is not densified before it is projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Use IGeometry2::ProjectEx if you want to densify the geometries while they are projected.

The Project method must be applied on high-level geometries only. High-Level geometries are point, multipoint, polyline and polygon. To use this method with low-level geometries such as segments (Line, Circular Arc, Elliptic Arc, Bézier Curve), paths or rings, they must be wrapped into high-level geometry types.

If a geometry is projected to a projected coordinate system that can't represent the geographic area where the geometry is located (or if trying to move an xy coordinate from outside the projected coordinate system back into geographic), the geometry will be set to empty.

Remarks

Note: This method can only be called upon the top level geometries (Points, Multipoints, Polylines and Polygons). If the from/to spatial references have different geographic coordinate systems, the Project method looks for a GeoTransformationsOperationSet. If the set of Geotransformations is present in memory, Project will use it to perform a geographic/datum Transformation. To use a specific geotransformation, use the IGeometry2::ProjectEx method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
project in interface IGeometry
Parameters:
newReferenceSystem - 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.

snapToSpatialReference

public void snapToSpatialReference()
                            throws IOException,
                                   AutomationException
Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.

Remarks

SnapToSpatialReference rounds all coordinates to the resolution defined by the geometry's spatial reference system. This has a similar effect on the geometry as storing the geometry in a Geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

geoNormalize

public void geoNormalize()
                  throws IOException,
                         AutomationException
Shifts longitudes, if need be, into a continuous range of 360 degrees.

Remarks

GeoNormalize acts on geometries whose geographic system coordinates are below -180 degrees longitude or over +180 degrees longitude or on geometries that span the +-180 degrees longitude.
This method requires the geometry to have a valid spatial reference (geographic or projected coordinate system).
This method is used internally as part of the projection process for polygons and polylines. It is typically not used by itself.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

geoNormalizeFromLongitude

public void geoNormalizeFromLongitude(double longitude)
                               throws IOException,
                                      AutomationException
Normalizes longitudes into a continuous range containing the longitude. This method is obsolete.

Remarks

This method is obsolete. Use IGeometry::GeoNormalize instead.
This method requires the geometry to have a valid spatial reference (geographic or projected coordinate system).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

putZCoords

public void putZCoords(double zMin,
                       double zMax)
                throws IOException,
                       AutomationException
Sets the minimum and maximum Z values simultaneously.

Description

Sets the ZMin and ZMax simultaneously. This avoids complications of setting ZMin and ZMax individually in which they could become inconsistent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putZCoords in interface IEnvelope2
Parameters:
zMin - The zMin (in)
zMax - The zMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryZCoords

public void queryZCoords(double[] zMin,
                         double[] zMax)
                  throws IOException,
                         AutomationException
Queries the minimum and maximum Z values simultaneously.

Description

Returns the values of ZMin and ZMax respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryZCoords in interface IEnvelope2
Parameters:
zMin - The zMin (out: use single element array)
zMax - The zMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putMCoords

public void putMCoords(double mMin,
                       double mMax)
                throws IOException,
                       AutomationException
Sets the minimum and maximum M values simultaneously.

Description

Sets the MMin and MMax simultaneously. This avoids complications of setting MMin and MMax individually in which they could become inconsistent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putMCoords in interface IEnvelope2
Parameters:
mMin - The mMin (in)
mMax - The mMax (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryMCoords

public void queryMCoords(double[] mMin,
                         double[] mMax)
                  throws IOException,
                         AutomationException
Queries the minimum and maximum M values simultaneously.

Description

Returns the values of MMin and MMax respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryMCoords in interface IEnvelope2
Parameters:
mMin - The mMin (out: use single element array)
mMax - The mMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSCoordsZ

public void queryWKSCoordsZ(_WKSEnvelopeZ[] e)
                     throws IOException,
                            AutomationException
Defines the specified 3D wksenvelope to be the current extent of this geometry in 3 dimension.

Product Availability

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

Specified by:
queryWKSCoordsZ in interface IEnvelope4
Parameters:
e - A Structure: com.esri.arcgis.system._WKSEnvelopeZ (A com.esri.arcgis.system._WKSEnvelopeZ COM typedef) (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putWKSCoordsZ

public void putWKSCoordsZ(_WKSEnvelopeZ e)
                   throws IOException,
                          AutomationException
Copies e's 3D dimensions into this envelope.

Product Availability

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

Specified by:
putWKSCoordsZ in interface IEnvelope4
Parameters:
e - A Structure: com.esri.arcgis.system._WKSEnvelopeZ (A com.esri.arcgis.system._WKSEnvelopeZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMAware

public boolean isMAware()
                 throws IOException,
                        AutomationException
Indicates whether or not the geometry is aware of and capable of handling Ms.

Description

Returns or sets the M Awareness state of the geometry object. If MAware is TRUE, then the object will recognize that it has M attributes and perform operations on them as necessary. If MAware is FALSE, the object will ignore Ms while performing operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMAware in interface IMAware
Returns:
The mAware
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMAware

public void setMAware(boolean mAware)
               throws IOException,
                      AutomationException
Indicates whether or not the geometry is aware of and capable of handling Ms.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isMSimple

public boolean isMSimple()
                  throws IOException,
                         AutomationException
Indicates if all the Ms are valid numbers.

Description

MSimple is TRUE if none of the M values held by the geometry object are NaN. If any of the Ms within the object are NaN, MSimple is FALSE.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMSimple in interface IMAware
Returns:
The mSimple
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

dropMs

public void dropMs()
            throws IOException,
                   AutomationException
Sets all the M values to a non-valid number (NaN).

Description

Resets all of the current M values held by the geometry object back to NaN. MAware does not change.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isZAware

public boolean isZAware()
                 throws IOException,
                        AutomationException
Indicates whether or not the geometry is aware of and capable of handling Zs.

Description

Returns or sets the Z Awareness state of the geometry object. If ZAware is TRUE, then the object will recognize that it has Z attributes and perform operations on them as necessary. If ZAware is FALSE, the object will ignore Zs while performing operations. ZAware should only be set to TRUE when all of the Zs are not NaN.

Remarks

Use ZAware = True when you want geometries to retain Z values during geometry operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isZAware in interface IZAware
Returns:
The zAware
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZAware

public void setZAware(boolean zAware)
               throws IOException,
                      AutomationException
Indicates whether or not the geometry is aware of and capable of handling Zs.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isZSimple

public boolean isZSimple()
                  throws IOException,
                         AutomationException
Indicates if all the Zs are valid numbers.

Description

ZSimple is TRUE if none of the Z values held by the geometry object are NaN. If any of the Zs within the object are NaN, ZSimple is FALSE.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isZSimple in interface IZAware
Returns:
The zSimple
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

dropZs

public void dropZs()
            throws IOException,
                   AutomationException
Sets all the Z values to a non-valid number (NaN).

Description

Resets all of the current Z values held by the geometry object back to NaN. ZAware does not change.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

projectEx

public void projectEx(ISpatialReference newReferenceSystem,
                      int direction,
                      IGeoTransformation geoTransformation,
                      boolean bAngularDensify,
                      double maxSegmentLength,
                      double maxDeviation)
               throws IOException,
                      AutomationException
Projects a geometry, optionally applies a GeoTransformation, and optionally densifies the geometry.

Remarks

By default, ProjectEx will not densify geometries as they are projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Set the bAngularDensify parameter if you want to densify the geometries while they are projected.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
projectEx in interface IGeometry2
Parameters:
newReferenceSystem - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
geoTransformation - A reference to a com.esri.arcgis.geometry.IGeoTransformation (in)
bAngularDensify - The bAngularDensify (in)
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSEnvelope

public void queryWKSEnvelope(_WKSEnvelope[] e)
                      throws IOException,
                             AutomationException
Defines the specified wksenvelope to be the current extent of this geometry in the x-y plane.

Description

The QueryWKSEnvelope method returns a WKSEnvelope structure corresponding to the envelope of the geometry. Use that method to quickly get the XMin, XMax, YMin and YMax values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryWKSEnvelope in interface IGeometry3
Parameters:
e - A Structure: com.esri.arcgis.system._WKSEnvelope (A com.esri.arcgis.system._WKSEnvelope COM typedef) (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isChanged

public boolean isChanged()
                  throws IOException,
                         AutomationException
Indicates if a geometry has been changed (edited, projected, etc).

Description

The Changed method returns whether or not the geometry has been modified. If the geometry always stays in memory that method only returns 'false' immediately after its creation. However if the shape came from disk the Changed method will return 'false' until de geometry is modified in memory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setChanged

public void setChanged(boolean isChanged)
                throws IOException,
                       AutomationException
Indicates if a geometry has been changed (edited, projected, etc).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

project5

public void project5(ISpatialReference newSpatialReference,
                     int projectionHint)
              throws IOException,
                     AutomationException
Same as Project, but with additional parameter projectionHint.

Description

To Project, the geometry needs to have a Spatial Reference set, and not have an UnknownCoordinateSystem. The new spatial reference system passed to the method defines the output coordinate system. If either spatial reference is Unknown, the coordinates are not changed. The Z and measure values are not changed by the Project method.

A geometry is not densified before it is projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Use IGeometry2::ProjectEx if you want to densify the geometries while they are projected.

The projectionHint parameter contains information about whether a geometry will cross the coordinate system horizons. If it doesn't, parts of the code that check this and intersect the geometry with the horizons can be omitted. This can dramatically improve performance. Use ISpatialReference3::ProjectionHint to initialize this parameter.

Product Availability

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

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

projectEx5

public void projectEx5(ISpatialReference newReferenceSystem,
                       int direction,
                       ITransformation transformation,
                       boolean bAngularDensify,
                       double maxSegmentLength,
                       double maxDeviation,
                       int projectionHint)
                throws IOException,
                       AutomationException
Same as ProjectEx, but with additional parameter projectionHint.

Description

The projectionHint parameter contains information about whether a geometry will cross the coordinate system horizons. If it doesn't, parts of the code that check this and intersect the geometry with the horizons can be omitted. This can dramatically improve performance. Use ISpatialReference3::ProjectionHint to initialize this parameter.

Remarks

By default, ProjectEx will not densify geometries as they are projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Set the bAngularDensify parameter if you want to densify the geometries while they are projected.

Product Availability

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

Specified by:
projectEx5 in interface IGeometry5
Parameters:
newReferenceSystem - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
bAngularDensify - The bAngularDensify (in)
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
projectionHint - The projectionHint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroidEx

public IPoint getCentroidEx()
                     throws IOException,
                            AutomationException
The center of gravity (centroid).

Product Availability

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

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

getArea

public double getArea()
               throws IOException,
                      AutomationException
The area.

Description

Returns the area enclosed between the Exterior Rings and the Interior Rings of the 2 (or 2.5) Dimensional geometry. Interior Rings return a negative Area.

Remarks

Area Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getArea in interface IArea
Returns:
The area
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroid

public IPoint getCentroid()
                   throws IOException,
                          AutomationException
The center of gravity (centroid).

Description

Returns the Centroid of the 2 (or 2.5) Dimensional figure. The Centroid is the center of the weighted area.

Remarks

The Centroid does not always occur inside the Area of the geometry. The Centroid is not the same as the center of the geometry or the Envelope binding the geometry (but it may be if and only if that is also the center of the weighted area).

Centroid Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCentroid in interface IArea
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IArea.queryCentroid(com.esri.arcgis.geometry.IPoint), IArea.getCentroid(), IArea.queryLabelPoint(com.esri.arcgis.geometry.IPoint), IArea.getLabelPoint()

getLabelPoint

public IPoint getLabelPoint()
                     throws IOException,
                            AutomationException
A point guaranteed to be inside this area.

Description

Returns the Label Point of the object. The Label Point is the point at which the label is located. The Label Point is always located within the Area of the object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLabelPoint in interface IArea
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IArea.queryCentroid(com.esri.arcgis.geometry.IPoint), IArea.getCentroid(), IArea.queryLabelPoint(com.esri.arcgis.geometry.IPoint), IArea.getLabelPoint()

queryCentroid

public void queryCentroid(IPoint center)
                   throws IOException,
                          AutomationException
Copies the centroid of this area to the specified point.

Description

Queries the Centroid of the 2 (or 2.5) Dimensional figure. The Centroid is the center of the weighted area. You must instantiate the Point before calling QueryCentroid. For example,

Dim pPoint as IPoint

Set pPoint = New Point

Remarks

The Centroid does not always occur inside the Area of the geometry. The Centroid is not the same as the center of the geometry or the Envelope binding the geometry (but it may be if and only if that is also the center of the weighted area).

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

Centroid Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryCentroid in interface IArea
Parameters:
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IArea.queryCentroid(com.esri.arcgis.geometry.IPoint), IArea.getCentroid(), IArea.queryLabelPoint(com.esri.arcgis.geometry.IPoint), IArea.getLabelPoint()

queryLabelPoint

public void queryLabelPoint(IPoint labelPoint)
                     throws IOException,
                            AutomationException
Copies to the input point a point guaranteed to be inside this area.

Description

Queries the Label Point of the object. The Label Point is the point at which the label is located. The Label Point is always located within the Area of the object. You must instantiate the point before calling QueryLabelPoint. For example,


Dim pPoint as IPoint

Set pPoint = New Point

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryLabelPoint in interface IArea
Parameters:
labelPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IArea.queryCentroid(com.esri.arcgis.geometry.IPoint), IArea.getCentroid(), IArea.queryLabelPoint(com.esri.arcgis.geometry.IPoint), IArea.getLabelPoint()

getArea3D

public double getArea3D()
                 throws IOException,
                        AutomationException
The 3D surface area.

Remarks

If Patches comprising a MultiPatch geometry have improperly ordered vertices such that positive faces are not pointing outwards, a negative 3D surface area will be returned. To ensure proper orientation, add vertices in a clockwise manner relative to an observer situated outside of the MultiPatch geometry.

Product Availability

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

Specified by:
getArea3D in interface IArea3D
Returns:
The area
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroid3D

public IPoint getCentroid3D()
                     throws IOException,
                            AutomationException
A 3D point whose XY coordinates are set to the center of gravity of the shape’s 2D footprint and Z set to the shape’s ZMax.

Product Availability

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

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

getLabelPoint3D

public IPoint getLabelPoint3D()
                       throws IOException,
                              AutomationException
A point guaranteed to be on this 3D surface area.

Product Availability

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

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

queryCentroid3D

public void queryCentroid3D(IPoint center)
                     throws IOException,
                            AutomationException
Copies the centroid of this 3D surface area to the specified point.

Product Availability

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

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

queryLabelPoint3D

public void queryLabelPoint3D(IPoint labelPoint)
                       throws IOException,
                              AutomationException
Copies to the input point a point guaranteed to be on this 3D surface area.

Product Availability

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

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

getVolume

public double getVolume()
                 throws IOException,
                        AutomationException
The enclosed 3D volume.

Description

Returns the volume of 3D space occupied by a MultiPatch. Handles closed and some non-closed MultiPatches.

Remarks

If Patches comprising a MultiPatch geometry have improperly ordered vertices such that positive faces are not pointing outwards, a negative volume will be returned. To ensure proper orientation, add vertices in a clockwise manner relative to an outside observer.

Product Availability

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

Specified by:
getVolume in interface IVolume
Returns:
The volumeValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryNearestPoint

public void queryNearestPoint(IPoint p,
                              int extension,
                              IPoint nearest)
                       throws IOException,
                              AutomationException
Copies into 'nearest' a point on this geometry nearest to the input point.

Description

Queries the nearest point on a geometry to the input point. Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

QueryNearestPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
nearest - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriSegmentExtension, IProximityOperator.returnNearestPoint(com.esri.arcgis.geometry.IPoint, int)

returnNearestPoint

public IPoint returnNearestPoint(IPoint p,
                                 int extension)
                          throws IOException,
                                 AutomationException
Creates and returns a point on this geometry nearest to the input point.

Description

Finds and returns the nearest point on a geometry to the input point. Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

ReturnNearestPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
returnNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriSegmentExtension, IProximityOperator.queryNearestPoint(com.esri.arcgis.geometry.IPoint, int, com.esri.arcgis.geometry.IPoint)

returnDistance

public double returnDistance(IGeometry other)
                      throws IOException,
                             AutomationException
Returns the minimum distance between two geometries.

Description

Returns the minimum distance between two geometries. If the geometries intersect, the minimum distance is 0. Only returns the distance, and not the nearest points.

Remarks

ReturnDistance Example

The geometry combinations which can be used with ReturnDistance are:

Point: Point, MultiPoint, Envelope, Polyline, Polygon, Line, CircularArc, EllipticArc, BezierCurve.
Multipoint: Point, MultiPoint, Envelope, Polyline, Polygon.
Envelope: Point, MultiPoint, Envelope, Line, CircularArc, EllipticArc, BezierCurve, PolyLine, Polygon.
PolyLine: Point, Multipoint, Envelope, PolyLine, Polygon.
Polygon: Point, Multipoint, Envelope, PolyLine, Polygon.
Line: Point, Envelope, Line, CircularArc, EllipticArc, BezierCurve.
CircularArc: Point, Envelope, Line, CircularArc, EllipticArc (not implemented yet), BezierCurve.
EllipticArc: Point, Envelope, Line, CircularArc (not implemented yet), EllipticArc (not implemented yet), BezierCurve (not implemented yet).
BezierCurve: Point, Envelope, Line, CircularArc, EllipticArc (not implemented yet), BezierCurve.

Note: To get the distance between a segment (Line, CircularArc, EllipticArc, BezierCurve) and a MultiPoint, PolyLine or Polygon, add that segment to a PolyLine.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
returnDistance in interface IProximityOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
The distance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move

public void move(double dx,
                 double dy)
          throws IOException,
                 AutomationException
Moves dx units horizontally and dy units vertically.

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis. Only changes the position of the Geometry without altering any of the other characteristics. Move is a spatial offset.

Remarks

Transform2D Move Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
move in interface ITransform2D
Parameters:
dx - The dx (in)
dy - The dy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVector

public void moveVector(ILine v)
                throws IOException,
                       AutomationException
Moves a direction and distance v. v can be in a different spatial reference than the geometry being moved.

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis, where dX and dY are calculated from the input vector Line. Only the Length and Angle of the vector affect the transformation. The location of the vector does not change the transformation. Only changes the position of the Geometry without altering any of the other characteristics. Move is a spatial offset.

Remarks

Transform2D MoveVector Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

scale

public void scale(IPoint origin,
                  double sx,
                  double sy)
           throws IOException,
                  AutomationException
Scales about the specified origin using seperate horizonal and vertical scales. The origin point can be in a different spatial reference than the geometry being scaled.

Description

Stretches the Geometry a factor of sX along the X-Axis and a factor of sY along the Y-Axis (where sX is the ratio of Old Width to New Width, and sY is the ratio of Old Height to New Height). The Origin point is the reference Point from which the transformation is performed (Regardless of the location of the Origin point, the Geometry resulting from the transformation is the same, except for a positional offset). The Origin is the only point in the transformation guaranted to remain in the same location after the transformation is complete.

Remarks

Note: Caution must be taken when scaling a CircularArc or a geometry containing CircularArc segments. Unless Abs(ScaleX) = Abs(ScaleY), the resulting CircularArcs will not retain the characteristics of the original geometry (since they remain CircularArcs).

Scale Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
scale in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
sx - The sx (in)
sy - The sy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

public void rotate(IPoint origin,
                   double rotationAngle)
            throws IOException,
                   AutomationException
Rotates about the specified origin point. The angle is in radians. The origin can be in a different spatial reference than the geometry being rotated.

Description

Rotate performs an angular transform (rotation) on the Geometry. The Origin is the only point in the transformation guaranteed to remain in the same location after the transformation is performed. Regardless of the Origin, the transformed Geometry is the same, except for a positional offset. The RotationAngle is measured in radians.

Remarks

An Envelope cannot be Rotated.

Transform2D Rotate Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotate in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotationAngle - The rotationAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform

public void transform(int direction,
                      ITransformation transformation)
               throws IOException,
                      AutomationException
Applies an arbitrary transformation. In particular, the transformation parameter can be either an affine transformation or a geographic transformation (datum shift).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transform in interface ITransform2D
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_equals

public boolean esri_equals(IGeometry other)
                    throws IOException,
                           AutomationException
Indicates if the two geometries are of the same type and define the same set of points in the plane.

Product Availability

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

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

touches

public boolean touches(IGeometry other)
                throws IOException,
                       AutomationException
Indicates if the boundaries of the geometries intersect.

Description

Two geometries are said to touch when the intersection of the geometries is non-empty, but the intersection of their interiors is empty. Touches is a Clementini operator. For example, a point touches a polyline only if the point is coincident with one of the polyline end points.

Touches examples. Only "true" relationships are showed in this picture.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

Touch does not apply for point/point comparison.

If either one of the two geometries is empty, the geometries are not touched.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

contains

public boolean contains(IGeometry other)
                 throws IOException,
                        AutomationException
Indicates if this geometry contains the other geometry.

Description

The base geometry contains the comparison geometry (other) if the comparison geometry is a subset of the base geometry and the intersection of their interiors is not empty. Therefore a polygon does not contain any part of its 1D boundary. Contains is the opposite operator of Within.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

If geometry1 Contains geometry2, then geometry2 is Within geometry1.

An empty geometry does not contain another geometry. On the other hand, an empty geometry is contained in another geometry, unless the other geometry is empty.

Contains examples. Only "true" relationships are showed in this picture.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

within

public boolean within(IGeometry other)
               throws IOException,
                      AutomationException
Indicates if this geometry is contained (is within) another geometry.

Description

The base geometry is within the comparison geometry if the base geometry is the intersection of the geometries and the intersection of their interiors is not empty. Within is a Clementini operator. Within is the opposite operator of contains.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

If geometry1 is Within geometry2, then geometry2 Contains geometry1.

An empty geometry is within another geometry, unless the other geometry is empty.

Within examples. Only "true" relationships are showed in this picture.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

disjoint

public boolean disjoint(IGeometry other)
                 throws IOException,
                        AutomationException
Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.

Description

Two geometries are disjoint if their intersection is empty. Two geometries intersect if disjoint is "false". Disjoint is a Clementini operator.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

Two geometries are disjoint if either one is empty.

Disjoint example. Only "true" relationships are showed in this picture.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

crosses

public boolean crosses(IGeometry other)
                throws IOException,
                       AutomationException
Indicates if the two geometries intersect in a geometry of lesser dimension.

Description

Two polylines cross if they share only points in common, at least one of which is not an endpoint. A polyline and an polygon cross if they share a polyline or a point (for vertical line) in common on the interior of the polygon which is not equivalent to the entire polyline. Cross is a Clementini operator.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

Cross only applies to polyline/polyline, polyline/polygon, or polygon/polyline relations.

If either one of the geometries is empty, the geometries do not cross.

Crosses examples. Only "true" relationships are showed in this picture.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

overlaps

public boolean overlaps(IGeometry other)
                 throws IOException,
                        AutomationException
Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.

Description

Two geometries overlap if the region of their intersection is of the same dimension as the geometries involved and is not equivalent to either of the geometries. Overlaps is a Clementini operator.

Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

Overlaps only applies to polyline/polyline, polygon/polygon and multipoint/multipoint relations.

Two geometries do not overlap if either one is empty.

Overlaps examples. Only "true" relationships are showed in this picture.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

relation

public boolean relation(IGeometry other,
                        String relationDescription)
                 throws IOException,
                        AutomationException
Indicates if the defined relationship exists.

Description

Relation allows a general relation defined using the Shape Comparison Language to be determined between two input geometries. The Shape Comparison Language is based on the Calculus-Based Method (CBM), as described and defined by Clementini and Felice, but has some extensions specific to working with vertex-based geometries and is fully described in the Technical Documents section of the ArcObjects Developer Help. Please refer to the Shape Comparison Language documentation for proper syntax and available functionality.

Note that at the current release, Relation only operates with straight lines.

Remarks

Here is a VBA example of using the "RELATE" function to detect overlapping polylines. It assumes two polyline features are selected. G1 and G2 are placeholders for, in this example, the VBA variables r1 and r2.

Option Explicit

Public Sub overlapstest()
Dim ef As IEnumFeature
Dim d As IMxDocument
Set d = ThisDocument
Set ef = d.FocusMap.FeatureSelection
Dim r1 As IRelationalOperator, r2 As IRelationalOperator
Set r1 = ef.Next.Shape
Set r2 = ef.Next.Shape

Debug.Print "relation:", r1.Relation(r2, "RELATE(G1, G2, ""1********"")")

End Sub

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relation in interface IRelationalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relationDescription - The relationDescription (in)
Returns:
The relationResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

containsEx

public boolean containsEx(IGeometry pOther,
                          int relation)
                   throws IOException,
                          AutomationException
Indicates if this geometry contains the other geometry, optionally using Celementini's definition.

Product Availability

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

Specified by:
containsEx in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relation - A com.esri.arcgis.geometry.esriSpatialRelationExEnum constant (in)
Returns:
The pbContains
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

withinEx

public boolean withinEx(IGeometry pOther,
                        int relation)
                 throws IOException,
                        AutomationException
Indicates if this geometry contains the other geometry, optionally using Celementini's definition.

Product Availability

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

Specified by:
withinEx in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relation - A com.esri.arcgis.geometry.esriSpatialRelationExEnum constant (in)
Returns:
The pbWithin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNear

public boolean isNear(IGeometry pOther,
                      double distance)
               throws IOException,
                      AutomationException
Indicates if this geometry is within distance from the other geometry.

Product Availability

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

Specified by:
isNear in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
distance - The distance (in)
Returns:
The pbNear
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTest

public boolean hitTest(IPoint queryPoint,
                       double searchRadius,
                       int geometryPart,
                       IPoint hitPoint,
                       double[] hitDistance,
                       int[] hitPartIndex,
                       int[] hitSegmentIndex,
                       boolean[] bRightSide)
                throws IOException,
                       AutomationException
Locates a part of a geometry closest to a query point. Any located part must be within searchRadius units from the query point.

Remarks

The segment index returned has different meanings depending on the esriGeometryHitPartType used (Please see the example for more details).


EsriGeometryPartVertex: returns a vertex index


EsriGeometryPartBoundary, esriGeometryPartMidpoint and esriGeometryPartEndpoint: return a segment index


EsriGeometryPartCentroid: Always returns 0 for the part index and the segment index.

brightside: Indicates if the input point is on the right side of the input geometry

Note: The distance units use in this method are the units of the input geometry. No conversion is performed. esriGeometryHitPartType parameter cannot be a combination of several esriGeometryHitPartTypes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hitTest in interface IHitTest
Parameters:
queryPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
searchRadius - The searchRadius (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
hitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
hitDistance - The hitDistance (in/out: use single element array)
hitPartIndex - The hitPartIndex (in/out: use single element array)
hitSegmentIndex - The hitSegmentIndex (in/out: use single element array)
bRightSide - The bRightSide (in/out: use single element array)
Returns:
The bHit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTest3D

public boolean hitTest3D(IPoint queryPoint,
                         double searchRadius,
                         int geometryPart,
                         IPoint hitPoint,
                         double[] hitDistance,
                         int[] hitPartIndex,
                         int[] hitSegmentIndex)
                  throws IOException,
                         AutomationException
Locates a part of a geometry closest to a query point. Any located part must be within searchRadius units from the query point.

Product Availability

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

Specified by:
hitTest3D in interface IHitTest3D
Parameters:
queryPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
searchRadius - The searchRadius (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
hitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
hitDistance - The hitDistance (in/out: use single element array)
hitPartIndex - The hitPartIndex (in/out: use single element array)
hitSegmentIndex - The hitSegmentIndex (in/out: use single element array)
Returns:
The bHit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTestCone

public boolean hitTestCone(IRay pQueryRay,
                           double minAngle,
                           int geometryPart,
                           IPoint pHitPoint,
                           double[] pHitDistance,
                           int[] pHitPartIndex,
                           int[] pHitSegmentIndex)
                    throws IOException,
                           AutomationException
Locates a part of a geometry closest to a query ray.

Product Availability

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

Specified by:
hitTestCone in interface IHitTest3D
Parameters:
pQueryRay - A reference to a com.esri.arcgis.geometry.IRay (in)
minAngle - The minAngle (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
pHitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
pHitDistance - The pHitDistance (in/out: use single element array)
pHitPartIndex - The pHitPartIndex (in/out: use single element array)
pHitSegmentIndex - The pHitSegmentIndex (in/out: use single element array)
Returns:
The pbHit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

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

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

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.

queryNearestPoint3D

public void queryNearestPoint3D(IPoint pInP,
                                int extension,
                                IPoint pNearest)
                         throws IOException,
                                AutomationException
Copies into 'nearest' a point on this geometry nearest to the input point.

Description

Queries the nearest point on a z aware geometry to the input point in 3D space. Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

If the geometry is an Envelope and the input point is located within the bounds of the Envelope, QueryNearestPoint3D will return a point on the exterior of the Envelope nearest the input point.

Product Availability

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

Specified by:
queryNearestPoint3D in interface IProximityOperator3D
Parameters:
pInP - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
pNearest - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

returnNearestPoint3D

public IPoint returnNearestPoint3D(IPoint pInP,
                                   int extension)
                            throws IOException,
                                   AutomationException
Creates and returns a point on this geometry nearest to the input point.

Description

Finds and returns the nearest point, in 3D space, on a z aware geometry to the input point. Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

If the geometry is an Envelope and the input point is located within the bounds of the Envelope, QueryNearestPoint3D will return a point on the exterior of the Envelope nearest the input point.

Product Availability

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

Specified by:
returnNearestPoint3D in interface IProximityOperator3D
Parameters:
pInP - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

returnDistance3D

public double returnDistance3D(IGeometry pOther)
                        throws IOException,
                               AutomationException
Returns the minimal distance between two geometries.

Description

Returns the minimum distance between two z aware geometries in 3D space. If the geometries intersect, the minimum distance is 0. Only returns the distance, and not the nearest points.

Product Availability

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

Specified by:
returnDistance3D in interface IProximityOperator3D
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
The pDistance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disjoint3D

public boolean disjoint3D(IGeometry pOther)
                   throws IOException,
                          AutomationException
Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.

Description

Determines whether two z aware geometries intersect in 3D space. Two geometries are disjoint if their intersection is empty. Two geometries intersect if disjoint is FALSE.

Product Availability

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

Specified by:
disjoint3D in interface IRelationalOperator3D
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
The pbDisjoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNear3D

public boolean isNear3D(IGeometry pOther,
                        double distance)
                 throws IOException,
                        AutomationException
Indicates if this geometry is within distance from the other geometry; both geometries must have Zs.

Product Availability

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

Specified by:
isNear3D in interface IRelationalOperator3D2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
distance - The distance (in)
Returns:
The pbNear
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

intersect3D

public void intersect3D(IEnvelope inEnvelope)
                 throws IOException,
                        AutomationException
Adjusts to include only the volume also included by inEnvelope.

Description

Sets the base Envelope equal to the intersection of itself and the input Envelope. The XMin, YMin, and ZMin of the base Envelope will be set equal to the maximum XMin, YMin, and ZMin between itself and the input Envelope. Similarly, the XMax, YMax, and ZMax of the base Envelope will be set equal to the minimum XMax, YMax, and ZMax between itself and the input Envelopes. If the resulting XMin > XMax, YMin > YMax, or ZMin > ZMax, then the base Envelope will be set to Empty.

Product Availability

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

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

union3D

public void union3D(IEnvelope inEnvelope)
             throws IOException,
                    AutomationException
Adjusts to encapsulate inEnvelope.

Description

Sets the base Envelope equal to the union of itself and the input Envelope. The XMin, YMin, and ZMin of the base Envelope will be set equal to the minimum XMin, YMin, and ZMin between itself and the input Envelope. Similarly, the XMax, YMax, and ZMax of the base Envelope will be set equal to the maximim XMax, YMax, and ZMax between itself and the input Envelope.

Product Availability

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

Specified by:
union3D in interface IEnvelope3D
Parameters:
inEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (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