com.esri.core.geometry
Class Geometry

java.lang.Object
  extended by com.esri.core.geometry.Geometry
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Envelope, MultiPath, MultiPoint, Point, Segment

public abstract class Geometry
extends Object
implements Serializable

Common properties and methods shared by all geometric objects. Geometries are objects that define a spatial location and and associated geometric shape.

See Also:
Serialized Form

Nested Class Summary
static class Geometry.GeometryAccelerationDegree
          Describes the degree of acceleration of the geometry.
static class Geometry.Type
          The type of this geometry.
 
Method Summary
protected  Object _getImpl()
           
 void addAttribute(int semantics)
          Adds a new attribute to the Geometry.
 void addID()
          Adds the ID attribute to this Geometry
 void addM()
          Adds the M attribute to this Geometry
abstract  void applyTransformation(Transformation2D transform)
          Applies 2D affine transformation in XY plane.
 double calculateArea2D()
          Calculates the area of the geometry.
 double calculateLength2D()
          Calculates the length of the geometry.
 Geometry copy()
          Creates a copy of the geometry.
abstract  void copyTo(Geometry dst)
          Copies this geometry to another geometry of the same type.
abstract  Geometry createInstance()
          Creates an instance of an empty geometry of the same type.
 void dropAllAttributes()
          Drops all attributes from the Geometry with exception of POSITON.
 void dropAttribute(int semantics)
          Drops an attribute from the Geometry.
 VertexDescription getDescription()
          Returns the VertexDescription of this geomtry.
abstract  int getDimension()
          Returns the topological dimension of the geometry object based on the geometry's type.
static int getDimensionFromType(int type)
          Returns this geometry's dimension.
 int getStateFlag()
          The stateFlag value changes with changes applied to this geometry.
abstract  Geometry.Type getType()
          Returns the geometry type.
 boolean hasAttribute(int semantics)
          A shortcut for getDescription().hasAttribute()
 boolean hasID()
          Returns true if this Geometry has an ID attribute
 boolean hasM()
          Returns true if this Geometry has an M attribute
 boolean hasZ()
          Returns true if this Geometry has the Z attribute
static boolean isArea(int type)
          Indicates if the integer value of the enumeration is an area (dimension 2).
abstract  boolean isEmpty()
          IsEmpty returns TRUE when the Geometry object does not contain geometric information beyond its original initialization state.
static boolean isLinear(int type)
          Indicates if the integer value of the enumeration is linear (dimension 1).
static boolean isMultiPath(int type)
          Indicates if the integer value of the enumeration is a multipath (ie, line or area).
static boolean isMultiVertex(int type)
          Indicates if the integer value of the enumeration is a multivertex (ie, multipoint, line, or area).
static boolean isPoint(int type)
          Indicates if the integer value of the enumeration is a point type (dimension 0).
static boolean isSegment(int type)
          Indicates if the integer value of the enumeration is a segment.
abstract  void queryEnvelope(Envelope env)
          Returns the axis aligned bounding box of the geometry.
abstract  void queryEnvelope2D(Envelope2D env)
          Returns tight bbox of the Geometry in X, Y plane.
abstract  Envelope1D queryInterval(int semantics, int ordinate)
          Returns the min and max attribute values at the ordinate of the Geometry
 void queryLooseEnvelope2D(Envelope2D env)
          Returns the conservative bbox of the Geometry in X, Y plane.
abstract  void setEmpty()
          Returns the geometry to its original initialization state by releasing all data referenced by the geometry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getType

public abstract Geometry.Type getType()
Returns the geometry type.

Returns:
Returns the geometry type.

getDimension

public abstract int getDimension()
Returns the topological dimension of the geometry object based on the geometry's type.

Returns 0 for point and multipoint.

Returns 1 for lines and polylines.

Returns 2 for polygons and envelopes

Returns 3 for objects with volume

Returns:
Returns the integer value of the dimension of geometry.

getDescription

public VertexDescription getDescription()
Returns the VertexDescription of this geomtry.


hasAttribute

public boolean hasAttribute(int semantics)
A shortcut for getDescription().hasAttribute()


addAttribute

public void addAttribute(int semantics)
Adds a new attribute to the Geometry.

Parameters:
semantics -

dropAttribute

public void dropAttribute(int semantics)
Drops an attribute from the Geometry. Dropping the attribute is equivalent to setting the attribute to the default value for each vertex, However, it is faster and the result Geometry has smaller memory footprint and smaller size when persisted.


dropAllAttributes

public void dropAllAttributes()
Drops all attributes from the Geometry with exception of POSITON.


queryInterval

public abstract Envelope1D queryInterval(int semantics,
                                         int ordinate)
Returns the min and max attribute values at the ordinate of the Geometry


queryEnvelope

public abstract void queryEnvelope(Envelope env)
Returns the axis aligned bounding box of the geometry.

Parameters:
env - The envelope to return the result in.

queryEnvelope2D

public abstract void queryEnvelope2D(Envelope2D env)
Returns tight bbox of the Geometry in X, Y plane.


queryLooseEnvelope2D

public void queryLooseEnvelope2D(Envelope2D env)
Returns the conservative bbox of the Geometry in X, Y plane. This is a faster method than QueryEnvelope2D. However, the bbox could be larger than the tight box.


isEmpty

public abstract boolean isEmpty()
IsEmpty returns TRUE when the Geometry object does not contain geometric information beyond its original initialization state.

Returns:
boolean Returns TRUE if this geometry is empty.

setEmpty

public abstract void setEmpty()
Returns the geometry to its original initialization state by releasing all data referenced by the geometry.


applyTransformation

public abstract void applyTransformation(Transformation2D transform)
Applies 2D affine transformation in XY plane.

Parameters:
transform - The affine transformation to be applied to this geometry.

createInstance

public abstract Geometry createInstance()
Creates an instance of an empty geometry of the same type.


copyTo

public abstract void copyTo(Geometry dst)
Copies this geometry to another geometry of the same type. The result geometry is an exact copy.

Throws:
GeometryException - invalid_argument if the geometry is of different type.

calculateArea2D

public double calculateArea2D()
Calculates the area of the geometry. If the spatial reference is a Geographic Coordinate System (WGS84) then the 2D area calculation is defined in angular units.

Returns:
A double value representing the 2D area of the geometry.

calculateLength2D

public double calculateLength2D()
Calculates the length of the geometry. If the spatial reference is a Geographic Coordinate System (a system where coordinates are defined using angular units such as longitude and latitude) then the 2D distance calculation is returned in angular units. In cases where length must be calculated on a Geographic Coordinate System consider the using the geodeticLength method on the GeometryEngine

Returns:
A double value representing the 2D length of the geometry.

_getImpl

protected Object _getImpl()

hasZ

public boolean hasZ()
Returns true if this Geometry has the Z attribute

Returns:
true if this Geometry has the Z attribute

addM

public void addM()
Adds the M attribute to this Geometry


hasM

public boolean hasM()
Returns true if this Geometry has an M attribute

Returns:
true if this Geometry has an M attribute

addID

public void addID()
Adds the ID attribute to this Geometry


hasID

public boolean hasID()
Returns true if this Geometry has an ID attribute

Returns:
true if this Geometry has an ID attribute

getDimensionFromType

public static int getDimensionFromType(int type)
Returns this geometry's dimension.

Returns 0 for point and multipoint.

Returns 1 for lines and polylines.

Returns 2 for polygons and envelopes

Returns 3 for objects with volume

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
The integer dimension of this geometry.

isPoint

public static boolean isPoint(int type)
Indicates if the integer value of the enumeration is a point type (dimension 0).

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry is a point.

isLinear

public static boolean isLinear(int type)
Indicates if the integer value of the enumeration is linear (dimension 1).

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry is a line.

isArea

public static boolean isArea(int type)
Indicates if the integer value of the enumeration is an area (dimension 2).

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry is a polygon.

isSegment

public static boolean isSegment(int type)
Indicates if the integer value of the enumeration is a segment.

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry is a segment.

isMultiVertex

public static boolean isMultiVertex(int type)
Indicates if the integer value of the enumeration is a multivertex (ie, multipoint, line, or area).

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry has multiple vertices.

isMultiPath

public static boolean isMultiPath(int type)
Indicates if the integer value of the enumeration is a multipath (ie, line or area).

Parameters:
type - The integer value from geometry enumeration. You can use the method Geometry.Type.value() to get at the integer value.
Returns:
TRUE if the geometry is a multipath.

copy

public Geometry copy()
Creates a copy of the geometry.

Returns:
Returns a copy of this geometry.

getStateFlag

public int getStateFlag()
The stateFlag value changes with changes applied to this geometry. This allows the user to keep track of the geometry's state.

Returns:
The state of the geometry.


Copyright © 2013. All Rights Reserved.