# geos::geom Namespace Reference

Contains the `Geometry` interface hierarchy and supporting classes. More...

## Classes

class | Coordinate
| Coordinate is the lightweight class used to store coordinates. More...
struct | CoordinateLessThen
| Strict weak ordering Functor for Coordinate. More...
class | CoordinateArraySequence
| The default implementation of CoordinateSequence. More...
class | CoordinateArraySequenceFactory
| Creates CoordinateSequences internally represented as an array of Coordinates. More...
class | CoordinateFilter
class | CoordinateList
class | CoordinateSequence
| The internal representation of a list of coordinates inside a Geometry. More...
class | CoordinateSequenceFactory
| An object that knows how to build a particular implementation of CoordinateSequence from an array of Coordinates. More...
class | Dimension
| Constants representing the dimensions of a point, a curve and a surface. More...
class | Envelope
| An Envelope defines a rectangulare region of the 2D coordinate plane. More...
class | Geometry
| Basic implementation of Geometry, constructed and destructed by GeometryFactory. More...
class | GeometryCollection
| Represents a collection of heterogeneous Geometry objects. More...
class | GeometryComponentFilter
class | GeometryFactory
| Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geometry objects. More...
class | GeometryFilter
| Geometry classes support the concept of applying a Geometry filter to the Geometry. More...
class | GeometryList
| Manager of Geometry pointers. Owns the Geometries. More...
class | IntersectionMatrix
| Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. More...
class | LinearRing
| Basic implementation of `LinearRing`. More...
class | LineSegment
class | LineString
| Basic implementation of LineString. More...
class | Location
| Constants representing the location of a point relative to a geometry. More...
class | MultiLineString
| Basic implementation of MultiLineString objects. More...
class | MultiPoint
| Models a collection of Point objects. More...
class | MultiPolygon
| Basic implementation of `MultiPolygon`. More...
class | Point
| Basic implementation of Point. More...
class | Polygon
| Represents a linear polygon, which may include holes. More...
class | PrecisionModel
| Specifies the precision model of the Coordinate in a Geometry. More...
class | Triangle
| Represents a planar triangle, and provides methods for calculating various properties of triangles. More...

## Typedefs

typedef CoordinateArraySequence | DefaultCoordinateSequence
| This is for backward API compatibility.
typedef CoordinateArraySequenceFactory | DefaultCoordinateSequenceFactory
| This is for backward API compatibility.

## Enumerations

enum | GeometryTypeId { GEOS_POINT, GEOS_LINESTRING, GEOS_LINEARRING, GEOS_POLYGON, GEOS_MULTIPOINT, GEOS_MULTILINESTRING, GEOS_MULTIPOLYGON, GEOS_GEOMETRYCOLLECTION }
| Geometry types. More...

## Functions

bool | check_valid (const Geometry &g, const std::string &label)
template<class BinOp>
std::auto_ptr< Geometry > | SnapOp (const Geometry *g0, const Geometry *g1, BinOp _Op)
| Apply a binary operation to the given geometries after snapping them to each other after common-bits removal.
template<class BinOp>
std::auto_ptr< Geometry > | BinaryOp (const Geometry *g0, const Geometry *g1, BinOp _Op)
std::ostream & | operator<< (std::ostream &os, const Coordinate &c)
| Output function.
bool | operator== (const Coordinate &a, const Coordinate &b)
| Equality operator for Coordinate. 2D only.
bool | operator!= (const Coordinate &a, const Coordinate &b)
| Inequality operator for Coordinate. 2D only.
std::ostream & | operator<< (std::ostream &os, const CoordinateList &cl)
std::ostream & | operator<< (std::ostream &os, const CoordinateSequence &cs)
bool | operator== (const CoordinateSequence &s1, const CoordinateSequence &s2)
bool | operator!= (const CoordinateSequence &s1, const CoordinateSequence &s2)
bool | operator== (const Envelope &a, const Envelope &b)
| Checks if two Envelopes are equal (2D only check).
std::ostream & | operator<< (std::ostream &os, const Geometry &geom)
| Write the Well-known Binary representation of this Geometry as an HEX string to the given output stream.
std::string | geosversion ()
| Return current GEOS version.
std::string | jtsport ()
| Return the version of JTS this GEOS release has been ported from.
std::ostream & | operator<< (std::ostream &os, const IntersectionMatrix &im)
std::ostream & | operator<< (std::ostream &o, const LineSegment &l)
bool | operator== (const LineSegment &a, const LineSegment &b)
| Checks if two LineSegment are equal (2D only check).

## Detailed Description

Contains the `Geometry` interface hierarchy and supporting classes.

The Java Topology Suite (JTS) is a Java API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. JTS is int ended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.

JTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case J TS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.

## Package Specification

- Java Topology Suite Technical Specifications
- OpenGIS Simple Features Specification for SQL

## Enumeration Type Documentation

enum geos::geom::GeometryTypeId

Geometry types.

Enumerator:

  GEOS_POINT | a point
  GEOS_LINESTRING | a linestring
  GEOS_LINEARRING | a linear ring (linestring with 1st point == last point)
  GEOS_POLYGON | a polygon
  GEOS_MULTIPOINT | a collection of points
  GEOS_MULTILINESTRING | a collection of linestrings
  GEOS_MULTIPOLYGON | a collection of polygons
  GEOS_GEOMETRYCOLLECTION | a collection of heterogeneus geometries