geos::geom Namespace Reference

## Namespaces

namespace | prep
| Contains classes and interfaces implementing algorithms that optimize the performance of repeated calls to specific geometric operations.
namespace | util
| Provides classes that parse and modify Geometry objects.

## Classes

class | CircularArc
class | Coordinate
| Coordinate is the lightweight class used to store coordinates. More...
struct | CoordinateLessThan
| Strict weak ordering Functor for Coordinate. More...
class | CoordinateFilter
| Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geometry. More...
class | CoordinateList
| A list of `Coordinate`s, which may be set to prevent repeated coordinates from occurring in the list. More...
class | CoordinateSequence
| The internal representation of a list of coordinates inside a Geometry. More...
class | CoordinateSequenceFilter
| Interface for classes which provide operations that can be applied to the coordinates in a CoordinateSequence. More...
class | CoordinateSequences
| The CoordinateSequences class provides utility methods to operate on CoordinateSequences. Methods that do not benefit from access to the CoordinateSequence internals can be placed here. More...
class | Dimension
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 | IntersectionMatrix
| Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. More...
class | LinearRing
| Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple. More...
class | LineSegment
class | LineString
class | MultiLineString
| Models a collection of LineStrings. More...
class | MultiPoint
class | MultiPolygon
class | Point
class | Polygon
| Represents a linear polygon, which may include holes. More...
class | Position
| A Position indicates the position of a Location relative to a graph component (Node, Edge, or Area). More...
class | PrecisionModel
| Specifies the precision model of the Coordinate in a Geometry. More...
class | Quadrant
| Utility functions for working with quadrants. More...
class | Surface
class | Triangle
| Represents a planar triangle, and provides methods for calculating various properties of triangles. More...

## Enumerations

enum class | CoordinateType : std::uint8_t { XY , XYZ , XYZM , XYM }
enum class | Ordinate : std::uint8_t { X , Y , Z , M }
enum | GeometryTypeId : int { GEOS_POINT , GEOS_LINESTRING , GEOS_LINEARRING , GEOS_POLYGON , GEOS_MULTIPOINT , GEOS_MULTILINESTRING , GEOS_MULTIPOLYGON , GEOS_GEOMETRYCOLLECTION , GEOS_CIRCULARSTRING , GEOS_COMPOUNDCURVE , GEOS_CURVEPOLYGON , GEOS_MULTICURVE , GEOS_MULTISURFACE }
| Geometry types. More...
enum | GeometrySortIndex { SORTINDEX_POINT = 0 , SORTINDEX_MULTIPOINT = 1 , SORTINDEX_LINESTRING = 2 , SORTINDEX_LINEARRING = 3 , SORTINDEX_MULTILINESTRING = 4 , SORTINDEX_POLYGON = 5 , SORTINDEX_MULTIPOLYGON = 6 , SORTINDEX_GEOMETRYCOLLECTION = 7 , SORTINDEX_CIRCULARSTRING = 8 , SORTINDEX_COMPOUNDCURVE = 9 , SORTINDEX_CURVEPOLYGON = 10 , SORTINDEX_MULTICURVE = 11 , SORTINDEX_MULTISURFACE = 12 }
enum class | Location : char { NONE = (char)(-1) , INTERIOR = 0 , BOUNDARY = 1 , EXTERIOR = 2 }
| Constants representing the location of a point relative to a geometry. More...

## Functions

std::ostream & | operator<< (std::ostream &, const CoordinateType)
bool | operator< (const CoordinateXY &a, const CoordinateXY &b)
| Strict weak ordering operator for Coordinate.
template<>
double | CoordinateXY::get< Ordinate::X > () const
template<>
double | CoordinateXY::get< Ordinate::Y > () const
template<>
double | CoordinateXY::get< Ordinate::Z > () const
template<>
double | CoordinateXY::get< Ordinate::M > () const
template<>
double | Coordinate::get< Ordinate::X > () const
template<>
double | Coordinate::get< Ordinate::Y > () const
template<>
double | Coordinate::get< Ordinate::Z > () const
template<>
double | Coordinate::get< Ordinate::M > () const
template<>
double | CoordinateXYM::get< Ordinate::X > () const
template<>
double | CoordinateXYM::get< Ordinate::Y > () const
template<>
double | CoordinateXYM::get< Ordinate::Z > () const
template<>
double | CoordinateXYM::get< Ordinate::M > () const
template<>
double | CoordinateXYZM::get< Ordinate::X > () const
template<>
double | CoordinateXYZM::get< Ordinate::Y > () const
template<>
double | CoordinateXYZM::get< Ordinate::Z > () const
template<>
double | CoordinateXYZM::get< Ordinate::M > () const
std::ostream & | operator<< (std::ostream &os, const CoordinateXY &c)
std::ostream & | operator<< (std::ostream &os, const Coordinate &c)
std::ostream & | operator<< (std::ostream &os, const CoordinateXYM &c)
std::ostream & | operator<< (std::ostream &os, const CoordinateXYZM &c)
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)
std::ostream & | operator<< (std::ostream &os, const Envelope &o)
| Output operator.
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::unique_ptr< Geometry > | HeuristicOverlay (const Geometry *g0, const Geometry *g1, int opCode)
std::ostream & | operator<< (std::ostream &os, const IntersectionMatrix &im)
std::ostream & | operator<< (std::ostream &os, const Location &loc)

## 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

## GeometryTypeId

enum geos::geom::GeometryTypeId : int

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

## Location

enum class geos::geom::Location : char

strong

Constants representing the location of a point relative to a geometry.

They can also be thought of as the row or column index of a DE-9IM matrix. For a description of the DE-9IM, see the [OpenGIS Simple Features Specification for SQL](http://www.opengis.org/techno/specs.htm").

Enumerator
NONE | Used for uninitialized location values.
INTERIOR | DE-9IM row index of the interior of the first geometry and column index of the interior of the second geometry. Location value for the interior of a geometry.
BOUNDARY | DE-9IM row index of the boundary of the first geometry and column index of the boundary of the second geometry. Location value for the boundary of a geometry.
EXTERIOR | DE-9IM row index of the exterior of the first geometry and column index of the exterior of the second geometry. Location value for the exterior of a geometry.