GEOS  3.13.0dev
Namespaces | Classes | Enumerations | Functions
geos::geom Namespace Reference

Namespaces

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

Classes

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 Coordinates, which may be set to prevent repeated coordinates from occuring 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  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 {
  GEOS_POINT , GEOS_LINESTRING , GEOS_LINEARRING , GEOS_POLYGON ,
  GEOS_MULTIPOINT , GEOS_MULTILINESTRING , GEOS_MULTIPOLYGON , GEOS_GEOMETRYCOLLECTION
}
 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
}
 
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< GeometryHeuristicOverlay (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

Enumeration Type Documentation

◆ 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

◆ Location

enum 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.

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.