org.postgis

## Class Geometry

- java.lang.Object
- - org.postgis.Geometry

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  ComposedGeom, Point

    public abstract class Geometry
    extends Object
    implements Serializable

The base class of all geometries

See Also:
  Serialized Form

### Field Summary

Fields
`static String[]` `ALLTYPES`
`int` `dimension` The dimensionality of this feature (2,3)
`static int` `GEOMETRYCOLLECTION` The OGIS geometry type number for feature collections.
`boolean` `haveMeasure` Do we have a measure (4th dimension)
`static int` `LINEARRING` Fake type for linear ring
`static int` `LINESTRING` The OGIS geometry type number for lines.
`static int` `MULTILINESTRING` The OGIS geometry type number for aggregate lines.
`static int` `MULTIPOINT` The OGIS geometry type number for aggregate points.
`static int` `MULTIPOLYGON` The OGIS geometry type number for aggregate polygons.
`static int` `POINT` The OGIS geometry type number for points.
`static int` `POLYGON` The OGIS geometry type number for polygons.
`int` `srid` The spacial reference system id of this geometry, default is no srid
`int` `type` The OGIS geometry type of this feature.
`static int` `UNKNOWN_SRID` Official UNKNOWN srid value

### Constructor Summary

Constructors
`protected` `Geometry(int type)` Constructor for subclasses

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`boolean` `checkConsistency()` Do some internal consistency checks on the geometry.
`boolean` `equals(Geometry other)` geometry specific equals implementation - only defined for non-null values
`boolean` `equals(Object other)` java.lang.Object equals implementation
`protected abstract boolean` `equalsintern(Geometry other)` Whether test coordinates for geometry - subclass specific code Implementors can assume that dimensin, type, srid and haveMeasure are equal, other != null and other is the same subclass.
`int` `getDimension()` Queries the number of geometric dimensions of this geometry.
`abstract Point` `getFirstPoint()` Same as getPoint(0);
`abstract Point` `getLastPoint()` Same as getPoint(numPoints()-1);
`abstract Point` `getPoint(int n)` Get the nth Point of the geometry
`int` `getSrid()` The OGIS geometry type number of this geometry.
`int` `getType()` The OGIS geometry type number of this geometry.
`String` `getTypeString()` Return the Type as String
`static String` `getTypeString(int type)` The Text representations of the geometry types
`String` `getValue()` backwards compatibility method
`int` `hashCode()` java.lang.Object hashCode implementation
`protected String` `initSRID(String value)` Splits the SRID=4711; part of a EWKT rep if present and sets the srid.
`protected abstract void` `innerWKT(StringBuffer SB)` Render the "inner" part of the WKT (inside the brackets) into the StringBuffer.
`boolean` `isMeasured()` Returns whether we have a measure
`protected void` `mediumWKT(StringBuffer sb)` Render the WKT without the type name, but including the brackets into the StringBuffer
`abstract int` `numPoints()` Return the number of Points of the geometry
`void` `outerWKT(StringBuffer sb)`
`void` `outerWKT(StringBuffer sb, boolean putM)` Render the WKT version of this Geometry (without SRID) into the given StringBuffer.
`static int` `parseSRID(int srid)` Parse a SRID value, anything `<= 0` is unknown
`void` `setSrid(int srid)` Recursively sets the srid on this geometry and all contained subgeometries
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### LINEARRING

    public static final int LINEARRING

Fake type for linear ring

See Also:
  Constant Field Values

#### POINT

    public static final int POINT

The OGIS geometry type number for points.

See Also:
  Constant Field Values

#### LINESTRING

    public static final int LINESTRING

The OGIS geometry type number for lines.

See Also:
  Constant Field Values

#### POLYGON

    public static final int POLYGON

The OGIS geometry type number for polygons.

See Also:
  Constant Field Values

#### MULTIPOINT

    public static final int MULTIPOINT

The OGIS geometry type number for aggregate points.

See Also:
  Constant Field Values

#### MULTILINESTRING

    public static final int MULTILINESTRING

The OGIS geometry type number for aggregate lines.

See Also:
  Constant Field Values

#### MULTIPOLYGON

    public static final int MULTIPOLYGON

The OGIS geometry type number for aggregate polygons.

See Also:
  Constant Field Values

#### GEOMETRYCOLLECTION

    public static final int GEOMETRYCOLLECTION

The OGIS geometry type number for feature collections.

See Also:
  Constant Field Values

#### ALLTYPES

    public static final String[] ALLTYPES

#### dimension

    public int dimension

The dimensionality of this feature (2,3)

#### haveMeasure

    public boolean haveMeasure

Do we have a measure (4th dimension)

#### type

    public final int type

The OGIS geometry type of this feature. this is final as it never changes, it is bound to the subclass of the instance.

#### UNKNOWN_SRID

    public static final int UNKNOWN_SRID

Official UNKNOWN srid value

See Also:
  Constant Field Values

#### srid

    public int srid

The spacial reference system id of this geometry, default is no srid

### Constructor Detail

#### Geometry

    protected Geometry(int type)

Constructor for subclasses

Parameters:
  `type` - has to be given by all subclasses.

### Method Detail

#### getTypeString

    public static String getTypeString(int type)

The Text representations of the geometry types

#### parseSRID

    public static int parseSRID(int srid)

Parse a SRID value, anything `<= 0` is unknown

#### hashCode

    public int hashCode()

java.lang.Object hashCode implementation

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals(Object other)

java.lang.Object equals implementation

Overrides:
  `equals` in class `Object`

#### equals

    public boolean equals(Geometry other)

geometry specific equals implementation - only defined for non-null values

#### equalsintern

    protected abstract boolean equalsintern(Geometry other)

Whether test coordinates for geometry - subclass specific code Implementors can assume that dimensin, type, srid and haveMeasure are equal, other != null and other is the same subclass.

#### numPoints

    public abstract int numPoints()

Return the number of Points of the geometry

#### getPoint

    public abstract Point getPoint(int n)

Get the nth Point of the geometry

Parameters:
  `n` - the index of the point, from 0 to numPoints()-1;
Throws:
  `ArrayIndexOutOfBoundsException` - in case of an emtpy geometry or bad index.

#### getFirstPoint

    public abstract Point getFirstPoint()

Same as getPoint(0);

#### getLastPoint

    public abstract Point getLastPoint()

Same as getPoint(numPoints()-1);

#### getType

    public int getType()

The OGIS geometry type number of this geometry.

#### getTypeString

    public String getTypeString()

Return the Type as String

#### isMeasured

    public boolean isMeasured()

Returns whether we have a measure

#### getDimension

    public int getDimension()

Queries the number of geometric dimensions of this geometry. This does not include measures, as opposed to the server.

Returns:
  The dimensionality (eg, 2D or 3D) of this geometry.

#### getSrid

    public int getSrid()

The OGIS geometry type number of this geometry.

#### setSrid

    public void setSrid(int srid)

Recursively sets the srid on this geometry and all contained subgeometries

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### outerWKT

    public void outerWKT(StringBuffer sb,
                         boolean putM)

Render the WKT version of this Geometry (without SRID) into the given StringBuffer.

#### outerWKT

    public final void outerWKT(StringBuffer sb)

#### mediumWKT

    protected void mediumWKT(StringBuffer sb)

Render the WKT without the type name, but including the brackets into the StringBuffer

#### innerWKT

    protected abstract void innerWKT(StringBuffer SB)

Render the "inner" part of the WKT (inside the brackets) into the StringBuffer.

#### getValue

    public String getValue()

backwards compatibility method

#### checkConsistency

    public boolean checkConsistency()

Do some internal consistency checks on the geometry. Currently, all Geometries must have a valid dimension (2 or 3) and a valid type. 2-dimensional Points must have Z=0.0, as well as non-measured Points must have m=0.0. Composed geometries must have all equal SRID, dimensionality and measures, as well as that they do not contain NULL or inconsistent subgeometries. BinaryParser and WKTParser should only generate consistent geometries. BinaryWriter may produce invalid results on inconsistent geometries.

Returns:
  true if all checks are passed.

#### initSRID

    protected String initSRID(String value)

Splits the SRID=4711; part of a EWKT rep if present and sets the srid.

Returns:
  value without the SRID=4711; part